2

私のワードプレスサイトには連絡先フォームがあり、それはmysqlへのデータであり、メールでも送信されます。私は現在、データベースからデータを読み取って印刷するだけの単純な web アプリに取り組んでいます。モバイルで読みやすくするために、データベースから印刷された 1 行おきにグレー、1 行おきに白にしたいと考えています。コードからわかるように、これを試しましたが、惨めに失敗しました。だから私はこれを見てほしい: http://i49.tinypic.com/20fbvdi.png そしてここにコードがあります:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Yhteydenottopyynnöt</title>
<style>
body{width:100%;}
.anotherrow{background-color:#f1f;}
</style>
</head>

<body>
<?php
$con = mysql_connect("localhost","user","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("database", $con);

$result = mysql_query("SELECT * FROM wp_contactform");

echo "<table border='1'>
<tr>
<th style='width:10%;'>ID</th>
<th style='width:10%;' class='anotherrow'>Nimi</th>
<th style='width:10%;'>Puhelin</th>
<th style='width:10%;' class='anotherrow'>Sposti</th>
<th style='width:40%;'>Viesti</th>
<th style='width:10%;' class='anotherrow'>P&auml;iv&auml;</th>
<th style='10%;'>IP</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td style='width:10%;'>" . $row['ID'] . "</td>";
  echo "<td style='width:10%;' class='anotherrow'>" . $row['Nimi'] . "</td>";
  echo "<td style='width:10%;'>" . $row['Puhelin'] . "</td>";
  echo "<td style='width:10%;' class='anotherrow'><a href='mailto:" . $row['Email'] . "'>" . $row['Email'] . "</a></td>";
  echo "<td style='width:40%;'>" . $row['Viesti'] . "</td>";
  echo "<td style='width:10%;' class='anotherrow'>" . $row['Day'] . "</td>";
  echo "<td style='width:10%;'>" . $row['IP'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>
</body>
</html>

コードから悪夢を見ないでください。それは私にとって十分に有効であり、Web アプリを使用しているのは私だけです :)

4

4 に答える 4

10

より現代的なアプローチを取り、CSS3 セレクターを使用してみませんか?

tr:nth-child(even) { background: #f1f; }

互換性ステータスについては、こちらこちらを参照してください。

于 2012-07-20T12:29:39.230 に答える
5

あなたの前に反復カウンターを作成してください。

$i = 0;
while($row = mysql_fetch_array($result))

次に、$i偶数の場合は 1 色を適用し、奇数の場合は 1 つ以上の色を適用します。

if ($i % 2 == 0) {
  echo "<tr class='firstColor'>";
} else {
  echo "<tr class='secondColor'>";
}

終了前に変数をイテレータしますwhile$i++

于 2012-07-20T12:12:13.750 に答える
2

これを試して ;

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Yhteydenottopyynnöt</title>
<style>
body{width:100%;}
.anotherrow{background-color:#f1f;}
</style>
</head>

<body>
<?php
$con = mysql_connect("localhost","user","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("database", $con);

$result = mysql_query("SELECT * FROM wp_contactform");

echo "<table border='1'>
<tr>
<th style='width:10%;'>ID</th>
<th style='width:10%;'>Nimi</th>
<th style='width:10%;'>Puhelin</th>
<th style='width:10%;'>Sposti</th>
<th style='width:40%;'>Viesti</th>
<th style='width:10%;'>P&auml;iv&auml;</th>
<th style='10%;'>IP</th>
</tr>";

$count = 0;
while($row = mysql_fetch_array($result))
  {
  echo "<tr".((($count%2) == 0)?"":" class='anotherrow'").">";
  echo "<td style='width:10%;'>" . $row['ID'] . "</td>";
  echo "<td style='width:10%;' class='anotherrow'>" . $row['Nimi'] . "</td>";
  echo "<td style='width:10%;'>" . $row['Puhelin'] . "</td>";
  echo "<td style='width:10%;' class='anotherrow'><a href='mailto:" . $row['Email'] . "'>" . $row['Email'] . "</a></td>";
  echo "<td style='width:40%;'>" . $row['Viesti'] . "</td>";
  echo "<td style='width:10%;' class='anotherrow'>" . $row['Day'] . "</td>";
  echo "<td style='width:10%;'>" . $row['IP'] . "</td>";
  echo "</tr>";
$count++;
  }
echo "</table>";

mysql_close($con);
?>
</body>
</html>
于 2012-07-20T12:11:34.513 に答える
0

これに対する非常に単純な解決策は、奇数値と偶数値の2つの単純なCSSクラスを作成することです。それぞれに個別の背景色を定義します。次に、次のコードを使用して作業を完了します。

$j=0;
if(!($j%2)) {
            $cssClass = 'odd';
         } else {
            $cssClass = 'even';
         }
         $j++;

<tr class=<?php echo $cssClass; ?> > Data </tr>

こういう感じ。

于 2012-07-20T12:14:30.597 に答える