繁体   English   中英

PHP循环通过mysql语句

[英]Php loop through mysql statement

因此,我有一个页面,该页面是已填写表格的确认页面。 我已经检查了我的sql语句,它工作正常。 我遇到的问题是使php循环输出结果而不转储查询的其余部分。

所以我的代码是这样的:

$mysql-statement......
$total_rows... etc.

  $i = $total_rows;
    if($i > 1) { 
    echo "i = ". $i. "<br />";

    for($x=1; $x< ($i+1); $x++){
    echo "This is from the for loop Office location is " .$row_rs_myquery['Office_Name'] ."<br />"; 
        mysql_fetch_assoc($rs_myquery);
    }
      }?>

现在,以上内容中的一些用于测试目的,而我想要其中的一些,主要是我只希望它输出此人与之关联的多个Office名称。 基本上,我只是得到第一个办公室名称,并且没有排序到与该人相关的下一个办公室位置。 它只是重复相同的办公地点,我可能会添加正确的次数。

我还尝试了do while循环,由于某种原因,该循环中断了页面的其余部分。 我仅遍历这部分,但是页面的其余部分将显示人员联系信息,以及数据库中与他们相关的任何其他信息。 只是出于理智起见,这就是我使用的do while语句。 我让它在其他页面上运行,并且此设置可以在该页面上运行,所以不确定为什么它不能在该页面上运行。

    do{
       echo "This is from the do while loop Office location is " .$row_rs_myquery['Office_Name'] ."<br />"; 
    }while($row_rs_myquery = mysql_fetch_assoc($rs_myquery));

我正在工作的当前人员在他们的名字下有3个办公地点。 因此,它应输出如下三行代码:

    This is from the for loop Office location is St. Paul

    This is from the for loop Office location is New York

    This is from the for loop Office location is Los Angeles

但是我得到的是如果我运行for循环

    This is from the for loop Office location is St. Paul

    This is from the for loop Office location is St. Paul

    This is from the for loop Office location is St. Paul

但是我得到的是如果我运行do while循环

    This is from the for loop Office location is St. Paul

如果我将其放置在其余请求之前的任何位置,则会在我的确认页面中留出空白区域。

为什么要这样做的任何想法都会有所帮助。 提前致谢。

对于do {} while循环,仅在第一次迭代后才设置条件。 您只需要一个while循环,该循环会在变量运行之前对其进行设置。

while($row_rs_myquery = mysql_fetch_assoc($rs_myquery)){
    echo "This is from the do while loop Office location is " .$row_rs_myquery['Office_Name'] ."<br />";
}

如果要使用if循环(IMO,虽然while循环工作得更好,尤其是因为您没有使用X),那么您想要在尝试使用变量之前先获取数组:

for($x=1; $x<=$total_rows; $x++){
    $row_rs_myquery = mysql_fetch_assoc($rs_myquery);
    echo "This is from the for loop Office location is " .$row_rs_myquery['Office_Name'] ."<br />"; 

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM