将 while 循环的结果发送到标头


Sending result of while loop to header

我正在尝试将我的while循环的reslut发送到标头,但我想不出让它工作的方法。

回声会给我这样的结果:C7&A8&

但是标题会给我这个:http://localhost/webapp/admin.php?success=C7

$result = mysqli_query($DB, "SELECT * FROM booking WHERE itemID IN('$itemID1','$itemID2','$itemID3','$itemID4','$itemID5','$itemID6','$itemID7','$itemID8','$itemID9','$itemID10')");
while($row = mysqli_fetch_array($result)){
    $hylla= $row['Hyllplacering']. "&";
    echo $hylla;
}
header('location: /webapp/admin.php?success=' .$hylla);

这应该有效。使用此方法可以消除查询字符串末尾的额外&

顺便说一下,请确保在设置header之前没有echo任何内容,因为一旦需要在屏幕上打印某些内容,标题就已经发送了。

$result = mysqli_query($DB, "SELECT * FROM booking WHERE itemID IN('$itemID1','$itemID2','$itemID3','$itemID4','$itemID5','$itemID6','$itemID7','$itemID8','$itemID9','$itemID10')");
$hyllaArray = array();
while($row = mysqli_fetch_array($result)){
    $hyllaArray[] = $row['Hyllplacering'];
}
header('location: /webapp/admin.php?success=' . implode('&', $hyllaArray));

尝试将重定向放在外面 while 循环,一旦你从内部重定向,而它没有机制将其余$hylla获取到新 URL。

$result = mysqli_query($DB, "SELECT * FROM booking WHERE itemID IN('$itemID1','$itemID2','$itemID3','$itemID4','$itemID5','$itemID6','$itemID7','$itemID8','$itemID9','$itemID10')");
$hylla="";
while($row = mysqli_fetch_array($result)){
    $hylla= $hylla.$row['Hyllplacering']. "&";
}
    echo $hylla;
    header('location: /webapp/admin.php?success=' .$hylla);