PHP从sql查询中获取值(使用内爆/爆炸?)
我正在运行下面的查询。我可以使用PHP从sql查询中获取值(使用内爆/爆炸?),php,sql,Php,Sql,我正在运行下面的查询。我可以使用ticket\u costresult列,但我很难理解如何从结果中提取其他数据 $sql = "SELECT ticket_cost, GROUP_CONCAT(game ORDER BY game DESC SEPARATOR '|') FROM games WHERE id IN (" . implode(',', $myIDArray) . ") GROUP BY ticket_cost ORDER BY ticket_cost DESC"; $myresu
ticket\u cost
result列,但我很难理解如何从结果中提取其他数据
$sql = "SELECT ticket_cost, GROUP_CONCAT(game ORDER BY game DESC SEPARATOR '|') FROM games WHERE id IN (" . implode(',', $myIDArray) . ") GROUP BY ticket_cost ORDER BY ticket_cost DESC";
$myresult = mysqli_query($connection,$sql);
phpmyadmin中的结果类似于此:ticket_cost | GROUP_CONCAT(game ORDER BY game DESC SEPARATOR '|')
10 thisIsATest|thisIsATest2|thisIsATest3
5 thisIsAnotherTest
要显示,我使用:
echo "<ul>";
foreach($myresult as $row2)
{
echo "This doesn't work:" . $row2['game'];
echo "<li>" . $row2['ticket_cost'] . "</li>";
}
echo "</ul>";
echo“”;
foreach($myresult作为$row2)
{
echo“这不起作用:”.$row2[“游戏”];
echo“- ”$row2[“票务成本]”
”;
}
回声“
”;
这将显示:这不起作用:
10
五, 如何在每个相应的
ticket\u成本之后显示每个管道(“|”)分隔的结果项?使用别名
查询
$sql = "SELECT ticket_cost, GROUP_CONCAT(game ORDER BY game DESC SEPARATOR '|') AS gameData FROM games WHERE id IN (" . implode(',', $myIDArray) . ") GROUP BY ticket_cost ORDER BY ticket_cost DESC";
$myresult = mysqli_query($connection,$sql);
PHP代码
echo "<ul>";
foreach($myresult as $row2)
{
$gameData = explode("|", $row2['gameData']);
foreach($gameData as $row3)
{
echo "<li>" . $row3 . "</li>";
echo "<li>" . $row2['ticket_cost'] . "</li>";
}
}
echo "</ul>";
您也可以在不修改查询的情况下访问该数据。访问结果时,请使用以下方法访问值:
PHP代码
echo'';
而($row2=$myresult->fetch_array())
{
//您的游戏数据是您选择的第二个值,因此
//使用基于0的索引[1]访问它
$gameData=explode(“|”,$row2[1]);
foreach($gameData作为$game)
{
回音“- ”.$game.$”.$row2['ticket_cost']。
”;
}
}
输出
ticket_cost GameData
----------- -----------
10 thisIsATest
10 thisIsATest2
10 thisIsATest3
5 thisIsAnotherTest
- 这是10美元
- 这是2美元10美分
- 这是3美元10美分
- 这不超过5美元
使用别名分组(游戏顺序由游戏描述分隔符“|”)作为游戏
然后使用$row['games']
echo '<ul>';
while($row2 = $myresult->fetch_array())
{
// Your game data is the 2nd value in your select, so
// access it with the 0-based index of [1]
$gameData = explode('|', $row2[1]);
foreach ($gameData as $game)
{
echo '<li>' . $game . ' $'. $row2['ticket_cost'] . '</li>';
}
}