0

私はグーグルで検索し、何の役にも立たないようにいくつかのことを試しました。PHPとMySQLでいくつかのクラスを受講しており、配列結果の行に交互の色を追加しようとしています。これまでのところ、何も機能していません。どこに置けばいいのかわからない。これは私が持っているコードです:

//assemble the sql query string to insert a record
$query="SELECT * FROM Vehicles WHERE buyer IS NOT NULL ORDER BY StockID asc";

//open a connection and select the database
$conn=mysql_connect($host, $username, $password);
@mysql_select_db($database, $conn) or die ("Unable to select $database database");

//Execute the sql query
if($result=mysql_query($query, $conn)){
$rows=mysql_numrows($result);
echo"<p>There are $rows cars in the system</p>";
?>  

<table border="0" align="center" border="0" cellspacing="0" style="margin:auto; border-spacing:2px 1px; border-collapse:separate; border:ridge 5px; border-color:#669999;">
<tr>
<td style="background-color:#92DEDC">Stock ID</td>
<td style="background-color:#92DEDC">Reg Number</td>
<td style="background-color:#92DEDC">Make</td>
<td style="background-color:#92DEDC">Model</td>
<td style="background-color:#92DEDC">Year</td>
<td style="background-color:#92DEDC">Cost Price</td>
<td style="background-color:#92DEDC">EmpID</td>
<td style="background-color:#92DEDC">Sell Price</td>
<td style="background-color:#92DEDC">Seller</td>
<td style="background-color:#92DEDC">Buyer</td>
<td style="background-color:#92DEDC">Admin Tasks</td>
</tr>

<?php

$i=0;

while($i<$rows){
    $recordArray=mysql_fetch_array($result);//fetch and display a record
        echo "<tr bgcolor='$bgcolor'>   
                <td >$recordArray[StockID]</td>
                <td>$recordArray[Rego_No]</td>
                <td>$recordArray[Make]</td>
                <td>$recordArray[Model]</td>
                <td>$recordArray[Year]</td>
                <td>$recordArray[Cost_Price]</td>
                <td>$recordArray[employeeid]</td>
                <td>$recordArray[Sale_Price]</td>
                <td>$recordArray[emp_name]</td>
                <td>$recordArray[Buyer]</td>
                <td>
                    <a href='edit-car.php?StockID=$recordArray[StockID] & emp_name=$recordArray[emp_name]'>Edit</a>
                </td>
            </tr>";
        $i++;
}else{
echo "Something went wrong. MySQL reports <b>", mysql_error(),"</b>";
}
?>  
</table>
<?php
mysql_close($conn);
?>
</body></html>

どんな援助でも大歓迎です。コースはまだ1週間で、結果を少しドレスアップしようとしています。

4

4 に答える 4

3

カウンターを使用します。

if($i % 2 == 0) {
  $class = "even";
}
else {
  $class = "odd"
}

次に、その$ classを(繰り返される背景色のものではなく)テンプレートに追加し、.evenおよび.oddセレクターを使用してCSSを記述します。

(私のPHPは少し錆びていますが、それが一般的な考え方です)。

また、mithunsatheeshが指摘したように、mysql_ *関数のセットは非常に危険であり、全体として使用するのは悪い計画です。代わりにPDOを使用してください。

于 2013-02-16T05:18:34.620 に答える
0

The Idea of​​ Spudを使用して、スタイルの文字列を作成できます

if($i % 2 == 0) {

$style = "style='background-color:white'";
}
else {
$style = "style='background-color:#eee'";
}`

行タグのbgcolorの代わりに使用できます

<tr $style>
于 2013-02-16T05:30:03.440 に答える
0
<?php

$i=0;

while($recordArray=mysql_fetch_array($result))
{
    if($i % 2 == 0) 
    {
      $bgcolor= "#006666";
   }
   else 
  {
     $bgcolor= "#CC6699";
  }
   $i++;
    echo "<tr bgcolor='$bgcolor'>   
            <td >$recordArray[StockID]</td>
            <td>$recordArray[Rego_No]</td>
            <td>$recordArray[Make]</td>
            <td>$recordArray[Model]</td>
            <td>$recordArray[Year]</td>
            <td>$recordArray[Cost_Price]</td>
            <td>$recordArray[employeeid]</td>
            <td>$recordArray[Sale_Price]</td>
            <td>$recordArray[emp_name]</td>
            <td>$recordArray[Buyer]</td>
            <td>
                <a href='edit-car.php?StockID=$recordArray[StockID] & emp_name=$recordArray[emp_name]'>Edit</a>
            </td>
        </tr>";


   }
 ?>  
于 2013-02-16T05:32:04.873 に答える
0

上手、

一方...elseは1つでは機能しません。これを行う一般的な方法は次のとおりです。

$dbx=new mysqli('host','user','pw');
$q=$dbx->query"SELECT * FROM whatever";
if ($q) {
    while ($f=$q->fetch_assoc()) {
       echo "<tr><td>{$f['whatever']}</td></tr>";
    }
} else {
    echo "Problem";
}

次に:cssで、cssファイルにPutを入れたとします。

#resultsTable tr:nth-child(even) { background-color:blue; }
于 2013-02-16T05:43:49.610 に答える