多维数组使用 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);
}