Php 打印东西的简单方法,只需在内部循环一次?

Php 打印东西的简单方法,只需在内部循环一次?,php,mysql,Php,Mysql,我想在while循环的帮助下,从一个表中获取信息并循环它,直到完成为止。尽管如此,我希望一列在循环中只打印一次 我想出了两个解决办法 <?php $i = 0; // while loop start if($i == 0){ // stuff to print $i++; } // while loop end ?> 当然,我可以在while循环之前进行另一个查询 但这些方法真的不是很有效。有没有一种不那么麻烦的方法 实际上,如果在while循环之前运行另一个查询不会变

我想在while循环的帮助下,从一个表中获取信息并循环它,直到完成为止。尽管如此,我希望一列在循环中只打印一次

我想出了两个解决办法

<?php   
$i = 0;
// while loop start
if($i == 0){
// stuff to print
$i++;
}
// while loop end
?>

当然,我可以在while循环之前进行另一个查询

但这些方法真的不是很有效。有没有一种不那么麻烦的方法

实际上,如果在while循环之前运行另一个查询不会变得如此混乱,或者如果我可以重新使用用于循环的查询(我从表中获取所有内容),我也可以。我试着用mysql_fetch_字段进行实验,但我不确定它是如何工作的,或者这是否有帮助*


目前,代码如下所示:

$fetch = mysql_query("SELECT *
                      FROM `pms`
                      JOIN `pm_conversations` ON pms.ConvID = pm_conversations.ID
                      WHERE `ConvID`='".$_GET['id']."'");

$i = 0;
while($print = mysql_fetch_array($fetch)){
  if($i == 0){
  echo $print['Subject'];
  $i++;
  }
  <table>
  <th><?=$print['From']?>, <?=$print['DateSent']?></th>
  <tr><td><?=$print['Message']?></td></tr>
  </table>
}
$fetch=mysql\u查询(“选择*
从` pms`
在pms.ConvID=pm\u conversations.ID上加入'pm\u conversations'
其中'ConvID`='”$\u GET['id']。“'”;
$i=0;
而($print=mysql\u fetch\u数组($fetch)){
如果($i==0){
echo$print['Subject'];
$i++;
}
, 
}

你有没有想过要做……而?它具有while的所有优点,并且允许代码在第一次迭代之前有条件地发生

$res = mysql_fetch_array( $resource );
// run the magical run once query/functionality/bunnies/whatever
// Hey, I'm tired. Let there be bunnies.
do
{
    // put the regular while loop constructs in here;
}
while( $res = mysql_fetch_array( $resource ) );

你有没有想过要做什么?它具有while的所有优点,并且允许代码在第一次迭代之前有条件地发生

$res = mysql_fetch_array( $resource );
// run the magical run once query/functionality/bunnies/whatever
// Hey, I'm tired. Let there be bunnies.
do
{
    // put the regular while loop constructs in here;
}
while( $res = mysql_fetch_array( $resource ) );

如果我对你的问题理解正确,我认为你的想法是对的。我猜您希望在第一次迭代时打印一些额外的内容(比如使用数组键打印列标题)


或者,如果我完全无法更好地描述您正在尝试做的事情,那么现实世界的情况会有所帮助。

如果我正确理解您的问题,我认为您的想法是正确的。我猜您希望在第一次迭代时打印一些额外的内容(比如使用数组键打印列标题)

$rs = mysql_query("SELECT * FROM tbl");
$row = mysql_fetch_array($rs);

do {
    echo $row['column_name'];
} while($row = mysql_fetch_array($rs));
或者,如果我完全无法更好地描述你想做什么,那么现实世界的情况会有所帮助

$rs = mysql_query("SELECT * FROM tbl");
$row = mysql_fetch_array($rs);

do {
    echo $row['column_name'];
} while($row = mysql_fetch_array($rs));
我不知道这是否是你需要的。希望这个有帮助


我不知道这是否是你需要的。希望这个有帮助

嗯,这就是我在第一篇文章中展示的解决方案。无论如何,描述现实世界的情况:我正在抓取一张桌子上的所有信息,组成一段对话。在对话的上方,是我想输入对话主题名称的地方,所以我只想打印一次。实际上,我添加了我当前的代码。我希望这会让事情变得更清楚。起初我甚至不明白这是怎么回事,但是的$cnt在第一次输入时是0:)嗯,这就是我在第一篇文章中展示的解决方案。无论如何,描述现实世界的情况:我正在抓取一张桌子上的所有信息,组成一段对话。在对话的上方,是我想输入对话主题名称的地方,所以我只想打印一次。实际上,我添加了我当前的代码。我希望这会让事情变得更清楚。起初我甚至不明白这是怎么回事,但第一次输入时$cnt是0:)是的!这与首先在while循环之外添加$print变量一样简单。谢谢,我错了。抱歉,这不会执行对话中的第一个PM。我将使用cwallenpole的解决方案。谢谢你的帮助。是的!这与首先在while循环之外添加$print变量一样简单。谢谢,我错了。抱歉,这不会执行对话中的第一个PM。我将使用cwallenpole的解决方案。不管怎样,谢谢你的帮助。