我如何添加一个类来引用两个列


How can I add a class for td in reference to two columns

我有一个渲染行数据库

echo "<table border='1' cellpadding='10'>";
echo "<tr> <th>ID</th> <th>First Name</th> <th>Last Name</th> <th></th> <th></th></tr>";
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $result )) {
    // echo out the contents of each row into a table
    echo "<tr>";
    echo '<td>' . $row['id'] . '</td>';
    echo '<td>' . $row['tex1'] . '</td>';
    echo '<td>' . $row['tex2'] . '</td>';
    echo '<td>' . $row['tex3'] . '</td>';
    echo '<td>' . $row['tex4'] . '</td>';
    echo '<td>' . $row['tex5'] . '</td>';
    echo '<td>' . $row['tex6'] . '</td>';
    echo '<td>' . $row['tex7'] . '</td>';
    echo '<td>' . $row['tex8'] . '</td>';
    echo '<td>' . $row['tex9'] . '</td>';
    echo '<td>' . $row['tex10'] . '</td>';
    echo '<td><a href="edit.php?id=' . $row['id'] . '">Edit</a></td>';
    echo '<td><a href="delete.php?id=' . $row['id'] . '">Delete</a></td>';
    echo "</tr>"; 
} 
// close table>
echo "</table>";

而在tex1是一个日期,我的问题是为tr的一个类,当tex2为空,tex1的日期超过30天,tr有类红色,tex1的日期是手动插入的,我该如何做在此基础上更改类?

我不确定我是否理解你想要什么,但我会试一试。当日期大于30天(tex1)或者First Name为空(tex2)的条件满足时,您想要添加一个类("red")到。

echo "<table border='1' cellpadding='10'>";
echo "<table border='1' cellpadding='10'>";
echo "<tr> <th>ID</th> <th>First Name</th> <th>Last Name</th> <th></th> <th></th></tr>";
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $result )) {
    // echo out the contents of each row into a table
    // I assume since you're just printing it out, the date is a String
    // So first convert it to a timestamp
    $date = strtotime($row['tex1']);
    // Determine the difference, I'm doing it this way to make it easy for you to understand
    $days = 60*60*24*30; // 30 days
    if (empty($row['tex2']) || time()-$date > $days) {
        echo '<tr>';
    } else {
        echo '<tr class="red">';
    }
    echo '<td>' . $row['id'] . '</td>';
    echo '<td>' . $row['tex1'] . '</td>';
    echo '<td>' . $row['tex2'] . '</td>';
    echo '<td>' . $row['tex3'] . '</td>';
    echo '<td>' . $row['tex4'] . '</td>';
    echo '<td>' . $row['tex5'] . '</td>';
    echo '<td>' . $row['tex6'] . '</td>';
    echo '<td>' . $row['tex7'] . '</td>';
    echo '<td>' . $row['tex8'] . '</td>';
    echo '<td>' . $row['tex9'] . '</td>';
    echo '<td>' . $row['tex10'] . '</td>';
    echo '<td><a href="edit.php?id=' . $row['id'] . '">Edit</a></td>';
    echo '<td><a href="delete.php?id=' . $row['id'] . '">Delete</a></td>';
    echo "</tr>"; 
} 
// close table>
echo "</table>";

你应该检查你在问题中提到的条件。这可以这样做。

 if(strtotime($row['tex1']) + 30 * 24 * 60 * 60 < time() && $row['tex2'] =="") {
       $class="class='red'";
 } else {
       $class= "";
 }
 echo "<tr $class>";// id condition satisfies, class='red' will get echo, else echo will be null.

在写入元素时尝试使用条件:

echo '<tr'.
    ( ((strtotime($row['tex1']) < strtotime('30 days ago'))
      && (empty($row['tex2']))) ? ' class="red"' : '').
'>';