0

私の index.php ファイル:

    <?php
$query = mysql_query("SELECT `pic_id` FROM image_tag ORDER BY `pic_id`");

    while($run = mysql_fetch_array($query)){
    $pic_id = $run['pic_id'];
    $left = $run['left'];
    $top = $run['top'];
?>

<div id = "taggednum" style = "top:<?php echo $top; ?>; left:<?php echo $left; ?>;">
<ol><li rel ="<?php echo $pic_id; ?>"></li></ol>
</div>

<?php
    }
?>

リストに正しい番号が表示されません。リスト全体で「1」の番号が付けられました。ここで何が問題なのですか?

4

5 に答える 5

2

で常に注文リストを再開します<ol></ol>。修正するには、次のような結果が必要です。

<ol>
   <li>item 1
   <li>item 2
</ol>

そのためには、<ol>and</ol>タグをwhileループの外に置きます。

于 2013-02-06T08:45:03.200 に答える
1

あなたはいつもそこにあなたの<ol></ol>を入れます。あなたはすべきではありません

于 2013-02-06T08:45:11.947 に答える
0
<div id = "taggednum">

<ol>
<?php
$query = mysql_query("SELECT `pic_id` FROM image_tag ORDER BY `pic_id`");

    while($run = mysql_fetch_array($query)){
    $pic_id = $run['pic_id'];
    $left = $run['left'];
    $top = $run['top'];
?>


<li rel ="<?php echo $pic_id; ?>" style = "top:<?php echo $top; ?>; left:<?php echo $left; ?>;"></li>


<?php
    }
?>
</ol>
</div>

これでうまくいくはずです。毎回新しい順序付きリストを作成しています。

于 2013-02-06T08:47:22.193 に答える
0
<div id = "taggednum">
    <ol><?php
    $query = mysql_query("SELECT `pic_id`, `left`, `top` FROM image_tag ORDER BY `pic_id`");

        while($run = mysql_fetch_array($query)){
            $pic_id = $run['pic_id'];
            $left = $run['left'];
            $top = $run['top'];
            ?><li style="top:<?php echo $top; ?>; left:<?php echo $left; ?>;" rel="<?php echo $pic_id; ?>"></li><?php
        }
    ?></ol>
</div>
于 2013-02-06T08:45:29.330 に答える
0

<ol>あなたの外側のwhileループを置きます

コードのこの部分を確認してください。

$left = $run['left'];
$top = $run['top'];

クエリで * を使用する必要があると思います

于 2013-02-06T08:46:15.940 に答える