我有一个非常基本的桌子,名为'客户'有四列:
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。
答案 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>