rijen uit database kleuren.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Geert bouckaert

geert bouckaert

12/04/2008 21:49:00
Quote Anchor link
Hoi, ik heb een klein database opgezet en zou nu graag de opgehaalde resultaten die weergegeven worden in een tabel, de rijen om en om kleuren.
Ik heb al een en ander gevonden op deze site, maar...'k geraak er nog niet uit.

Mijn stukje beginnerscode:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
include ("connect.php");


$result = mysql_query("SELECT * FROM wedstrijden order by datum");

while($row = mysql_fetch_array($result))
{


// Instellen van de tabel.
echo "<table width='745' border='0' align='center' cellpadding='5' cellspacing='3' >";
echo "<tr>";    
echo "<td align='center' border='1' background-color='#FFFFFF' bordercolor='#C0C0C0' width='80' class='style4'>" . $row['land'] . "</td>";
echo "<td align='center' border='1' background-color='#FFFFFF' bordercolor='#C0C0C0' width='70' class='style4'>" . $row['datum'] . "</td>";
echo "<td align='center' border='1' background-color='#FFFFFF' bordercolor='#C0C0C0' width='70' class='style4'>" . $row['datum2']. "</td>";            
echo "<td border='1' background-color='#FFFFFF' bordercolor='#C0C0C0' width='180' class='style4'>" . $row['typewedstrijd'] . "</td>";
echo "<td border='1' background-color='#FFFFFF' bordercolor='#C0C0C0' width='315' class='style4'>" . $row['club'] . "</td>";
echo "<td border='1' background-color='#FFFFFF' bordercolor='#C0C0C0' width='30' class='style4'>" . '<a href="detail-wedstrijden.php?id='.$row['id'].'">detail</a>' . "</td>";
echo "</tr>";
echo "</table>";
}

mysql_close($con);        
?>



Kan iemand me op weg helpen?
 
PHP hulp

PHP hulp

28/11/2024 03:51:43
 
Jan Koehoorn

Jan Koehoorn

12/04/2008 21:56:00
 
Willem Jan Z

Willem Jan Z

12/04/2008 22:02:00
Quote Anchor link
Ben hier al poosje niet geweest, maar dat is wel het kortste antwoord wat ik van jou heb gezien Jan :)
Daarentegen, jouw methode van $i ^= 1; gebruik ik nog steeds! Gebruikte voorheen wel soortgelijke methode, maar dan met een verkorte if.
 
Geert bouckaert

geert bouckaert

13/04/2008 16:49:00
Quote Anchor link
Jan,

het voorbeeld dat je me gegevenhebt werkt prima, waarvoor dank.
Alleen, ik krijg nu evenveel keer een rij te zien als de waarde van $1

Als ik het in tabellen gebruik zonder data op te halen uit een mysql database werkt het goed hoor.

dit is de code:

