Javascript 从SQL数据库中获取多个列并用HTML显示的最佳方法?
我正在为我高中的NHS创建一个网站。在主页上,我们希望有公告。由于我希望整个董事会(许多没有编程经验的人)能够添加公告,因此我正在尝试为任何人创建一种简单的方法来添加公告 我目前有一个SQL数据库,包含4列:公告标题、消息、公告发布日期和作者 我的PHP脚本如下所示:Javascript 从SQL数据库中获取多个列并用HTML显示的最佳方法?,javascript,php,Javascript,Php,我正在为我高中的NHS创建一个网站。在主页上,我们希望有公告。由于我希望整个董事会(许多没有编程经验的人)能够添加公告,因此我正在尝试为任何人创建一种简单的方法来添加公告 我目前有一个SQL数据库,包含4列:公告标题、消息、公告发布日期和作者 我的PHP脚本如下所示: $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("Connection failed: " .
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT Title, Message, Date, Author FROM Announcements";
$result = mysql_query($sql);
$titles = array();
$messages = array();
$dates = array();
$authors = array();
while($db_field = mysql_fetch_assoc($result)) {
$title = $db_field['Title'];
$message = $db_field['Message'];
$date = $db_field['Date'];
$author = $db_field['Author'];
$date = DATE("Y-m-d", $date);
$titles[] = $title;
$messages[] = $message;
$dates[] = $date;
$authors[] = $author;
}
$combined = array($titles, $messages, $dates, $authors);
我的想法是获取数据,将其组合成一个矩阵,然后将其传递给将生成HTML的javascript脚本。显然,这不是很有效(或者可能是。我是一个完全的PHP noob,正在学习,哈哈),所以我想知道是否有更好的方法来做到这一点
提前谢谢 不要在多个数组中推送数据,而是在单个数组中推送数据,这样您就可以迭代数据了
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT Title, Message, Date, Author FROM Announcements";
$result = mysql_query($sql);
$addData = array();
while($db_field = mysql_fetch_assoc($result)) {
$title = $db_field['Title'];
$message = $db_field['Message'];
$date = $db_field['Date'];
$author = $db_field['Author'];
$date = DATE("Y-m-d", $date);
$addData[] = array($title,$message,$date,$author);
}
var_dump($addData);
不要在多个数组中推送数据,而是在单个数组中推送数据,以便可以迭代它
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT Title, Message, Date, Author FROM Announcements";
$result = mysql_query($sql);
$addData = array();
while($db_field = mysql_fetch_assoc($result)) {
$title = $db_field['Title'];
$message = $db_field['Message'];
$date = $db_field['Date'];
$author = $db_field['Author'];
$date = DATE("Y-m-d", $date);
$addData[] = array($title,$message,$date,$author);
}
var_dump($addData);
这是你想要的吗。这是没有javascript的
<?php
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed:" . mysqli_connect_error());
}
$result = mysqli_query($conn,"SELECT Title, Message, Date, Author FROM Announcements");
$newresult= [];
while($row= mysqli_fetch_assoc($result )) {
$title = $row['Title'];
$message = $row['Message'];
$date = DATE("Y-m-d",$row['Date']);
$author = $row['Author'];
$newresult[] = ['title'=>$title,'message'=>$message,'date'=>$date,'author'=>$author];
}
echo '<table><thead>'.
'<tr>
<th>Title</th><th>Message</th><th>Date</th><th>Author</th>
</tr>
</thead>
<tbody>';
foreach($newresult as $r){
echo '<tr>'.
'<td>'.$r['title'].'</td>'.
'<td>'.$r['message'].'</td>'.
'<td>'.$r['date'].'</td>'.
'<td>'.$r['author'].'</td>'.
'</tr>';
}
echo '</tbody></table>';
?>
这是否符合您的要求。这是没有javascript的
<?php
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed:" . mysqli_connect_error());
}
$result = mysqli_query($conn,"SELECT Title, Message, Date, Author FROM Announcements");
$newresult= [];
while($row= mysqli_fetch_assoc($result )) {
$title = $row['Title'];
$message = $row['Message'];
$date = DATE("Y-m-d",$row['Date']);
$author = $row['Author'];
$newresult[] = ['title'=>$title,'message'=>$message,'date'=>$date,'author'=>$author];
}
echo '<table><thead>'.
'<tr>
<th>Title</th><th>Message</th><th>Date</th><th>Author</th>
</tr>
</thead>
<tbody>';
foreach($newresult as $r){
echo '<tr>'.
'<td>'.$r['title'].'</td>'.
'<td>'.$r['message'].'</td>'.
'<td>'.$r['date'].'</td>'.
'<td>'.$r['author'].'</td>'.
'</tr>';
}
echo '</tbody></table>';
?>
您是否只需要通过Javascript生成html表?我不确定您的问题是什么意思。我需要以某种方式将其转换为html元素。我真的不在乎是否是通过javascript。这个问题可能更容易被接受。你是否只需要通过javascript生成html表?我不知道你的问题是什么意思。我需要以某种方式将其转换为html元素。我真的不在乎它是否通过javascript。这个问题可能会更好地被接受。谢谢你的优化!如果你不介意的话,我也有点困惑,我如何编写javascript函数,将这些数据加载到页面并传输到DOM。或者中间的JS是必要的?@ryanyz10–用php值包装HTML并进行迭代的Ajax…谢谢你的优化!如果你不介意的话,我也有点困惑,我如何编写javascript函数,将这些数据加载到页面并传输到DOM。或者中间的JS是必要的吗?@ryanyz10–用php值包装HTML并进行迭代的Ajax…非常好用!我想我只是想让事情变得复杂,想要一个javascript文件在两者之间…工作得很好!我想我只是想要一个javascript文件,让事情变得复杂。。。