多维数组使用 php 和 mysql 跳过除最后一个值之外的所有值
multidimensional array skips all values except last one using php and mysql
我有两个表:一个叫做 scripts
并保存 script_name
和一个称为 users
并保存 user_id
,我正在尝试创建多维数组来分配每个每个现有用户的脚本名称,例如:如果我有两个用户 [user_id:1, user_id:2]
和两个脚本 [script_id:5,script_id:6]
数组将类似于:
[
(user_id:1,script_id:5),
(user_id:1,script_id:6),
(user_id:2,script_id:5),
(user_id:2,script_id:6)
]
问题是我创建的数组只包含最后一个用户(用户 2)和我想要的所有脚本:
[
(user_id:2,script_id:5),
(user_id:2,script_id:6)
]
这是我的代码:
//Create an array
$json_response = array();
//get all users
$usersResult = mysql_query("select user_id from users");
while ($row = mysql_fetch_array($usersResult, MYSQL_ASSOC)) {
$row_array['user_id'] = $row['user_id'];
}
//get all script name's and cron format's
$scriptsResult = mysql_query("select script_name from scripts");
while ($row = mysql_fetch_array($scriptsResult, MYSQL_ASSOC)) {
$row_array['script_name'] = $row['script_name'];
array_push($json_response,$row_array);
}
echo json_encode($json_response);
如果您只是连接两个表,则不需要两个查询,只需执行以下操作:
$json_response = array();
$results= mysql_query("select user_id,script_name from users,scripts");
while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) {
array_push($json_response,$row);
}
我有两个表:一个叫做 scripts
并保存 script_name
和一个称为 users
并保存 user_id
,我正在尝试创建多维数组来分配每个每个现有用户的脚本名称,例如:如果我有两个用户 [user_id:1, user_id:2]
和两个脚本 [script_id:5,script_id:6]
数组将类似于:
[
(user_id:1,script_id:5),
(user_id:1,script_id:6),
(user_id:2,script_id:5),
(user_id:2,script_id:6)
]
问题是我创建的数组只包含最后一个用户(用户 2)和我想要的所有脚本:
[
(user_id:2,script_id:5),
(user_id:2,script_id:6)
]
这是我的代码:
//Create an array
$json_response = array();
//get all users
$usersResult = mysql_query("select user_id from users");
while ($row = mysql_fetch_array($usersResult, MYSQL_ASSOC)) {
$row_array['user_id'] = $row['user_id'];
}
//get all script name's and cron format's
$scriptsResult = mysql_query("select script_name from scripts");
while ($row = mysql_fetch_array($scriptsResult, MYSQL_ASSOC)) {
$row_array['script_name'] = $row['script_name'];
array_push($json_response,$row_array);
}
echo json_encode($json_response);
如果您只是连接两个表,则不需要两个查询,只需执行以下操作:
$json_response = array();
$results= mysql_query("select user_id,script_name from users,scripts");
while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) {
array_push($json_response,$row);
}