mysqli_fetch_array使用foreach循环

时间:2016-11-17 17:18:49

标签: php arrays mysqli

我有一个非常基本的桌子,名为'客户'有四列:
ID(主要自动增量)
BUSINESSNAME
CONTACTNAME
contactEmail

我称之为:

$result = mysqli_query($con, "SELECT * FROM customers");

正在使用mysqli_fetch_array在foreach循环的页面上显示它:

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{    
    echo "<tr>";
    foreach ($row as $value) {
        echo "<td>" . $value . "</td>";
    }
    echo "<td><a href='updateform.php?id=" . $row['id'] . "'>Edit</a></td>";
    echo "</tr>";
}

它为您提供了如下数组:

Array ( [id] => 1 [businessName] => Microsoft [contactName] => Bill Gates [contactEmail] => bill@microsoft.com ) Array ( [id] => 2 [businessName] => Amazon [contactName] => Jeff Bezos [contactEmail] => jeff@amazon.com ) 

是否可以根据它们所在的列(技术上现在位于数组中)显示不同的结果?我想做一个

a href="mailto:bill@microsoft.com"  

联系电子邮件时链接 如果我只想显示一个键或值而不是使用foreach,该怎么办? 呼叫

似乎无法实现
$row['contactEmail'] 
在foreach循环中

这使我感到困惑,因为我可以创建一个链接到

$row['id']

如果有人有任何想法如何做到这一点,或者有更好的方式来显示这些信息,我可以接受建议,因为我不擅长编程,尤其是PHP。

2 个答案:

答案 0 :(得分:2)

是的!你可以这样添加:

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{    
    echo "<tr>";
    foreach ($row as $key => $value) {
        if($key == "contactEmail"){
          $mailUrl = "mailto:".$value;
          echo "<td><a href=".$mailUrl.">".$value."</a>";
        }
        else{
          echo "<td>" . $value . "</td>";
        }
    }
    echo "<td><a href='updateform.php?id=" . $row['id'] . "'>Edit</a></td>";
    echo "</tr>";
}

答案 1 :(得分:1)

是的,您可以mysqli_fetch_array使用foreach循环直接检索数据。像贝娄:

<?php
  $result = mysqli_query($con, "SELECT * FROM customers");
?>
<table>
    <tr>
        <td>Business Name</td>
        <td>Contact Name</td>
        <td>#</td>
    </tr>
    <?php
    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
    {    
        echo "<tr>";
            echo "<td>".$row['businessName']."</td>";       
            foreach ($row as $key => $value) {
                $newValue = $key == "contactEmail" ? '<a href="mailto:'.$mailUrl.'">'.$value.'</a>' : $value;
                echo "<td>" . $newValue . "</td>";         
            }
            echo "<td><a href='updateform.php?id=" . $row['id'] . "'>Edit</a></td>";
        echo "</tr>";
    } 
    ?>
</table>