Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从sql查询中获取值(使用内爆/爆炸?)_Php_Sql - Fatal编程技术网

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>';
    }
}