PHP的问题与MySQL查询。 该功能仅运行第一个MySQL的结果

我试图寻找在网络,但没有结果类似的东西。 我所试图做的是简单地把从数据库中的结果,然后再运行每个结果的一些功能。 我们有两种功能。 第一个功能是当行“类型”是= F,第二个当行“类型”是= T,我这段代码遇到的问题是,它运行的功能只适用于第一个MySQL的结果。 但我的同时更多的成果,和功能应该运行对于每一个MySQL的结果,而不是只对第一个。

我不知道如果我需要一个foreach或什么的。 我不知道数组和PHP的循环什么。

谢谢。

include_once("../dbconnection.php"); date_default_timezone_set('UTC'); $TimeZone ="UTC"; $todaydate = date('Ym-d') ."\n"; $time_utc=mktime(date('G'),date('i'),date('s')); $NowisTime=date('G:i:s',$time_utc); $MembID =(int)$_COOKIE['Loggedin']; $DB = new DBConfig(); $DB -> config(); $DB -> conn(); $queryMAIN="SELECT * FROM TableTuit WHERE TimeZone ='".$TimeZone."' AND Date ='".$todaydate."' ORDER BY ID ASC"; $result=mysql_query($queryMAIN) or die("Errore select TableT: ".mysql_error()); $tot=mysql_num_rows($result); while($ris=mysql_fetch_array($result)){ $text=$ris['Tuitting']; $account=$ris['IDAccount']; $memberID=$ris['memberID']; $type=$ris['Type']; $id=$ris['ID']; $time=$ris['Time']; if($time <= $NowisTime){ if($type=="F") //if the row type is = F, then do the things below { $queryF ="SELECT * FROM `TableF` WHERE `memberID`='$MembID' AND `ID`='$account'"; $result=mysql_query($queryF) or die("Errore select f: ".mysql_error()); $count = mysql_num_rows($result); if ($count > 0) { $row = mysql_fetch_assoc($result); DO FUNCTION // Should call the function that requires the above selected values from $queryF. Should Run this function for every mysql result given by $queryMAIN where row "type" is = F } } } if($type=="T") //if the row type is = T, then do the things below { $queryT = $queryF ="SELECT * FROM `TableT` WHERE `memberID`='$MembID' AND `ID`='$account'"; $result=mysql_query($queryT) or die("Errore select $queryT: ".mysql_error()); $count = mysql_num_rows($result); if ($count == 0) $Isvalid = false; else { $Isvalid = true; $row = mysql_fetch_assoc($result); } if($Isvalid){ DO THIS FUNCTION // Should call the function that requires the above selected values from $queryT. Should Run this function for every mysql result given by $queryMAIN where row "type" is = T } } } }//END OF MYSQL WHILE OF $queryMAIN

--------------解决方案-------------

您正在使用$result为外部查询( $result=mysql_query($queryMAIN);而while循环中查询$result=mysql_query($queryF); -我相信你不想混这些?

现在你处理来自TableTuit第一行,然后覆盖在$result与TableF或平板电脑一排。 在接下来的循环,下面列不会在数组中(除非他们也是这两个表中,当然):

$text=$ris['Tuitting'];
$account=$ris['IDAccount'];
$memberID=$ris['memberID'];
$type=$ris['Type'];
$id=$ris['ID'];
$time=$ris['Time'];

您正在加载结果到一个数组中,尝试在while循环,而不是使用这样的:

while($ris=mysql_fetch_assoc($result)){

分类:php 时间:2015-03-16 人气:123
本文关键词: PHP和MySQL,循环
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.499 (s). 10 q(s)