首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >While循环:工作,但也循环对HTML和输出它两次(一次反向?)

问While循环:工作,但也循环对HTML和输出它两次(一次反向?)
EN

Stack Overflow用户
提问于 2013-05-11 00:52:56
回答 2查看 303关注 0票数 0

我有个时间循环。它应该循环遍历数据库表并输出所找到的结果,这样做很好。但是,它也复制了while循环中的HTML (将其输出两次,一次反向输出?)。

见:

1) Jazzminder声景2) 3) 1) Jazzminder Dandelion 3)

应改为:

1) Jazzminder声景2) Jazzminder Dandelion 3)

我尝试过修改和重写代码,但是我无法隔离这个问题。我以前从没遇到过这个问题。

这是代码块:

代码语言:javascript
复制
 <p> <a href="promote_next_step.php?promote=<?php echo $_GET['promote']?>">
<strong>        [More To Next Step]</strong></a></p>
<strong><font color="gray">Included so far:</font></strong><br/>

<?php 
  $sql2="SELECT * FROM `promote_track_lists` WHERE `promo_title`='".     $_GET['promote1']."'";
  $result2=mysql_query($sql2);
  while($row2 = mysql_fetch_assoc($result2)){
?>
  1) <font color="orange"><strong><?php echo $row2['artist_name1'] ?> <?php echo     $row2['track_title1'] ?></strong></font>
  2) <font color="orange"><strong><?php echo $row2['artist_name2'] ?> <?php echo     $row2['track_title2'] ?></strong></font>
  3) <font color="orange"><strong><?php echo $row2['artist_name3'] ?> <?php echo     $row2['track_title3'] ?></strong></font>

<?php 
  }
?>

谢谢你的回复!!问题是,我有另一页,它可以很好地从数据库中提取信息:

代码语言:javascript
复制
  if (isset ($_GET['promote1']) === true) {
  $sql3="SELECT * FROM `promote_track_lists` where `promo_title`    ='".$_GET['promote1']."' "; 
  $result3= mysql_query ($sql3);
 while ($row3 = mysql_fetch_assoc ($result3)) {   
 ?>
              <div id="promotion_files">
              <!------- track1 ------->
               <?php  if ($row3['iframe1']) {?>
                <div class="promotion_track_name"><strong><?php echo     $row3['artist_name1'] ?>-<?php echo $row3['track_title1'] ?></strong></div>
                <?php echo $row3['iframe1']?>
                <?php
                if (isset ($_POST['submit'])===true && empty     ($_POST['feedback']) === false) {
                ?>
                <a href="mp3_download.php?promote1=<?php echo     $row['title'] ?>"><img src='images/design images/iPodDownload.png' /></a>
                <?php
                }
                }
            ?>
                           <!------- track2 -------> 

它这样做了20次,没有问题,但出于某种原因,它在另一个页面上循环了HTML和输出(只有html)两次。我尝试使用数据库,以便条目彼此之间是完全唯一的,但这样就可以使用一个查询来提取所有内容。...If说得通。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-11 01:16:24

我要尝试一下,但是如果没有完整的代码,我可能是错的。我猜问题在于你的MySQL。根据你想要输出的内容。一张唱片会像这样

artist_name1、artist_name2、artist_name3、track_title1、track_title2、track_title2、track_title3

但是,根据您所声明的输出显示方式,您的表很可能看起来类似于这个artist_name \ track_title

你能给我看看你的桌子是什么样子吗?

它不是相反地显示东西,而是显示所有3行3次,但你每次只看到一组值。所以你看到1-数据-2-然后12-数据-然后12,3-数据-我希望这是有意义的

因此,看看您的图像和您发布的附加代码,我注意到第二个代码块上的条件不是在第一个代码块中。

代码语言:javascript
复制
            <?php  if ($row3['iframe1']) {?>

所以我想问你的是这个。如果iframe2为空,则在数据库中。artist2是空白吗?如果是这样的话,并且根据您在原始电子邮件中所描述的情况,它看起来像artist1、title1和iframe1都包含值,但是该行的其余值是空的,在表中的下一条记录中,artist2、title2和iframe2被填充,其余的字段是空的,第三行的值也是相同的.如果是这样的话,那么您需要对while循环执行以下操作.

代码语言:javascript
复制
while($row2 = mysql_fetch_assoc($result2)){
     if ($row2['iframe1']) {?>
  1) <font color="orange"><strong><?php echo $row2['artist_name1'] ?> <?php echo     $row2['track_title1'] ?></strong></font>
  <?php  else if ($row2['iframe2']) {?>
  2) <font color="orange"><strong><?php echo $row2['artist_name2'] ?> <?php echo     $row2['track_title2'] ?></strong></font>
  <?php else if ($row2['iframe3']) {?>

  3) <font color="orange"><strong><?php echo $row2['artist_name3'] ?> <?php echo     $row2['track_title3'] ?></strong></font>
  <?php }

} ?>

票数 1
EN

Stack Overflow用户

发布于 2013-05-11 01:27:35

代码语言:javascript
复制
 <p> <a href="promote_next_step.php?promote=<?php echo $_GET['promote']?>">
<strong>        [More To Next Step]</strong></a></p>
<strong><font color="gray">Included so far:</font></strong><br/>

<?php 
  $sql2="SELECT * FROM `promote_track_lists` WHERE `promo_title`='".$_GET['promote1']."'";
  $result2=mysql_query($sql2);

$s=1;

  while($row2 = mysql_fetch_assoc($result2))
  {
      echo $s.') <font color="orange"><strong>'.$row2['artist_name1'].$row2['track_title1'] .'</strong></font>';
      $s++;
  }
?>

我觉得你的数据库结构搞砸了。每次插入时,请将表结构和要输入的数据张贴到列中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16492702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档