Форма поиска php правильно отображает все переменные на странице результатов, кроме id

У меня есть простая форма поиска, которая хорошо работает и дает результаты поиска на моей странице результатов поиска results1.php.

ОДНАКО, я не могу заставить эту страницу результатов правильно отображать идентификатор. Он просто повторяет «1» в качестве идентификатора значения для всех строк результатов. Но имена и любые другие данные, которые я хочу отображать, отражают правильное эхо. Почему не работает id? Это потому, что запрос не знает, какой идентификатор вернуть, потому что это запрос соединения? Я попробовал $ row ['casino.id'], но это тоже не сработало ...

Вот код:

//index.html page FORM
<form action = "results1.php" method = "GET">
<b>Store Type:</b><select name = "type">
<option value = "retail" selected>Retail
<option value = "wholesale">Wholesale
</select>
<br>
<b>Currenncy Choice:</b><select name = "currency">
<option value = "">Any
<option value = "bitcoin">Bitcoin
<option value = "Euros">Euros
<option value = "U.S. Dollars">US Dollars
</select>
<br>
</select>
<INPUT type = "submit" border = "0" value = "Submit" alt = "Submit">
</form>


//The results1.php page

$type = $_GET['type'];
$currency = $_GET['currency'];

$query = "(
SELECT * FROM stores
LEFT JOIN stores_banking SB ON stores.id=SB.stores_id
LEFT JOIN banking B ON  SB.banking_id = B.id
LEFT JOIN stores_gaming SG ON stores.id=CG.stores_id
LEFT JOIN gaming G ON  SG.gaming_id = G.id
WHERE 
('$type' IS NULL OR '$type' = '' OR G.type = '$type')
And
('$currency' IS NULL OR '$currency' = '' OR B.currency= '$currency')
GROUP BY stores.name
Order by stores.id
)";

$result = mysqli_query($link, $query);
echo "<table border='1' cellpadding='5' cellspacing='5'>
<tr>
<th>Name</th>
<th>id</th>
</tr>";

while ($row = mysqli_fetch_assoc($result)) {

echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['id'] . "</td>";    //NOT WORKING...always returns "1"
echo "</tr>";
}

mysqli_free_result($result);
echo "</table>";
mysqli_close($link);
?> 

Можете вы var_dump() свой $result var plz и показать нам результат?

kevinniel 11.03.2018 20:38

Конечно. Вот он: объект (mysqli_result) # 2 (5) {["current_field"] => int (0) ["field_count"] => int (30) ["lengths"] => NULL ["num_rows"] = > int (2) ["тип"] => int (0)}

user9473802 11.03.2018 20:40

Поскольку все ваши таблицы содержат идентификатор, поля будут называться tablename.id ... var_dump или print_r и сообщите нам свой результат

nitrex 11.03.2018 20:40

@ntirex Я только что поделился результатами var_dump в комментарии над вашим ...

user9473802 11.03.2018 20:43

Можете ли вы var_dump строки в вашем цикле while ($row ==mysqli_fetch_assoc($result)), также, пожалуйста

kevinniel 11.03.2018 20:44

и когда я меняю его на store.id, я получаю "Undefined index"

user9473802 11.03.2018 20:45

Можете ли вы использовать Print_r $ row внутри foreach и показать нам, что он будет отображать?

nitrex 11.03.2018 20:45

вот он, разбитый на 2 комментария, чтобы уместить все здесь: Array ([id] => 1 [name] => TestStore1 [rank] => 4 [link] => test.com [quality] => 98,7 [safe] = > Y [us] => Да [язык] => английский [бонус] => приветственный купон [live] => bi [crypto] => Y [mobile] => [скорость] => 3 подтверждения (2-10 минут ) [программное обеспечение] => базовое [продукты] => все [юрисдикция] => Стоимость Rica [лицензия] => Государственная комиссия [принадлежит] => Taylor Co. => store.png [features] => много продуктов [против ] => не так много мест [description] => [store_id] => 1 [banking_id] => 1 [currency] => Биткойн

user9473802 11.03.2018 20:56

[product_id] => 1 [type] => Retail) Array ([id] => 1 [name] => TestStore2 [rank] => 0 [link] => [quailty] => [safe] => [us ] => Нет [язык] => [бонус] => [live] => [крипто] => [мобильный] => [скорость] => [программное обеспечение] => [продукты] => [юрисдикция] => [ license] => [own] => [logo] => [features] => [cons] => [description] => [store_id] => 2 [banking_id] => 4 [currency] => Японская иена [product_id ] => 1 [тип] => оптом)

user9473802 11.03.2018 20:56

выше приведены 2 результата поиска, который я выполнил. Итак, приведенные выше результаты print_r для этих результатов

user9473802 11.03.2018 20:58

так странно ... он показывает два массива для двух разных результатов магазина. В myphpadmin у них есть идентификаторы 1 и 2. Но в этих результатах поиска оба идентификатора для обоих магазинов отображаются как 1. Это означает, что что-то в моем запросе меняет все идентификаторы результатов на 1 независимо от того, какие результаты имеют для идентификатора в mysql. но он по-прежнему возвращает остальные результаты правильно

user9473802 11.03.2018 21:00

Вы правы ... Затем попробуйте продолжить var dump и попробуйте найти, откуда берутся эти значения

kevinniel 11.03.2018 21:07

Я знаю. но это то, что я не могу понять, и это возвращает меня к моему первоначальному вопросу. Возможно, я должен был назвать это «как получить результаты эхо-идентификаторов из запросов JOIN» ....

user9473802 11.03.2018 21:10

Что ж, я решил это, изменив SELECT * FROM store на SELECT store.id, name FROM store. Поэтому я предполагаю, что единственный способ - добавить каждую переменную в часть выбора, а не использовать select *

user9473802 11.03.2018 21:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
14
23
0

Другие вопросы по теме