0
<?php
        session_start();
        include("dbconnect.php");
        $sql="select * from $_POST[select_catalog_query]";
        $rslt=mysql_query($sql);


        if(!mysql_fetch_array($rslt))
        {
            echo "<script type='text/javascript'>\n";
            echo "alert('There is No Data');\n";
            echo "</script>";
            echo "<script>document.location.href='admin.php'</script>";

        }
        while($row = mysql_fetch_array($rslt))
        {
            echo "<tr>";
            echo "<td>$row[id]</td>";
            $sql1 = "select * from login WHERE id=$row[id]";
            $rs = mysql_query($sql1);
            $rw1 = mysql_fetch_array($rs);
            echo "<td>$row[firstName]</td>";
            echo "<td>$row[lastName]</td>";
            echo "<td>$row[gender]</td>";
            echo "<td>$row[phone]</td>";
            echo "<td>$row[email]</td>";
            echo "<td>$rw1[type]</td>";
            echo "<td>$rw1[status]</td>";
            echo "</tr>";
        }
?>

最初のテーブルに 3 つのデータがあります...出力には 2 つのデータしか表示されません...最後に挿入されたデータは表示されません。その解決策は何ですか?そして、ログインテーブルの2番目のクエリを実行しているときにwhileループで、次のような警告が表示されます mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\myfile\as1\selectAdmin.php on line 41
how do i execute 2nd query??

4

4 に答える 4

0

SELECT * FROM table INNER JOIN table2 ON table.ID=table2.ID;

これで、両方のIDが同じになると、すべてのデータがフェッチされます

于 2013-11-07T05:48:37.073 に答える
0

ここで複数のクエリを実行する必要はありません。これを行うと、テーブルに新しい行があるたびに実行時間が$_POST[select_catalog_query]一定の係数で増加します。これは、大規模なデータセットでは非常に非効率になるため、悪いことです。

代わりに、次のクエリを使用します。

SELECT * FROM tableName t1 LEFT JOIN login t2 WHERE t2.id = t1.id

このようにして、1 つのクエリを実行するだけで済みます。

于 2013-11-06T06:46:56.747 に答える