[英]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/> <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; }
嘗試使用
<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;
}
檢查您的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> <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(). "!";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.