Поиск всех

phpusershik

Using PHP
Поиск всех

У меня есть таблица description и там 2 строки desc_id (числа) и description (и числа и слова вроде: банан, яблоко, груша, банан, киви) и я делаю поиск типа банан но он выводит первый ему попавшийся строку description а не всех.
Допустим слово банан есть у desc_id 1 и 5.
То он после поиска показывает только банан с desc_id 1 но 5-го он не показывает?
Поиск вроде этого:

$sql="SELECT desc_id,description FROM description WHERE description LIKE '%$desc%'";

Заранее благодарен.
 

Falc

Новичок
phpusershik
>>Поиск вроде этого:

>>$sql="SELECT desc_id,description FROM description WHERE description LIKE '%$desc%'";

Поиск вроде этого должен возвращать все строки.
 

phpusershik

Using PHP
Я забыл уточнит у меня:

банан,а
банан,б
банан,с
и т.д.

При поиске он выводит только первый банан,а.

???
 

Nime

Guest
Ты в консоли mysql проверяешь или через свой скрипт?
 

Falc

Новичок
Nime
есть подозрение что в консоли такое не сработает:
$sql="SELECT desc_id,description FROM description WHERE description LIKE '%$desc%'";

:)

-~{}~ 24.03.04 15:58:

phpusershik
Пркажи
echo $sql;
 

phpusershik

Using PHP
Он такой:
$sql="SELECT desc_id,description FROM description WHERE description LIKE '%$desc%'";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{$key_id =$row["desc_id"];
}
if ($key_id=="")
echo "<br><center><i>Erorr!";
Ты в консоли mysql проверяешь или через свой скрипт?
Т.е я указал делаю как выше из пхп скрипта.
что у тебя в $desc ?
Т.е. что я ввел на форме поиска этот и $desс передаёт это и в запрос.
 

Nime

Guest
Originally posted by Falc
Nime
есть подозрение что в консоли такое не сработает:
$sql="SELECT desc_id,description FROM description WHERE description LIKE '%$desc%'";

:)

Ммм, поторопился :) Я хотел сказать, что надо бы это в консоли проверить :)
 

Nime

Guest
Ну вот и всё решилось. На будущее, проверяй корректность запроса в mysql...
 

phpusershik

Using PHP
Originally posted by KES
а в rows какое значение?
если делать echo "$rows"; то он пишет цифру количества найденных соответствующую поиску слова но выводит первую а остальных нет.

-~{}~ 25.03.04 16:33:

$sql = "SELECT description FROM description WHERE desc_id='$key_id'";

$result = @mysql_query($sql,$db);

for ($i = 0; $i < @mysql_num_rows($result); $i++) {

$description = @mysql_result($result2, $i, "description");

echo "$description";
 

KES

Guest
Попробуй так:
PHP:
$sql = "SELECT description FROM description WHERE desc_id='$key_id'";
$result = mysql_query($sql) or die('query error');
$rowCnt= mysql_num_rows($result) or die('getNumRows error');
for ($i = 0; $i < $rowCnt; $i++) 
  {
  $description = mysql_result($result, $i, "description");
  echo $description; 
  }
если делать echo "$rows"; то он пишет цифру количества найденных соответствующую поиску слова но выводит первую а остальных нет.
Если пишет 10, то значит 10 и выбралось, просто у тебя ошибка в коде. Например в этом, который ты привел, ты результат помещаешь в $result, а выводишь с $result2!!! Проверь внимательней свой код.
 
Сверху