如何使用PHP从mysql获取所有数据


How to get all the data from mysql using PHP

正如您在while循环中看到的那样,我声明i变量$TYPES。。

这是我的第一个查询

    $first = "SELECT DISTINCT DATE_FORMAT(z.DatePaid,'%M %d, %Y') AS Paid 
    FROM tblStudPayments z 
    INNER JOIN tblPersonalData p ON p.StudNo=z.StudNo
    WHERE z.StudNo=p.StudNo AND z.SY='".$SY."' AND z.Sem='".$Sem."' ORDER BY z.DatePaid;";
    $fs = safe_query($first);
    $numrows = mysql_num_rows($fs);
    if($numrows>0)
    {
    while($dataf = mysql_fetch_assoc($fs))
    {
        $types =$dataf['Paid']; 
    }
    }

我想把$TYPES的值传递给我的第二个查询

这是我的第二次查询

     $sql="SELECT DISTINCT p.StudNo, p.LName, p.FName, p.MName, p.NName, c.Description, p.YearLevel, d.Status, 
         '".$types."' AS DateEnlisted, 
        FROM tblPersonalData p 
        INNER JOIN tblStudPayments sp ON sp.StudNo=p.StudNo AND sp.SY='".$SY."' AND sp.Sem='".$Sem."' 
        INNER JOIN tblStatusHistory d ON d.StudNo=sp.StudNo AND d.SY=sp.SY AND d.Sem=sp.Sem 
        INNER JOIN tblCourses c ON c.CourseCode=d.CourseCode AND c.HSOrCollege='".$dType."' 
        INNER JOIN tblUserAcct u ON u.UserName=p.StudNo
        "; 

        $sql.=" HAVING DateEnlisted = '".$a['DateEnrolled']."' ";
        $sql.=" ORDER BY p.StudNo ASC;"; 

在SELECT语句的底部,您可以看到我的变量$TYPES,我从第一个查询中得到它。

问题是它没有得到所有的数据。。它只从mysql 中获取最后的数据

提前感谢。。【图片由昆都更新建议】[1]

[图片由Kundu echo$sql][2]建议

我尝试了一个查询,但加载数据需要10-15MIN。

将第二个查询放入第一个查询

中,同时
循环

在while循环中,您将值放入变量&每次更新此变量时。因此,在循环结束时,它将返回最后一个type值。要么把它放在一个数组中,这样它就会存储所有的值。但在这种情况下,当您将数组放入第二个查询时,需要将其转换为字符串。还要确保在$type中输入值时,它应该是唯一的。

更新你的代码如下:

$types=array();
 while($dataf = mysql_fetch_assoc($fs))
 {
      $types[] = $dataf['Paid']; 
 }
$allTypes = implode(",`", array_unique($types));

现在在您的查询中:

$sql="SELECT DISTINCT p.StudNo, p.LName, p.FName, p.MName, p.NName, c.Description, p.YearLevel, d.Status, 
         `".$allTypes."` AS DateEnlisted, 
        FROM tblPersonalData p 
        INNER JOIN tblStudPayments sp ON sp.StudNo=p.StudNo AND sp.SY='".$SY."' AND sp.Sem='".$Sem."' 
        INNER JOIN tblStatusHistory d ON d.StudNo=sp.StudNo AND d.SY=sp.SY AND d.Sem=sp.Sem 
        INNER JOIN tblCourses c ON c.CourseCode=d.CourseCode AND c.HSOrCollege='".$dType."' 
        INNER JOIN tblUserAcct u ON u.UserName=p.StudNo
        ";