Цикл while внутри оператора else не печатает все ответы

Я получил этот код, который связан с полем поиска на моей странице индекса:

<?php
ini_set('display_errors', 2);
$search = $_GET ['q'];
$conn = mysqli_connect("localhost", "root", "","release");
$query    = mysqli_query($conn,"SELECT * FROM game WHERE game_name LIKE '%". $search ."%'");
$foundnum = mysqli_fetch_assoc($query);
$count = count($foundnum['game_name']);if ($foundnum == 0) {
echo "No results found. Either this game doesn't exist, or we have yet to add it. Please contact us!";
}
else {
while($foundnum= mysqli_fetch_assoc($query))
{
echo "$count result(s) found!<p>";
echo"<pre/>";print_r($foundnum['game_name']);
echo"<pre/>";print_r($foundnum['game_release']);
}
}
?>

Все работает нормально без while, но поскольку некоторые поисковые запросы (например, «машина») должны печатать как Project CARS, так и Rise of Incarnates, мне нужно while-loop.

Я пытался положить whileпетля перед ifзаявление, но это тоже не работает. Что я делаю неправильно?

0

Решение

Я сделал некоторые исправления в вашем коде .. пожалуйста, повторите проверку, используя приведенный ниже код

Я пробовал код, используя мои таблицы базы данных, и он показывает правильные значения …

    <?php
ini_set('display_errors', 1);
$search = $_GET['q'];
$conn = mysqli_connect("localhost", "root", "", "release");
$query = mysqli_query($conn, "SELECT * FROM game WHERE game_name LIKE '%" . $search . "%'");
$count = mysqli_num_rows($query); // right way to find row count

if ($count == 0)
{
echo "No results found. Either this game doesn't exist, or we have yet to add it. Please contact us!";
}
else
{
while ($foundnum = mysqli_fetch_assoc($query))
{
echo "$count result(s) found!<p>";
echo"<pre>";
print_r($foundnum['game_name']);
echo"</pre><pre>";
print_r($foundnum['game_code']);
echo"</pre>";
}
}
?>

если вы хотите искать insensitively (т.е. игнорируя заглавные и строчные буквы), чем дайте мне знать .. Я обновлю код

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]