2017-03-16 13 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

相关问题