<style type="text/css">
tr.bg0 { background: #DDDDDD; }
tr.bg1 { background: #CCCCCC; }
</style>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
include ("XXXXXX.php");
$result = mysql_query("SELECT * FROM wedstrijden order by datum");
while($row = mysql_fetch_array($result))
{

// Instellen van de tabel.
$flip = 0;
for ($i = 0; $i < 2; $i++) {
$flip ^= 1;
echo "<table width='745' border='0' align='center' cellpadding='5' cellspacing='3' >";
echo '<tr class="bg' . $flip . '">';    
echo "<td align='center' border='1'  bordercolor='#C0C0C0' width='80' class='style4'>" . $row['land'] . "</td>";
echo "<td align='center' border='1'  bordercolor='#C0C0C0' width='70' class='style4'>" . $row['datum'] . "</td>";
echo "<td align='center' border='1'  bordercolor='#C0C0C0' width='70' class='style4'>" . $row['datum2']. "</td>";            
echo "<td border='1'  bordercolor='#C0C0C0' width='180' class='style4'>" . $row['typewedstrijd'] . "</td>";
echo "<td border='1'  bordercolor='#C0C0C0' width='315' class='style4'>" . $row['club'] . "</td>";
echo "<td border='1'  bordercolor='#C0C0C0' width='30' class='style4'>" . '<a href="detail-wedstrijden.php?id='.$row['id'].'">detail</a>' . "</td>";
echo "</tr>";
}

echo "</table>";
}

mysql_close($con);
?>



Weet je daar raad mee?
Geert.
 
Jesper Diovo

Jesper Diovo

13/04/2008 17:00:00
Quote Anchor link
Misschien is dit toch net effe wat makkelijker te begrijpen. Het enige wat je meeneemt is de teller. I.p.v. wat Jan doet met $flip, zet je daar $teller neer. En aan het eind van je while-loop zet je:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$teller
= ($teller == 0) ? 1 : 0;
?>


Dat moet werken ;-).
 
Steen

steen

13/04/2008 17:08:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
    include 'config.php';
?>

  
    <style type="text/css">
        td                { padding: 0px 0px; color: #fff; }
        tr.bg0            { background:#FF0000; }
        tr.bg1            { background:#0000FF; }
    </style>
    <table cellpadding="0" cellspacing="0" width="500" border="1" align="center">
    <?php
    $sql
= "SELECT naam,geslacht FROM gebruikers";
    $query = mysql_query($sql);
        $flip = 0;
       while($array = mysql_fetch_assoc($query)) {
            $flip ^= 1;
            echo '<tr class="bg' . $flip . '">';
            echo '<td width= 50%>'.$array['naam'].'</td>';
            echo '<td>'.$array['geslacht'].'</td>';
            echo '</tr>';
        }

    ?>

    </table>
</body>
</html>


Je kunt de datatypen enzo nog aanpassen!
 
Danny K

Danny K

13/04/2008 19:30:00
Quote Anchor link
@Steen & Geert: wat nou als je query mislukt is? Om wat voor reden dan ook?

@Jan: is % niet sneller en zuiniger dan ^?
 
Timmy

timmy

13/04/2008 20:12:00
Quote Anchor link
vele wegen leiden tot rome.

ik gebruik altijd: $k=1-$k
 
Mark L

Mark L

13/04/2008 20:20:00
Quote Anchor link
timmy, vergeef mijn lompheid, maar ik zie niet wat jouw '$k = 1-$k' doet..
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$k
= 10;
$k = 1-$k;
//$k = -9
$k = 3
$k
= 1-$k;
//$k = -2
?>


Of zie ik nu iets over het hoofd?
 
Jan Koehoorn

Jan Koehoorn

13/04/2008 20:29:00
Quote Anchor link
@ Danny: bitwise operators zijn over het algemeen behoorlijk snel.

@ geert:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
    include 'xxx.php';
    $sql = "
        SELECT *
        FROM wedstrijden
        ORDER BY datum ASC
        "
;
    if (!$result = mysql_query ($sql)) {
        trigger_error (mysql_error ());
    }

    else {
        $flip = 0;
        echo '<table width="745" border="0" align="center" cellpadding="5" cellspacing="3">';
        while ($row = mysql_fetch_assoc ($result)) {
            $flip ^= 1;
            echo '<tr class="bg' . $flip . '">';
            // hier je td's echoën
            echo '</tr>';
        }

        echo '</table>';
    }

?>
 
Geert bouckaert

geert bouckaert

14/04/2008 14:34:00
Quote Anchor link
Jan,
ik heb de code nog eens ingevoegd en aangepast voor mijn gegevens.
hier gebruik een iets andere methode om de gegevens op te vragen.
in elk geval, de pagina word nu goed getoond.
ik zal in de broncode je naam vermelden en zodra de site af is, stuur ik even het adres.
in elk geval bedankt (aan allen) en tot een volgend probleem...
 
Jesper Diovo

Jesper Diovo

14/04/2008 15:36:00
Quote Anchor link
@Miloan. Nee, kijk maar eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$k
= 0;

  $k = 1-$k;
  // $k wordt 1

$k = 1;

  $k = 1-$k;
  // $k wordt 0

// enz.

?>
 
Rene Wennekes

Rene Wennekes

14/04/2008 15:56:00
Quote Anchor link
Ik definieer eerst 2 of meer kleuren

$rowcolor1="#806000";
$rowcolor2="#A08000";
$rowcolor=$rowcolor1;

En daarna in de loop

print "\t<tr>\n";

print "\t\t<td bgcolor=$rowcolor align= \"left\" valign=\"top\" width= \"75\">$date_nl</td>\n"; // Datum
print "\t\t<td bgcolor=$rowcolor align= \"left\" valign=\"top\" width= \"75\">$time</td>\n"; // Tijd
print "\t\t<td bgcolor=$rowcolor align= \"left\" valign=\"top\" width=\"100\">$line[3]</td>\n"; // IP-Adres
print "\t\t<td bgcolor=$rowcolor align=\"right\" valign=\"top\" width=\"400\">$line[4]</td>\n"; // Hostnaam

print "\t</tr>\n";

// Hier zorgen we ervoor dat de achtergrond-rij-kleur gewisseld wordt.
switch ($rowcolor) {
case $rowcolor1:
$rowcolor=$rowcolor2;
break;
case $rowcolor2:
$rowcolor=$rowcolor1;
break;
}

}

mysql_close($mysql_id);

Je zou nog de kleuren kunnen uitbreiden.
 
Jesper Diovo

Jesper Diovo

14/04/2008 16:26:00
Quote Anchor link
Misschien beter om er <?php en ?> omheen te zetten. Bovendien haal je variabelen natuurlijk uit de quotes en geef je een achtergrondkleur als style aan de ROW dus niet aan de CELL ;-).
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.