Background color van 1 record wijzigen
Op deze pagina: http://www.wesleybekaert.be/nieuwdamberd/stand.php haal ik een klassement op uit mijn database.
Ik zou de record met onze ploeg (FC Damberd Bavikhove) in een andere backgroundcolor willen steken. Zodat de bezoeker direct ziet op welke plaats we staan.
Hoe codeer ik dit?
Dank bij voorbaat
Ik zou de record met onze ploeg (FC Damberd Bavikhove) in een andere backgroundcolor willen steken. Zodat de bezoeker direct ziet op welke plaats we staan.
Hoe codeer ik dit?
Dank bij voorbaat
Indien je de code kan posten die de tabel opbouwt kan ik een beter antwoord geven maar het dit zou een oplossing kunnen zijn:
Code (php)
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
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
// kleur die voor als standaard word gebruik
$standaard_bgcolor = '#666666';
// afwijkende kleur voor FC Damberd Bavikhove
$highlight_bgcolor = '#eeeeee';
// in je pagina zal een foreach loop zitten die alle rijen doorloopt.
foreach {$rijen as $rij}
{
$bgcolor = ($rij['clubnaam'] == 'FC Damberd Bavikhove') ? $highlight_bgcolor : $standaard_bgcolor ;
// code die tabel opbouwt
....
echo '<tr bgcolor="'. $bgcolor .'">';
// code die tabel opbouwt
....
}
?>
// kleur die voor als standaard word gebruik
$standaard_bgcolor = '#666666';
// afwijkende kleur voor FC Damberd Bavikhove
$highlight_bgcolor = '#eeeeee';
// in je pagina zal een foreach loop zitten die alle rijen doorloopt.
foreach {$rijen as $rij}
{
$bgcolor = ($rij['clubnaam'] == 'FC Damberd Bavikhove') ? $highlight_bgcolor : $standaard_bgcolor ;
// code die tabel opbouwt
....
echo '<tr bgcolor="'. $bgcolor .'">';
// code die tabel opbouwt
....
}
?>
Wat heb je zelf al geprobeerd? Zonder code is het een beetje lastig, maar ik neem aan dat je ergens een loop (een while lus of een foreach loop) hebt waarin je de gegevens uit de database doorloopt. Hierin zet je dan zoiets als:
Dit is puur een voorbeeldje, je moet het zelf aanpassen aan je eigen code.
Wat je doet is, je kijkt of de naam van het team gelijk is aan jouw eigen team. Zo ja, dan voeg je een id toe. Via css kun je dan de juiste background-color toevoegen.
Duidelijk genoeg?
Toevoeging op 14/11/2012 14:38:43:
Oh, Erwin had ook al een oplossing gepost.
Ik zou wel kiezen voor een id en niet voor bgcolor (zoals in het voorbeeld van Erwin) omdat je html en opmaak zoveel mogelijk gescheiden moet houden.
Code (php)
Dit is puur een voorbeeldje, je moet het zelf aanpassen aan je eigen code.
Wat je doet is, je kijkt of de naam van het team gelijk is aan jouw eigen team. Zo ja, dan voeg je een id toe. Via css kun je dan de juiste background-color toevoegen.
Duidelijk genoeg?
Toevoeging op 14/11/2012 14:38:43:
Oh, Erwin had ook al een oplossing gepost.
Ik zou wel kiezen voor een id en niet voor bgcolor (zoals in het voorbeeld van Erwin) omdat je html en opmaak zoveel mogelijk gescheiden moet houden.
@Ozzie,
Dan zou ik van jou regel 2 dit maken.
Anders krijg je namelijk dat alle andere weer geen id krijgen, endus geen opmaak hebben.
Dan zou ik van jou regel 2 dit maken.
Code (php)
1
2
3
2
3
<?php
$id = $row['team'] == 'FC Damberd Bavikhove' ? ' id="our_team"' : ' id="other_teams"';
?>
$id = $row['team'] == 'FC Damberd Bavikhove' ? ' id="our_team"' : ' id="other_teams"';
?>
Anders krijg je namelijk dat alle andere weer geen id krijgen, endus geen opmaak hebben.
Volledig off topic:
Doe de groeten aan Gerrit Callewaert.
Doe de groeten aan Gerrit Callewaert.
@Chris:
Dat is niet nodig. Je hoeft niet iedere <tr> een eigen opmaak te geven. Dit doe je overkoepelend.
Je geeft dus alle <tr>'s dezelfde background-color, behalve die met het id "our_team".
Daarnaast is wat jij doet niet goed. Op jouw manier zouden alle <tr>'s (met uitzondering die met id "our_team") precies hetzelde id hebben, terwijl een id uniek moet zijn en dus maar 1x op een pagina mag voorkomen.
Mijn oplossing klopte dus gewoon.
Dat is niet nodig. Je hoeft niet iedere <tr> een eigen opmaak te geven. Dit doe je overkoepelend.
Je geeft dus alle <tr>'s dezelfde background-color, behalve die met het id "our_team".
Daarnaast is wat jij doet niet goed. Op jouw manier zouden alle <tr>'s (met uitzondering die met id "our_team") precies hetzelde id hebben, terwijl een id uniek moet zijn en dus maar 1x op een pagina mag voorkomen.
Mijn oplossing klopte dus gewoon.
Gewijzigd op 14/11/2012 15:24:50 door Ozzie PHP
Dit is de code hoe ik het uit mijn database haal:
Gelieve eens te kijken hoe ik dit kan integreren?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$SQL="SELECT * FROM stand ORDER BY punten DESC , gewonnen DESC , doelpuntensaldo DESC;";
$Result = mysql_query($SQL);
$teller = 1;
while($row = mysql_fetch_array($Result))
{
echo "<tr bgcolor=\"#999999\">";
echo "<td bgcolor=\"#999999\">$teller.</td>";
echo "<td bgcolor=\"#999999\"><p align=\"left\" class=\"style3\">" . $row["ploeg"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["matchen"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["gewonnen"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["gelijk"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["verloren"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["doelpunten voor"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["doelpunten tegen"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["doelpuntensaldo"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["punten"] . "</p></td>";
echo "</tr>";
$teller += 1;
}
?>
$SQL="SELECT * FROM stand ORDER BY punten DESC , gewonnen DESC , doelpuntensaldo DESC;";
$Result = mysql_query($SQL);
$teller = 1;
while($row = mysql_fetch_array($Result))
{
echo "<tr bgcolor=\"#999999\">";
echo "<td bgcolor=\"#999999\">$teller.</td>";
echo "<td bgcolor=\"#999999\"><p align=\"left\" class=\"style3\">" . $row["ploeg"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["matchen"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["gewonnen"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["gelijk"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["verloren"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["doelpunten voor"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["doelpunten tegen"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["doelpuntensaldo"] . "</p></td>";
echo "<td bgcolor=\"#999999\"><p align=\"center\" class=\"style3\">" . $row["punten"] . "</p></td>";
echo "</tr>";
$teller += 1;
}
?>
Gelieve eens te kijken hoe ik dit kan integreren?
Wesley, je mag ook zelf iets proberen!
Het antwoord heb ik hierboven al gegeven!
Het antwoord heb ik hierboven al gegeven!
Code (php)
1
2
3
2
3
<?php
$id = $row['team'] == 'FC Damberd Bavikhove' ? ' class="our_team"' : ' class="other_teams"';
?>
$id = $row['team'] == 'FC Damberd Bavikhove' ? ' class="our_team"' : ' class="other_teams"';
?>
gebruik class ipv van id. De conventie is id moet uniek zijn, class mag vaker voorkomen.
Heb je code iets vereenvoudig met de highlight functie
Groet,
Erwin van Hoof
SiteOn
Code (php)
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
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
// ik zou in je css het volgende opnemen:
// .style3 td {
// background-color: #999999; {of de gewenste achtergrond kleur voor andere clubs}
// text-align:center;
// }
// .onze_club td {
// background-color: #666666; {of de gewenste achtergrond kleur voor onze club}
// }
// td.ploeg {
// text-align:left;
// }
$SQL="SELECT * FROM stand ORDER BY punten DESC , gewonnen DESC , doelpuntensaldo DESC;";
$Result = mysql_query($SQL);
$teller = 1;
while($row = mysql_fetch_array($Result))
{
$class = ($row['ploeg'] == 'FC Damberd Bavikhove') ? 'onze_club' : 'style3' ;
echo '<tr class="' . $class . '">';
echo '<td>' . $teller . '.</td>';
echo '<td class="ploeg"><p>' . $row["ploeg"] . '</p></td>';
echo '<td><p>' . $row['matchen'] . '</p></td>';
echo '<td><p>' . $row['gewonnen'] . '</p></td>';
echo '<td><p>' . $row['gelijk'] . '</p></td>';
echo '<td><p>' . $row['verloren'] . '</p></td>';
echo '<td><p>' . $row['doelpunten voor'] . '</p></td>';
echo '<td><p>' . $row['doelpunten tegen'] . '</p></td>';
echo '<td><p>' . $row['doelpuntensaldo'] . '</p></td>';
echo '<td><p>' . $row['punten'] . '</p></td>';
echo '</tr>';
$teller++;
}
?>
// ik zou in je css het volgende opnemen:
// .style3 td {
// background-color: #999999; {of de gewenste achtergrond kleur voor andere clubs}
// text-align:center;
// }
// .onze_club td {
// background-color: #666666; {of de gewenste achtergrond kleur voor onze club}
// }
// td.ploeg {
// text-align:left;
// }
$SQL="SELECT * FROM stand ORDER BY punten DESC , gewonnen DESC , doelpuntensaldo DESC;";
$Result = mysql_query($SQL);
$teller = 1;
while($row = mysql_fetch_array($Result))
{
$class = ($row['ploeg'] == 'FC Damberd Bavikhove') ? 'onze_club' : 'style3' ;
echo '<tr class="' . $class . '">';
echo '<td>' . $teller . '.</td>';
echo '<td class="ploeg"><p>' . $row["ploeg"] . '</p></td>';
echo '<td><p>' . $row['matchen'] . '</p></td>';
echo '<td><p>' . $row['gewonnen'] . '</p></td>';
echo '<td><p>' . $row['gelijk'] . '</p></td>';
echo '<td><p>' . $row['verloren'] . '</p></td>';
echo '<td><p>' . $row['doelpunten voor'] . '</p></td>';
echo '<td><p>' . $row['doelpunten tegen'] . '</p></td>';
echo '<td><p>' . $row['doelpuntensaldo'] . '</p></td>';
echo '<td><p>' . $row['punten'] . '</p></td>';
echo '</tr>';
$teller++;
}
?>
Groet,
Erwin van Hoof
SiteOn
Gewijzigd op 14/11/2012 23:34:06 door Erwin van Hoof
Ozzie PHP op 14/11/2012 15:23:55:
@Chris:
Dat is niet nodig. Je hoeft niet iedere <tr> een eigen opmaak te geven. Dit doe je overkoepelend.
Je geeft dus alle <tr>'s dezelfde background-color, behalve die met het id "our_team".
Daarnaast is wat jij doet niet goed. Op jouw manier zouden alle <tr>'s (met uitzondering die met id "our_team") precies hetzelde id hebben, terwijl een id uniek moet zijn en dus maar 1x op een pagina mag voorkomen.
Mijn oplossing klopte dus gewoon.
Dat is niet nodig. Je hoeft niet iedere <tr> een eigen opmaak te geven. Dit doe je overkoepelend.
Je geeft dus alle <tr>'s dezelfde background-color, behalve die met het id "our_team".
Daarnaast is wat jij doet niet goed. Op jouw manier zouden alle <tr>'s (met uitzondering die met id "our_team") precies hetzelde id hebben, terwijl een id uniek moet zijn en dus maar 1x op een pagina mag voorkomen.
Mijn oplossing klopte dus gewoon.
Dat is natuurlijk niet waar, je kunt 100x hetzelfde div id/ tr id gebruiken voor de opmaak. Hoe kom e erbij dat dit id uniek moet zijn?
Chris, dit is natuurlijk wel waar, anders zou ik het toch niet zeggen?
Een id moet uniek zijn.
Ja, je kunt 100x hetzelfde id gebruiken op een pagina, maar dat is absoluut niet de bedoeling! De meeste browsers zullen deze fout wel pikken, maar als je javascript gaat gebruiken dan gaat het mis. Een (uniek) id mag maar 1x op een pagina voorkomen. Je mag uiteraard wel meerdere (verschillende) id's op een pagina gebruiken.
Stel je wilt een element met id "test" via javascript aanspreken en er staan meerdere elementen op die pagina die de id "test" hebben. Hoe weet je dan wat de juiste is? Dat is dus vragen om problemen.
Dus nogmaals. Iedere id op een pagina moet uniek zijn. Wil je toch meerdere elementen dezelfde vormgeving geven, dan kun je daar classes voor gebruiken. Classes mogen wel meerdere keren op een pagina voorkomen.
(Daarnaast is de manier waarop de topic starter zijn tabel vormgeeft nietbepaald goed te noemen.)
Een id moet uniek zijn.
Ja, je kunt 100x hetzelfde id gebruiken op een pagina, maar dat is absoluut niet de bedoeling! De meeste browsers zullen deze fout wel pikken, maar als je javascript gaat gebruiken dan gaat het mis. Een (uniek) id mag maar 1x op een pagina voorkomen. Je mag uiteraard wel meerdere (verschillende) id's op een pagina gebruiken.
Stel je wilt een element met id "test" via javascript aanspreken en er staan meerdere elementen op die pagina die de id "test" hebben. Hoe weet je dan wat de juiste is? Dat is dus vragen om problemen.
Dus nogmaals. Iedere id op een pagina moet uniek zijn. Wil je toch meerdere elementen dezelfde vormgeving geven, dan kun je daar classes voor gebruiken. Classes mogen wel meerdere keren op een pagina voorkomen.
(Daarnaast is de manier waarop de topic starter zijn tabel vormgeeft nietbepaald goed te noemen.)
Ok, is gelukt. Bedankt aan iedereen. Vooral aan Erwin, jou hulp was de beste. FC Damberd zal u eeuwig dankbaar zijn. :-p




