我是PHP的新手,因此寻找一种简单快捷的解决方案 我应该在我的网站上显示一个SQL表,我只需要设置一个表行的样式(第二个:" Betrag")。据我所知,表行是在这里创建的:
function beginChildren() {
echo "<tr>";
我不确定如何只设置其中一个而不是一起设置。我的代码甚至可以实现这一点吗? 谢谢你的帮助!
<?php
echo "<table style='width: 60%; margin-left:auto; margin-right: auto;text-align: center;' >";
echo "<tr><th>Text</th><th>Betrag</th><th>Zeichen</th><th>Datum</th></tr>";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "<td style='background-color: #F7F7F7;padding: 2px 5px 2px 5px; border:1px solid white;'>" . parent::current(). "</td>";
}
function beginChildren() {
echo "<tr>";
}
function endChildren() {
echo "</tr>" . "\n";
}
}
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "db";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT Inhalt, Betrag, Zeichen, Datum FROM korrektur_user1 ORDER BY Inhalt DESC");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>
答案 0 :(得分:0)
查看id
HTML属性。您可以将这些ID添加到表行中,并获得如下内容:
<tr id="qwerty">
...
</tr>
<tr id="betrag">
...
</tr>
<tr id="kljhlkh">
...
</tr>
然后,在您的CSS文件中(或在同一个HTML文件中,在<style>
标记中):
tr#betrag {
/*your styles here*/
}
这确保只有&#34; betrag&#34;行得到了样式。
或者,如果您需要设置第二行的样式而不管其内容如何,请使用nth child CSS选择器。
答案 1 :(得分:0)
根据您的评论,编辑您的PHP脚本:
function beginChildren() {
echo "<tr class='someClass'>";
}
在你的CSS中,
tr.someClass {
/* Add your stylistic declaration here */
}
或者,不太建议,在PHP中执行所有操作
function beginChildren() {
echo "<tr style='background:#666666;'>";
}
答案 2 :(得分:0)
首先,您要在PHP文件中设置表格样式,这是不好的做法。
创建一个单独的CSS文件并从那里设置样式,例如使用td:nth-child(2) {background: #ff0000;}
或者做:
echo "<tr><th>Text</th>"; ?>
<th style="STYLE HERE">Betrag</th>
<?php
echo "<th>Zeichen</th><th>Datum</th></tr>"; ?>