Я получаю то же значение для 1-го, 2-го и 3-го. Затем следующая строка дает мне результаты, которые должны быть во втором столбце, предположительно в первой строке.Мой запрос выбора возвращает те же данные для 3 рядов
<?php
require "db.php";
$sql = "
SELECT e_name
, IF(t_rank = 1, a_shortcut, a_shortcut) AS 1st
, IF(t_rank = 1, a_shortcut, a_shortcut) AS 2nd
, IF(t_rank = 3, a_shortcut, a_shortcut) AS 3rd
FROM team t
JOIN event e
ON t.EID = e.EID
";
$con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name);
$result = mysqli_query($con,$sql);
$response = array();
while($row=mysqli_fetch_array($result))
{
array_push($response, array("e_name"=>$row[0],"1st"=>$row[1],
"2nd"=>$row[2], "3rd"=>$row[3]));
}
echo json_encode (array("nresults"=>$response));
mysqli_close($con);
?>
Мой ожидается выход
Пример. Shortcut has a, b, c and they have rank a =1 b =2 c =3;
Тогда 1st = a, 2nd = b, 3rd = c;
Что им получаю
1st = a, 2nd = a, 3rd = a;
то следующая строка показывает
1st = b, 2nd = b, 3rd = b;
Редактировать свой вопрос и предоставить образцы данных и желаемый результат. – GurV