在我的php脚本中尝试使用多维数组从单个json文件中的多个表执行数据。
所以我将用我的代码解释:
if($data){
$sql="select * from en_providers where providerEmailAddress='".$email."' and providerPW='".$password."'";
$result = mysqli_query($con,$sql) or die("Error in Selecting " . mysqli_error($connection));
if (mysqli_num_rows($result) > 0) {
$resultArray = array();
while ($row = mysqli_fetch_assoc($result)) {
$providerID = $row['providerID'];
$resultArray['providers'] = $row;
$sql1="select * from en_venues where providerID = $providerID ";
$result1 = mysqli_query($con,$sql1) or die("Error in Selecting " . mysqli_error($connection));
$i=0;
while ($row1['venue'][] = mysqli_fetch_assoc($result1)){
echo $venueID=$row1['venue'][$i++]['venueID'];
$resultArray['venues'] = $row1;
$sql2 = "select * from en_schedules as e ,en_persons as p where e.venueID = '".$venueID."'";
$result2 = mysqli_query($con,$sql2) or die("Error in Selecting " . mysqli_error($con));
while ($row2['Persons'][] = mysqli_fetch_assoc($result2)){
$resultArray['Persons'] = $row2;
}
}
}
echo json_encode($resultArray);
}
输出像
{
"providers": {
"providerID": "1",
"providerEmailAddress": "info@gdtennis.co.uk",
"providerPW": "xxx",
"providerName": "GDT Tennis ",
"providerActive": "yes",
"providerFeatured": "no",
},
"venues": {
"venue": {
"venueID": "8",
"providerID": "1",
"venueActive": "yes",
"venueName": "Wargrave LTC ",
}
}
"Persons": {
"Persons": [
{
"scheduleID": "1",
"venueID": "151",
"scheduleTitle": "Mini Tennis Red ",
"scheduleDay": "Monday",
},
{
"scheduleID": "1",
"venueID": "151",
"scheduleTitle": "Mini Tennis yellow ",
"scheduleDay": "Monday",
},
{
"scheduleID": "1",
"venueID": "152",
"scheduleTitle": "Mini Tennis orange ",
"scheduleDay": "sunday",
}
],
}
}
在场地阵列中,我只有一个阵列,它有7个阵列值。但它只有一个,我不知道为什么这样。
请帮我解决问题
答案 0 :(得分:1)
您需要尝试此解决方案。
$sql1="select * from en_venues where providerID = $providerID ";
$result1 = mysqli_query($con,$sql1) or die("Error in Selecting " . mysqli_error($connection));
while ($row1['venue'][] = mysqli_fetch_assoc($result1)){
$venueID=$row1['venue']['venueID'];
$resultArray['venues'] = $row1;
$sql2 = "select * from en_schedules as e ,en_persons as p where e.venueID = '".$venueID."'";
$result2 = mysqli_query($con,$sql2) or die("Error in Selecting " . mysqli_error($con));
while ($row2['Persons'][] = mysqli_fetch_assoc($result2)){
$resultArray['Persons'] = $row2;
}
你可以制作数组如何为人们制作。
答案 1 :(得分:1)
你只犯了一个错误,只需将$ row1 ['场地']改为$ row1 ['场地'] []
read -p "Throw in money" x
echo ""
while [ $x -ne 2 ] ;
do
case $x in
0.5)
read -p "more money" z
x=$(($x + $z))
;;
1)
read -p "more money" z
x=$(($x + $z))
;;
1.5)
read -p "more money" z
x=$(($x + $z))
;;
"R")
echo "return x"
x=0
;;
?)
echo "enter something else!"
x=0
;;
esac
done