0

データベース テーブルに 2 つのエントリがありますが、何らかの理由で PHP/SQL がそれぞれの 6 つのレプリケートを表示しています。

<? 
mysql_select_db($database_database_connection, $database_connection);
$getdevices=("SELECT * FROM Device_tbl");
$getdevicesresult = mysql_query($getdevices, $database_connection) or die(mysql_error());
while($device=mysql_fetch_assoc($getdevicesresult))
{
foreach($device as $devicevalue) { ?>

        <div class="hold-cont">
        <div class="holder">
            <div class="image-hold" >
                <img class="image-icon" src="images/android.png"/>
</div>
        </div>
        <div class="device-name devicename-txt"><? print_r($device['Model']);  ?></div>
    </div>

<? }}
mysql_close();
?>

これは、エントリごとに 6 行ではなく、2 行のみを返す必要があります。何か案は?

4

2 に答える 2

3

結果を2回ループしています。foreach()不要な呼び出しを取り除きます(while()クエリのすべての結果をループします)。

<?php
mysql_select_db($database_database_connection, $database_connection);
$getdevices=("SELECT * FROM Device_tbl");
$getdevicesresult = mysql_query($getdevices, $database_connection) or die(mysql_error());
while($device=mysql_fetch_assoc($getdevicesresult)){
?>
    <div class="hold-cont">
        <div class="holder">
            <div class="image-hold" >
                <img class="image-icon" src="images/android.png"/>
            </div>
        </div>
        <div class="device-name devicename-txt"><?php echo $device['Model'];  ?></div>
    </div>

<?php
}
mysql_close();
?>

注:すべてのサーバーがサポートしているわけではないため、配列ではないasに変更print_r(...)し、短い開始タグ( )を通常のタグ()に変更しました( PHPの短いタグを使用できますか?を参照)。echo ...$device['Model']<?<?phpshort tags

于 2012-05-07T17:37:39.620 に答える
0

次の行を親切に修正してください

    <div class="device-name devicename-txt"><? print_r($device['Model']);  ?></div>

    <div class="device-name devicename-txt"><? echo($devicevalue['Model']);  ?></div>
于 2012-05-07T17:37:02.950 に答える