|
|
|
| Подскажите как осуществить такой запрос. У меня есть выпадающее меню, где пользователь делает определеный выбор за тем вводит в поле для ввода номер и производит поиск.все вроде работает, проблема возникает тогда когда происходит запрос. Запрос выглядит так
if(!empty($_POST['poisk']))
{
$marka=$_POST['marka'];
$cod=$_POST['number'];
# подключаемся к базе;
include "incl/connect.php";
$query = mysql_query ("select * from $marka where match (kod) against ('$cod')");
if(mysql_num_rows($query)>0)
{
echo "<table border=1 cellpadding=0 и т.д.
|
как осуществить правильный запрос, если вместо $marka подставить прямое имя таблицы то все работает. И еще когда подставлена переменая выводится сообщение
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /sata1/home/users/sait.ru/index.php on line 62
Не найдено
|
у меня на компе ищет, но сообщение mysql_num_rows всеровно выходит, а вот на хосте вообще не ищет.
И еще один момент когда поиск выполнен, страницу сколько не перезагружай все остается я имею ввиду результаты. как перезагрузить страницу что бы очистить? | |
|
|
|
|
|
|
|
для: magic
(02.06.2009 в 12:40)
| | А в ответ тишина, не кто и не поможет :-) | |
|
|
|
|
|
|
|
для: magic
(02.06.2009 в 14:39)
| | ну насчёт подставить значение переменной (как например имя таблицы) в запрос у меня так до сих пор и не получилось, приходится программно формировать такие моменты, т.е. не с использованием переменной а именно вставкой имени таблицы
было однажды такое желание в процедуре подставлять имя таблицы в запрос на отбор данных (select) посредством подстановки значения переменной, такое желание отпало :) | |
|
|
|
|
|
|
|
для: ronin80
(02.06.2009 в 15:01)
| | Ну как если надо, как можно выйти из этой ситуации | |
|
|
|
|
|
|
|
для: magic
(02.06.2009 в 15:12)
| | A так?
$query="SELECT * FROM `".$marka."` WHERE match (kod) against ('$cod')";
$res = mysql_query($query);
|
| |
|
|
|
|
|
|
|
для: Valick
(02.06.2009 в 15:28)
| | Не помогает я так тоже делал. | |
|
|
|
|
|
|
|
для: magic
(02.06.2009 в 15:56)
| | Сейчас порылся у себя... нашёл вот, что..
// Имя таблицы
$table_name="work";
// Формируем запрос к БД
$query="SELECT *
FROM `$table_name` WHERE id_work=$id_work";
$name=mysql_query($query);
// Получаем имя первичного ключа
$id=trianon_name_id($name);
$res=type_table($name);
echo "<pre>";
print_r ($res);
echo "</pre>";
while ($row=mysql_fetch_assoc($name))
{
$keyval = $row[$id];
unset($row[$id]);
$new[$keyval]=$row;
}
|
пол года назад работало) | |
|
|
|
|
|
|
|
для: Valick
(02.06.2009 в 16:03)
| | Как так может быть, я вроде понял в чем дело только теперь мне не верится.
if(!empty($_POST['poisk']))
{
$marka=$_POST['marka'];
$cod=$_POST['number'];
# подключаемся к базе;
include "incl/connect.php";
$query = mysql_query ("select * from $marka where match (kod) against ('$cod')");
if(mysql_num_rows($query)>0)
{ и т..д
|
запрос $query пропускает код.
я спецально делал в нем синтаксические ошибки, причем критические, а код на них не реагирует. Вывод он его пропускает. Толькоу меня не укладывается в голове как такое может быть. до этого места все выводится и срабатывает. что интересно это происходит только на хосте. на локальной машине все работает как часики. Может кто знает, может хостеры что то выключают. | |
|
|
|
|
|
|
|
для: magic
(02.06.2009 в 14:39)
| | А в ответ тишина, не кто и не поможет :-) | |
|
|
|
|
|
|
|
для: magic
(02.06.2009 в 18:11)
| | Поставил в запросе такое or die(mysql_error()) теперь все прояснилось. во время этого запроса пишет что таких таблиц не существует (их несколько). Но таблицы есть и к БД подключение работает, потому что выше в коде я из другой таблицы в этой же БД беру данные. Что может быть почему скрипт не видит именно эти таблицы | |
|
|
|