所以我现在已经有了这个代码,但是我的标题已经成功了。我希望它发送:
hyllaArray的第一个值为' check ='面前的
hyllaArray的第二个值,' check2 ='面前,
第三个值为' check3 ='所以最多检查10'。 这种类型的打印是否可行,还是需要使用其他功能?
$DB = new mysqli("localhost", "root", "", "book1");
$result = mysqli_query($DB, "SELECT * FROM booking WHERE itemID IN('$itemID1','$itemID2','$itemID3','$itemID4','$itemID5','$itemID6','$itemID7','$itemID8','$itemID9','$itemID10')");
$hyllaArray = array();
$itemArray = array();
while($row = mysqli_fetch_array($result)){
$hyllaArray[] = $row['Hyllplacering'];
$itemArray[] = $row['itemID'];
}
header('location: /webapp/admin.php?check=' . implode('&check2=', $hyllaArray) .'&itemid=' . implode('&itemid2=', $itemArray));
}
答案 0 :(得分:1)
试试这个:
$DB = new mysqli("localhost", "root", "", "book1");
$result = mysqli_query($DB, "SELECT * FROM booking WHERE itemID IN('$itemID1','$itemID2','$itemID3','$itemID4','$itemID5','$itemID6','$itemID7','$itemID8','$itemID9','$itemID10')");
$hyllaArray = array();
$itemArray = array();
$i=1
while($row = mysqli_fetch_array($result)){
$hyllaArray[] = "check".$i."=".$row['Hyllplacering'];
$itemArray[] = "itemid".$i."=".$row['itemID'];
$i++
}
header('location: /webapp/admin.php?' . implode('&', $hyllaArray) .'&' . implode('&', $itemArray));
}
答案 1 :(得分:0)
$ hylllaArray 是一个PHP本机对象,您无法直接将其附加到URL。 要将本机对象传递到另一个地方,首先需要将其转换为String,此过程称为序列化。
有两种最常用的序列化方法:XML和JSON。我建议使用JSON,因为它会生成更少的字节,并且更容易阅读。
在PHP中,您可以通过调用json_encode()
在您将生成的JSON放入网址之前,您必须urlencode()
,此编码算法主要用于编码符号,如' =','& && #39;等等,所以你的JSON不会弄乱网址。
我的建议:
我认为您最好使用POST来发送大量数据,它会使您的网址更加清晰。