[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по базе с методом POST
pavel24071988
Здравствуйте господа!
Я конечно понимаю что решение есть, но я его вот уже второй день самостоятельно найти не могу, так ВОТ:

(Script) есть форма, на ней input type="text" после ввода текста, и нажатии кнопки (type="submit") Используется метод POST. Открывается php страница, на которой я хочу видеть строки из базы данных в которых и встречается данная глобальная переменная. В общем-то поиск. Облазил весь интернет - ничего не нашел (. Помогите кодом. К базе я подключаюсь в этом файле, с этим проблем нет - самая главная проблема в переменной POST и соответственно sql запрос на поиск (select * from `t1` where `string1` = '$_POST('name')') - некорректен ??????

У МЕНЯ ОГРОМНАЯ ПРОБЛЕМА С СИНТАКСИСОМ.



Спустя 12 минут, 42 секунды (20.06.2011 - 19:49) SoMeOnE написал(а):
pavel24071988
Код покажите. Без этого наврядли Вам здесь кто то поможет...

Спустя 8 минут, 34 секунды (20.06.2011 - 19:58) pavel24071988 написал(а):
Цитата (SoMeOnE @ 20.06.2011 - 16:49)
pavel24071988
Код покажите. Без этого наврядли Вам здесь кто то поможет...

Скрипт :

<form name="form1" method="post" action="http://webo.h16.ru/scriptsearch.php">
Введите имя:<br />
<
label>
<
input type="text" name="string1" id="textfield">
</
label>
<
br />
<
input name="" type="submit" value="Отправить"/>

</
form>



// Подключение к СУБД (Здесь соответственно и парои там всякие - тут все работает)
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());


mysql_select_db(DB, $link);


mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");


$sql = "SELECT * FROM `table` where `pole1` [b]='".$_POST['name']."'");[/b]
// Скармливаем наш запрос MySQL
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
echo '$result';
?>




Проблема с синтаксисом где - то здесь, но где ? Или тат вообще все неправильно?

Спустя 2 минуты, 58 секунд (20.06.2011 - 20:01) SoMeOnE написал(а):
pavel24071988
Ни посчитайте за назойливость, но лучше оформить код тегами php. Что бы синтаксис подсветился. Так легче разобраться.

Спустя 8 минут, 19 секунд (20.06.2011 - 20:09) SoMeOnE написал(а):
pavel24071988
'".$_POST['name']."'


'{$_POST['name']}'


И где открывающая скобка?

Или же лучше убрать просто закрывающую.

Спустя 9 минут, 33 секунды (20.06.2011 - 20:18) Админ написал(а):
[b]='".$_POST['name']."'");[/b]

это не понятно
А чё не работает ?
какие ошибки ?
просто в переменную result возвращает буль либо true либо false

Спустя 4 минуты, 19 секунд (20.06.2011 - 20:23) pavel24071988 написал(а):
Когда писал на форуме

Вот так наверное оончательно правильно
$sql = "SELECT * FROM `table` where `pole1`='".$_POST['name']."'"; ???

Спустя 1 минута, 16 секунд (20.06.2011 - 20:24) Админ написал(а):
$sql = "SELECT * FROM `table` where `pole1`='".$_POST['name']."'"; 

правильной дорогой идёшь товарищ

Спустя 2 минуты, 12 секунд (20.06.2011 - 20:26) SoMeOnE написал(а):
$sql = "SELECT * FROM `table` where `pole1`='{$_POST['name']}'";

Так вроде бы лучше. Поменьше кавычек. Более читабельно.

Спустя 1 час, 29 минут, 26 секунд (20.06.2011 - 21:56) pavel24071988 написал(а):
(то что я хотел и пытался описать)

Вообщем ребят, кому интересно - решение проблемы :
Без html скрипта



<?php

// Константы для подключения к СУБД
define("HOST","...");
define("USER","...");
define("PASS","...");
define("DB","...");

// Подключение к СУБД
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());

// Выбираем базу данных
mysql_select_db(DB, $link);

//Устанавливаем кодировку UTF8
mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");

// Формируем строку для запроса к нашей базе данных
// Не забывайте обрамлять имена таблиц и полей обратными кавычками `TABLE`

// Скармливаем наш запрос MySQL

$result = mysql_query("SELECT * FROM con WHERE s='".$_POST['test']."'"); // Запрос к таблице нужной (сам составь)

/* Обратите внимание на конструкцию
or die(mysql_error() ."<br/>". $sql) она Вам поможет в случае ошибки
в Вашем SQL запросле или отсутствия соединения с Mysql

Выводим данные из таблицы в цикле WHILE(), не вкоем случае не используйте
DO WHILE() эта конструкция предназначена совсем для других действий
*/

// Рисуем табличку

$table = "<table border=3 width=30% align=center>\n";

while ($row = mysql_fetch_assoc($result))
{
/* Прошу обратить внимание на функцию MYSQL_FETCH_ASSOC()
Выбрана она не случайно, данная функция возвратит ассоциативный
массив с которым будем работать.

Многие делают ошибку в плане оптимизации и использую функцию
MYSQL_FETCH_ARRAY() данная функция вернет два массива,
один ассоциативный другой индексный тем самым мы увеличим потрябляемую
память скриптом.
*/


$table .= "<tr>\n";

$table .= "<td>".$row['sum1']."</td>\n";
$table .= "<td>".$row['sum2']."</td>\n";
$table .= "<td>".$row['sum3']."</td>\n";

$table .= "</tr>\n";
}

$table .= "</table>\n";

// Выводим заполненую таблицу на экран
echo $table;



?>



Все получилось, да ещё и с цыклом !!!!!!! Круть ваще....
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.