Closed. This question is opinion-based。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                
                    3年前关闭。
            
        

    

我正在为我的高中NHS创建一个网站。在主页上,我们希望有公告。由于我希望整个董事会(许多没有编程经验的人)能够添加公告,因此,我试图为任何人创建一种添加公告的简便方法。

我目前有一个SQL数据库,其中包含4列:公告标题,消息,公告发布日期和作者。

我的PHP脚本如下所示:

$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新手,哈哈),所以我想知道是否有更好的方法可以做到这一点。

提前致谢!

最佳答案

这是您想要的吗?这是没有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>';
?>

10-05 20:55
查看更多