0

ループしていない do wile ループに少し問題があります。現在、返す必要がある SQL には 2 つの結果がありますが、1 つしか表示されません。

SQL。- 見つけるべき 2 つの結果

array('bid'=>4,'bname'=>'fdsfsdaf','section'=>'Network','btype'=>'Activity','breq'=>'fdsfsd','bnotes'=>'fdsfdsf','image'=>'Badges/Network/2inchsquare.png'),
  array('bid'=>3,'bname'=>'Test','section'=>'Network','btype'=>'Activity','breq'=>'dfsfds','bnotes'=>'fsdfs','image'=>'Badges/Network/2inchsquare.png')
);

私のPHP

<?php
require_once('inc/global.php');
include('inc/auth.php');
mysql_select_db($dbname, $db);
$sql = "SELECT * FROM badges WHERE section = 'Network'";
$result = mysql_query($sql, $db) or die(mysql_error());
$bnetwork = mysql_fetch_assoc($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Admin</title>
<link href="css/admin.css" type="text/css" rel="stylesheet" media="screen,projection" />
</head>
<body>
<div id="listtable">

<table class="contacts">
        <tr>
            <td class="contactDept" width="20%">Badge Name</td>
            <td class="contactDept" width="20%">Section</td>
            <td class="contactDept" width="20%">Badge Type</td>
            <td class="contactDept" width="20%">Pic</td>
            <td class="contactDept" width="10%">Edit</td>
            <td class="contactDept" width="10%">Del</td>
        </tr>
</table>
<?php do { ?>       
        <ul>
            <li class="badgeName"><?php echo $bnetwork['bname']; ?></li>
            <li class="badgeSection"><?php echo $bnetwork['section']; ?></li>
            <li class="badgeType"><?php echo $bnetwork['btype']; ?></li>
            <li class="badgePic"><img src="<?php echo $bnetwork['image'];?>" width="30px" height="30px"></li>
            <li class="badgeEdit"><a href="#">Edit</a></li>
            <li class="badgeDel"><a href="#">Del</a></li>
        </ul>

<?php } while($bnetwork = mysql_fetch_assoc($result)); ?>
</div>
</body>
</html>

テーブルがLIタグであってはならないことはわかっています。何らかの理由でTDタグが気に入らなかった場合に備えて試してみました。結果が 1 つしか表示されない理由がわかる方教えてください。

4

1 に答える 1

0

while ループは適切である必要があります。また、エコーと「;」は必要ありません HTMLに変数を表示するだけの場合。'=' を使用して、開始 php タグの直後にエコーを意味することができます。これが役立つことを願っています。

<? while($n = mysql_fetch_assoc($result)) { ?>
        <ul>
            <li class="badgeName"><?=$n['bname']?></li>
            <li class="badgeSection"><?=$n['section']?></li>
            <li class="badgeType"><?=$n['btype']?></li>
            <li class="badgePic"><img src="<?=$n['image']?>" width="30px" height="30px"></li>
            <li class="badgeEdit"><a href="#">Edit</a></li>
            <li class="badgeDel"><a href="#">Del</a></li>
        </ul>
<? } ?>
于 2012-10-07T17:59:42.367 に答える