而在另一个里面

时间:2013-11-13 07:21:31

标签: php mysql

我试图在同一个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>';

    ?>

1 个答案:

答案 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;