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 个数据...bt 在输出中仅显示 2 个数据...最后插入的数据未显示。它的解决方案是什么?在while循环中,当我对登录表执行第二次查询时,会给出这样的警告, mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\myfile\as1\selectAdmin.php on line 41
我该如何执行第二次查询?

4

4 回答 4

0
$sql="
select
  c.*,
  l.*
FROM
  $_POST[select_catalog_query] as c
 LEFT JOIN
 login as l
WHERE
 l.id = c.id";

 $rslt=mysql_query($sql);       


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

}
else
{
    while($row = mysql_fetch_array($rslt))
    {
       /*YOUR data*/
    }
}
于 2013-11-06T06:56:46.193 回答
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 回答
0

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

在这种情况下,当两个 id 将变得相同时,它将获取所有数据

于 2013-11-07T05:48:37.073 回答
-1

在这里,您说 required 1 作为参数,这意味着 mysql_fetch_array 正在获取 null 作为参数,您还应该检查数据库

你的问题不清楚 正确地问

id=$row[id] 应该是 id=$row['id'] 现在试试

于 2013-11-06T06:42:18.910 回答