簡體   English   中英

PHP printf; CSS僅適用於數據庫的第一行

[英]PHP printf; Css only works on first row from database

需要幫忙。 我試圖在頁面上顯示讀者評論。 注釋保存在數據庫(MySQL)中。 我使用了printf(String, args1,args2)並在上面放了一些CSS樣式。 奇怪的是,css僅對第一個注釋起作用。

if ($conn = mysqli_connect("$servername", "$username", "$password", "$dbname")){
    $sql = "SELECT * FROM kommentare ORDER BY datum DESC";
    $ergebnis = mysqli_query($conn, $sql);
    while ($zeile = mysqli_fetch_object($ergebnis)){
        **$format = "<p><span id='ueberschrift'>%s<span/>&nbsp;<span id='writer'><a href='mailto:%s'>%s<a/> schrieb am:%s<span/><p/>
             <p id='kommentare'>%s<p/><hr/>";
        printf($format,
               htmlspecialchars($zeile->ueberschrift),     
               urlencode($zeile->email),
               htmlspecialchars($zeile->name),
               htmlspecialchars(date("d.m.Y, H:i", $zeile->datum)),

               nl2br(htmlspecialchars($zeile->kommentar))
              );**
    }
} else {
    echo "Fehler: ".  mysqli_connect_error(). "!";
}    

 #writer{ font-weight: normal; float:right; } #ueberschrift { font-weight: bold; font-size: 14px; } 

float:right僅適用於第一個注釋(數據庫的最后一行)我做錯了什么? 這是頁面圖像

嘗試使用

<span class ='ueberschrift'
<span class ='writer'

<span id ='ueberschrift'
<span id='writer'

每個ID應該是唯一的,並且每個html文檔僅出現一次。 類可以出現多次。

CSS將是:

.writer{
    font-weight: normal;
    float:right;   
}

 .ueberschrift {
       font-weight: bold;
       font-size: 14px;
}

https://css-tricks.com/the-difference-between-id-and-class/

檢查您的html結束標記, 所有 html結束標記均錯誤。

斜杠/應該放在<后面,使其像</tag> ,但自閉標簽如<br /><hr />等除外。

<span/> should be </span>
<a/> should be </a>
<p/> sholud be </p>

這是您代碼的完成

if ($conn = mysqli_connect("$servername", "$username", "$password", "$dbname")){
    $sql = "SELECT * FROM kommentare ORDER BY datum DESC";
    $ergebnis = mysqli_query($conn, $sql);
    while ($zeile = mysqli_fetch_object($ergebnis)){
        **$format = "<p><span id='ueberschrift'>%s</span>&nbsp;<span id='writer'><a href='mailto:%s'>%s</a> schrieb am:%s</span></p>
             <p id='kommentare'>%s</p><hr />";
        printf($format,
               htmlspecialchars($zeile->ueberschrift),     
               urlencode($zeile->email),
               htmlspecialchars($zeile->name),
               htmlspecialchars(date("d.m.Y, H:i", $zeile->datum)),

               nl2br(htmlspecialchars($zeile->kommentar))
              );**
    }
} else {
    echo "Fehler: ".  mysqli_connect_error(). "!";
} 

它可能會幫助您https://www.w3.org/TR/html5/syntax.html#end-tags

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM