我正在尝试使用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但是并不真正理解如何超越大小和数量
答案 0 :(得分:0)
我建议你采用两种不同的方式:
在你的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
)
)
在你的javascript / jQuery脚本中,你必须以这样的方式调用php url:
makeOrder.php?data=[{"size":"50","quantity":"10"},{"size":"10","quantity":"2"}]
要获取JSON字符串,可以使用js function 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'] )
的 PhpFiddle demo 强>