这段代码可以工作,但我想显示数据,但不使用echo,我想要包含超文本标记语言的index.php来显示它,我不想像下面的代码那样回显所有内容。这是PHP代码:
<?php
try{
$pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
// Set the PDO error mode to exception
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("ERROR: Could not connect. " . $e->getMessage());
}
// Attempt select query execution
try{
$sql = "SELECT * FROM persons";
$result = $pdo->query($sql);
if($result->rowCount() > 0){
echo "<table>";
echo "<tr>";
echo "<th>id</th>";
echo "<th>first_name</th>";
echo "<th>last_name</th>";
echo "<th>email</th>";
echo "</tr>";
while($row = $result->fetch()){
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['first_name'] . "</td>";
echo "<td>" . $row['last_name'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "</tr>";
}
echo "</table>";
// Free result set
unset($result);
} else{
echo "No records matching your query were found.";
}
} catch(PDOException $e){
die("ERROR: Could not able to execute $sql. " . $e->getMessage());
}
// Close connection
unset($pdo);
?>
发布于 2018-08-01 08:18:11
您必须使用字符串方法来输出您的print或echo,以便将数据从数据库中获取到您的HTML中。但是,您当然可以通过几种不同的方式将HTML从过程化PHP中分离出来。
答:您可以使用jQuery和XHR (AJAX)从PHP中提取数据,并使用jQuery .html()、.clone()、.append()等填充空的HTML。
B.将数据库结果放入一个数组中,稍后可以在HTML中遍历该数组,如下所示:
// backend code
while($row = $result->fetch()){
$myData[] = $row; // makes a multi-dimensional array of your data
}
// then later in your HTML
<!DOCTYPE html>
...
<table>
<tr>
<th>id</th>
<th>first_name</th>
<th>last_name</th>
<th>email</th>
</tr>
<?php foreach($myData as $values){ ?>
<tr>
<td><?=$values['id'];?></td>
<td><?=$values['first_name'];?></td>
<td><?=$values['last_name'];?></td>
<td><?=$values['email'];?></td>
</tr>
<?php } ?>
</table>
https://stackoverflow.com/questions/51623553
复制相似问题