2017-03-16 36 views
0

我一直有問題顯示的項目,我從我的數據庫保存在一個數組中。我的表格有兩列'name'和'details'。我成功地使用mySQLi檢索了它們,並將它們存儲在一個數組中,但不是一次顯示所有列,而是希望將它們放在我的網頁上的不同位置。例如 <p>$Name1: $Details1</p>。然後在同一頁的另一部分 <p>$Name2: $Details2</p>。這是我的代碼:單獨顯示數組中的存儲項目

<?php 
include ("config/database.php"); 
$mysqli = new mysqli($host, $user, $passwd, $database); 
if ($mysqli-> connect_errno){ 
    printf("Connect failed: %s\n",$mysqli-> connect_error); 
    exit(); 
} 

$query = "SELECT name, details FROM recent_properties LIMIT 3"; 

if($result = $mysqli->query($query)){ 

printf("%s: %s<br>", $row["name"], $row["details"]); 
    $result->free(); 
} 
$mysqli->close(); 
?> 
+1

這是什麼問題?請提供您可能遇到的任何錯誤......您到目前爲止嘗試過什麼? –

+1

如果你想顯示數組中的多個元素,使用循環 –

回答

0

您是否嘗試過這樣。使用loop。顯示所有記錄。

$query = "SELECT name, details FROM recent_properties LIMIT 3"; 

$result = $mysqli->query($query); 

if($result->num_rows()>0) 
{ 
    while($row = $result->fetch_assoc()) 
    { 
    printf("%s: %s<br>", $row["name"], $row["details"]); 
    } 
} 

$mysqli->close(); 
+0

yes Hek mat,我的循環遍歷行並顯示所有記錄。但我不想一次顯示所有記錄。我不知道如何從數組中逐個挑選項目來顯示。例如。 $ row [「name」] [0],$ row [「details」] [0],然後$ row [「name」] [1],$ row [「details」] [1]等等 – Dahlia

+0

這是我最近的代碼<?php include(「config/database.php」); ($ mysqli-> connect_errno){ /*檢查連接*/ if($ mysqli-> connect_errno){ printf(「Connect failed:%s \ n」,$ mysqli-> connect_error); exit(); } $ query =「SELECT name,details FROM recent_prop」; $ result = $ mysqli-> query($ query); $ row = $ result-> fetch_array(MYSQLI_NUM); /*免費結果集*/ $ result-> free(); /*關閉連接*/ $ mysqli-> close(); ?> – Dahlia

0

你通過你的$result需要循環,並獲取關聯數組:

while ($row = $result->fetch_assoc()) { 
    printf ("%s (%s)\n", $row["name"], $row["details"]); 
} 

編輯:

while ($row = $result->fetch_assoc()) { 
    echo '<p>'.$Name1.': '.$Details1.'</p>'; 
    // Whatever else in this section 
    // You can even break out of PHP and then 
    // get back into PHP again if you have a lot of HTML. 
} 
+0

我想單獨顯示項目 – Dahlia

+0

您可以在循環中使用'if'語句。 'if($ row [「name」] ==「Dahlia」){echo $ row [「details」]; }這有幫助嗎? –

+0

老實說,沒有。因爲即時通訊不搜索數組的特定值,我只想顯示數組的所有項目。但不在同一個地方 – Dahlia

0
$query = "SELECT name, details FROM recent_properties"; 

$result = $mysqli->query($query); 

if($result->num_rows()>0) 
{ 
    $html = "<table>"; 
    $html .= '<tr><th>Name</th><th>Details</th></tr>'; 
    while ($row = $result->fetch_assoc()) { 
     $html .= '<tr>'; 
     $html .= '<td>' . $row["name"] . '<td>'; 
     $html .= '<td>' . $row["details"] . '<td>'; 
     $html .= '</tr>'; 
    } 
    $html .= "</table>"; 
    echo $html; 
} 

$mysqli->close(); 

這是創建數據的HTML內容的最簡單方法

你的情況,你可以做一些這樣的事

if ($result->num_rows() > 0) { 
    $dataArray = []; 
    while ($row = $result->fetch_assoc()) { 
     $dataArray[$row["name"]] = $row["details"]; 
    } 
} 

,然後使用數組中的HTML

<body> 
    <p><?php echo 'a: ' . $arrayData['a'] ?></p> 
    <p><?php echo 'b: ' . $arrayData['b'] ?></p> 
    <p><?php echo 'c: ' . $arrayData['c'] ?></p> 
</body> 
+0

感謝Mahdi,但是你的意思是在HTML中使用'dataArray'而不是'arrayData' – Dahlia

相關問題