如何在一个while循环中使用两个mysql_fetch_array()数组

时间:2015-12-13 19:34:04

标签: php database web

您好我有两个使用mysql_fetch_array()构建的数组我想在一个while循环中使用它们:

$username =$_SESSION["username"];
$password =$_SESSION["password"];       
$query1= "SELECT * FROM subs WHERE username='$username' AND password='$password' ";
$res1 = mysql_query($query1);
$row_cnt1 = mysql_num_rows($res1);
if($res1 === FALSE) { 
    die(mysql_error()); // TODO: better error handling
}
$row1 = mysql_fetch_array($res1);
if($row_cnt1 == 1){
    $sid = $row1["id"];
}else{
    die("there is more than one user with the same username and password");
}


$query2= "SELECT * FROM bookreservations ";
$res2 = mysql_query($query2);
$row_cnt2 = mysql_num_rows($res2);
if($res2 === FALSE) { 
    die(mysql_error()); // TODO: better error handling
}

$row2 = mysql_fetch_array($res2) ;

$query= "SELECT * FROM books";
$res = mysql_query($query);
$row_cnt = mysql_num_rows($res);
if($res === FALSE) { 
    die(mysql_error()); // TODO: better error handling
}


    while ($row = mysql_fetch_array($res)){
        if($row2["sid"] == $sid && $row2["bid"] == $row["id"]){
            continue;
        }
        $temp = $row["id"];
        $temp1 = $row["title"];
        echo "Title : ".$temp1."<br><br>";
        $temp1 = $row["authors"];
        echo "Authors : ".$temp1."<br><br>";
        $temp1 = $row["copies"];
        echo "Copies : ".$temp1."<br><br><br><br>";

        echo "<div class=\"re\"><input type=\"radio\" value=\"reserve\" name=\"".$temp ."\">reserve</div> <br><br><br><br><br><br>" ;

    }

我想从行数组中提取内容,但我不希望它们从row2数组中获取一些值,所以我必须在一个while循环中使用它们,SUMMARY行数组是正确的它跳转到下一个每个循环中的行但是row2数组被卡住它不会移动到下一行该做什么?

1 个答案:

答案 0 :(得分:0)

虽然我不能很好地理解你的任务,但我会推荐以下编辑 我的假设是:您正在尝试从$res获取每个$res2的所有行。

虽然技术效率低下,但我会按照以下方式编辑您的代码。

while($row2 = mysql_fetch_array($res2) ){


while ( $row = mysql_fetch_array($res) ){ //Both $row & $row2 will have equal incremented rows.
   }

}//Outer loop