Цвет строки вывода таблицы PHP и mySQL

Я настроил базу данных 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 колонками (Date-Course-Room), но не с цветами.

Любая помощь, пожалуйста?

0

Решение

Что вам нужно сделать, это не забыть использовать $ перед переменной.

Также можно использовать $ внутри строки в двойных кавычках, но не в одинарных.

Примеры:

$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;
?>
0

Другие решения

Вы забыли поставить знак $ перед переменной bgColor

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

но лучше использовать CSS для этого материала

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector