我有一个 while 循环。它应该循环遍历数据库表并输出找到的结果,它做得很好。然而,它还在 while 循环中复制了 HTML(输出两次,一次反向输出??)。
参见:
1) Jazzminder Soundscape 2) 3) 1) 2) Jazzminder Dandelion 3)
应该阅读:
1) Jazzminder Soundscape 2) Jazzminder Dandelion 3)
我尝试过调整和重写代码,但无法隔离问题。我以前没有遇到过这个问题。
这是代码块:
<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
}
?>
谢谢各位的回复!!问题是,我有另一个页面可以很好地从数据库中提取信息:
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)两次。我尝试对数据库进行操作,使条目彼此完全唯一,但可以通过一个查询提取所有内容。 ……如果这是有道理的话。
最佳答案
我打算尝试一下,但如果没有完整的代码,我可能会错。我猜问题出在你的 MySQL 上。根据您想要输出的内容。一条记录看起来像这样
艺术家姓名1 |艺术家姓名2 |艺术家姓名3 |轨道标题1 |轨道标题2 |轨道标题3
但是根据您所说的输出显示方式,您的表格很可能如下所示 艺术家姓名 |轨道标题
你能告诉我你的 table 是什么样子吗?
仅供引用,它并没有反向显示内容,它显示所有 3 行 3 次,但每次您只能看到一组值。所以你看到 1 -data- 2 3 然后 1 2 -data- 3 然后 1 2 3 -data- 我希望这是有道理的
因此,查看您的图像和您发布的附加代码,我注意到第二个代码块上存在这种情况,但它不在您的第一个代码块中。
<?php if ($row3['iframe1']) {?>
所以我要问你的问题是这样的。如果 iframe2 为空,则在您的数据库中。艺术家2 是空白的吗?如果是这种情况,并且根据您在原始电子邮件中的描述,看起来artist1 title1和iframe1都包含值,但该行的其余值是空白的,并且在表中的下一条记录中artist2 title2和iframe2被填充其余字段为空,第三个字段也是如此...如果是这种情况,那么您需要对 while 循环执行以下操作...
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 }
} ?>
关于php - 虽然循环 : Works, 但也循环 HTML 并输出两次(一次反向?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16492702/