我正在尝试使用 get 在 php 中获取参数。我从中获取参数的页面带有 ajax,这意味着我不知道参数发送了多少次,但我知道它们的类型。我可以得到的例子:
makeOrder.php?大小=37&数量=2
makeOrder.php?大小=37&数量=2&大小=39&数量=5
makeOrder.php?大小=37&数量=2&大小=39&数量=5&大小=36&数量=10
等等...
我写信只是为了得到一个参数
<?php
//create a mySQL DB connection:
$dbhost = "166.62.8.11";
$dbuser = "auxstudDB5";
$dbpass = "auxstud5DB1!";
$dbname = "auxstudDB5";
$connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
//testing connection success
if(mysqli_connect_errno()) {
die("DB connection failed: " . mysqli_connect_error() . " (" . mysqli_connect_errno() . ")"
);
}
$size1 = $_GET['size'];
$quantity1= $_GET['quantity'];
$connection->query("SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");
foreach(size as $size1){
foreach (quantity as $quantity1) {
$sql = "INSERT INTO tbl_order_202 VALUES('$size1','$quantity1')";
$result = $connection->query($sql);
if ($connection->query($sql) === TRUE) {
echo "ok ";
} else {
echo "Error: " . $sql . "<br>" . $connection->error;
}
}
}
mysqli_close($connection);
?>
我知道我可以使用foreach,但并不真正了解如何超过尺寸和数量
我建议你两种不同的方式:
1. GET 变量作为数组
在你的javascript/jQuery脚本中,你必须以这样的方式调用php url:
makeOrder.php?size[]=50&quantity[]=10&size[]=10&quantity[]=2
然后,在 PHP 文件中,您的 $_GET
变量将采用以下值:
Array
(
[size] => Array
(
[0] => 50
[1] => 10
)
[quantity] => Array
(
[0] => 10
[1] => 2
)
)
2. 获取变量作为 JSON
在你的javascript/jQuery脚本中,你必须以这样的方式调用php url:
makeOrder.php?data=[{"size":"50","quantity":"10"},{"size":"10","quantity":"2"}]
要获取 JSON 字符串,可以使用 js 函数JSON.stringify()
然后,在 PHP 文件中,以这种方式检索值:
$data = json_decode( $_GET['data'] );
将产生如下数组:
Array
(
[0] => stdClass Object
(
[size] => 50
[quantity] => 10
)
[1] => stdClass Object
(
[size] => 10
[quantity] => 2
)
)
要获取数组数组(而不是对象(,您可以使用json_decode( $_GET['data'], True )
而不是json_decode( $_GET['data'] )