gpt4 book ai didi

PHP 与 MySQL 查询的问题。该函数仅针对第一个 mysql 结果运行

转载 作者:行者123 更新时间:2023-11-29 06:16:59 26 4
gpt4 key购买 nike

我尝试在网络上搜索类似的内容,但没有结果。我想做的只是从数据库中获取结果,然后为每个结果运行一些函数。我们有两种功能。第一个函数是当行“Type” = F 时,第二个函数是当行“Type” = T 时。我对这段代码遇到的问题是它仅针对第一个 mySQL 结果运行函数。但我同时有更多结果,并且函数应该针对每个 mySQL 结果运行,而不仅仅是第一个结果。

我不知道我是否需要 foreach 或者其他什么。我对数组和 php 循环一无所知。

谢谢。

include_once("../dbconnection.php");
date_default_timezone_set('UTC');
$TimeZone ="UTC";
$todaydate = date('Y-m-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 中的第一行,然后用 TableF 或 TableT 中的一行覆盖 $result。在下一个循环中,将不会在数组中找到以下列(当然,除非它们也在这两个表中):

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

关于PHP 与 MySQL 查询的问题。该函数仅针对第一个 mysql 结果运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5868463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com