繁体   English   中英

PHP和MySQL表输出行颜色

[英]PHP and mySQL table output row colors

我已经建立了一个mySQL数据库,并正在编写PHP代码以读取表的内容并将其输出为HTML表。 我想改变行的颜色,但是我很努力。 我已经在这里搜索了主题,并尝试了所有发现的内容,但是没有用。 这是我的代码

<?php

{       //  Secure Connection Script
    include('../htconfig/dbConfig.php'); 
    $dbSuccess = false;
    $dbConnected = mysql_connect($db['hostname'],$db['username'],$db['password']);

    if ($dbConnected) {     
        $dbSelected = mysql_select_db($db['database'],$dbConnected);
        if ($dbSelected) {
            $dbSuccess = true;
        }   
    }
    //  END Secure Connection Script
}

if ($dbSuccess) {

$query = "SELECT * FROM tvdbase"; 
$result = mysql_query($query);

echo "<table>"; 

echo "<table border='1'>";

    echo "<tr>";

        echo "<td>Date</td>";
        echo "<td>Course</td>";
        echo "<td>Room</td>";

    echo "</tr>";

$indx = 0;
while($row = mysql_fetch_array($result)){
$indx = $row['ID'];


    if ($indx % 2 == 0) {
        $bgColor = ' style="background-color:#CCFFFF;" ';
    } else {
        $bgColor = ' style="background-color:#FFFF99;" ';
    }

echo "
<tr>
<td bgColor>" . $row['tvDate'] . "</td>
<td bgColor>" . $row['tvCourse'] . "</td>
<td bgColor>" . $row['tvRoom'] . "</td>
</tr>"; 

$indx++;

}

echo "</table>";

mysql_close();
}


?>

它用3列(日期-课程-房间)显示我的表,但不显示颜色。

有什么帮助吗?

您忘了在bgColor变量前加$号

echo "
<tr>
<td ".$bgColor .">" . $row['tvDate'] . "</td>
<td ".$bgColor .">" . $row['tvCourse'] . "</td>
<td ".$bgColor .">" . $row['tvRoom'] . "</td>
</tr>"; 

但是最好将CSS用于此内容

您需要做的是记住在变量前使用$

同样,可以在双引号字符串内使用$ ,但不能在单引号中使用$

例子:

$ping = 'pong';
echo "Ping = $ping";
/* pong */

$ping = 'pong';
echo 'Ping = $ping';
/* $ping */

$ping = 'pong';
echo 'Ping = ' . $ping;
/* pong */

因此,在您的情况下,您的代码将是:

<?php
    include('../htconfig/dbConfig.php'); // Get config document
    $mysqli = new mysqli($db['hostname'], $db['username'], $db['password'], $db['database']); // Connecting to SQL Server

    // Checking if connection was successfull
    if( $mysqli->connect_errno ){
        echo 'There was an error connection to the SQL Server<br>';
        echo '(' . $mysqli->connect_errno . ') ' . $mysqli->connect_error;
        exit; // FAIL
    }

    // Preparing a statement
    $stmt = $mysqli->prepare('SELECT * FROM tvdbase');

    // Checking if php prepared the statement successfully
    if(!$stmt){
        echo 'There was an error preparing the statement!';
        exit;
    }

    // Execute the statement
    if( !$stmt->execute() ){
        echo 'There was an error executing the statement!';
        exit;
    }

    // Catching data
    $result = $stmt->get_result();

    // Starting to create a string
    $str = '<table style="border:1px black solid;" >';
    $str .= '<tr>';
    $str .= '  <td style="border-bottom: 1px black solid;" >Date</td>';
    $str .= '  <td style="border-bottom: 1px black solid;" >Course</td>';
    $str .= '  <td style="border-bottom: 1px black solid;" >Room</td>';
    $str .= '</tr>';

    // Display data
    while($row = $result->fetch_array(MYSQLI_ASSOC)){
        $indx = $row['ID'];
        if ($indx % 2 == 0) {
            $bgColor = '#CCFFFF';
        } else {
            $bgColor = '#FFFF99';
        }

        $str .= '<tr>';
        $str .= '  <td style="background: ' . $bgColor . ';">' . $row['tvDate'] . '</td>';
        $str .= '  <td style="background: ' . $bgColor . ';">' . $row['tvCourse'] . '</td>';
        $str .= '  <td style="background: ' . $bgColor . ';">' . $row['tvRoom'] . '</td>';
        $str .= '</tr>';

    }

    // Print the string
    echo $str;
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM