我试图在同一个html表中显示来自两个不同Mysql表的数据。这样做我在while循环中放了一个while循环。问题是在表中,第二个循环的数据仅显示在html表的第一个原始数据上。我真的不知道出了什么问题。谢谢你的帮助。
<?php
while($results = mysql_fetch_array($raw_results)){
echo '<td>';
echo '<a href="linkto.php?data='.ucfirst($results['song_name']).'" class="iframe"><img src="icons/1384070574_95.png"> ';
echo '<a href="'.ucfirst($results['song_name']).'" class="clapping">';
echo '<img src="icons/Hand-icon.png" id="songs'.$pictureid.'" onClick="action(\'songs'.$pictureid.'\')"/></a>';
echo '</td>';
echo '</tr>';
if (isset($userid)){
echo '<td>
<div id="cssmenu">
<ul>
li class="has-sub><a href="#"><span><img src="icons/1384074758_document_music_add.png"></span></a>
<ul>
<li class="has-sub"><a href="#" class="newplaylist"><span>Create a Playlist</span></a></li>';
while($playlist = mysql_fetch_array($raw_playlist)){
echo'<li class="has-sub"><a href="#"><span>'.ucfirst($playlist['title']).'</span></a></li>';
}
echo'</ul>
</li>
</ul>
</div>
</td>';
}
echo' </tr>
';
$pictureid = $pictureid + 1;
$songid= $songid + 1;
}
echo '</tbody>';
?>
答案 0 :(得分:0)
正如评论中所提到的,您可能会遇到嵌套数据的问题,具体取决于您要显示的内容。
然而,你的HTML是一团糟,缺少一些开始和结束标签,这可能意味着一些数据被发送到浏览器但没有显示。您是否在浏览器中查看了页面的来源以检查数据是否存在?在您这样做之前,我们无法确定缺少的数据是HTML,SQL还是PHP错误。
出于这个原因,您应该尝试限制来自PHP echo
的HTML数量,并且我已经整理了一些并在下面添加了缺少的标记。看看这是否有帮助。
<?php while ($results = mysql_fetch_array($raw_results)) : ?>
<tr>
<td>
<a href="linkto.php?data=<?php echo ucfirst($results['song_name']); ?>" class="iframe"><img src="icons/1384070574_95.png"></a>
<a href="<?php echo ucfirst($results['song_name']); ?>" class="clapping"><img src="icons/Hand-icon.png" id="songs<?php echo $pictureid; ?>" onClick="action('songs<?php echo $pictureid; ?>')" /></a>
</td>
</tr>
<?php if (isset($userid)) : ?>
<tr>
<td>
<div id="cssmenu">
<ul>
<li class="has-sub><a href="#"><span><img src="icons/1384074758_document_music_add.png"></span></a>
<ul>
<li class="has-sub"><a href="#" class="newplaylist"><span>Create a Playlist</span></a></li>
<?php while ($playlist = mysql_fetch_array($raw_playlist)) : ?>
<li class="has-sub"><a href="#"><span><?php echo ucfirst($playlist['title']); ?></span></a></li>
<?php endwhile; ?>
</ul>
</li>
</ul>
</div>
</td>
<?php endif; ?>
</tr>
<?php
$pictureid++;
$songid++;
endwhile;