簡體   English   中英

為什么只有2個條目時我的PHP數據庫查詢返回6行?

[英]Why is my PHP Database query returning 6 rows when only 2 entries?

我的數據庫表中有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();
?>

那應該只返回2行,而不是每個條目6行。 有任何想法嗎?

您要遍歷兩次結果。 擺脫不必要的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();
?>

注意: 我也將print_r(...)更改為echo ...因為$device['Model']不是數組,並且我將您的短標簽( <? )更改為普通標簽( <?php ),因為並非所有服務器都支持short tags (請參閱可以使用PHP短標記嗎? )。

請更正以下行

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM