Avatar billede gulekings2k Nybegynder
21. august 2002 - 16:11 Der er 19 kommentarer og
2 løsninger

Udskriv indhold af databse i tabel med forskellig bgfarver

Hejsa derude :)

Jeg har lige sat mig for at lære noget PHP...

Jeg har en databse (oplysninger) - derunder en tabel (personer) og herunder rækker (r1, r2...r8).

Mit spørgsmål er så.
Hvordan for jeg den til at udskrive i en tabel hvor hver anden linie skal have en anden baggrundsfarve?

Jeg har prøvet at hive forksellige stumper ud fra nettet, med løkker, men intet virker.

Er der en der kan give et råd til hvordan denne kode gøres færdig?

...
$result = mysql_query("SELECT r1, r2, r3, r4, r5, r6, r7, r8 FROM MovieList ORDER BY r3") OR DIE(mysql_error());
while($row = mysql_fetch_array($result)) {
  extract($row);


MVH newb´en :)
Avatar billede neteffect Nybegynder
21. august 2002 - 16:19 #1
Jeg er ikke php-haj, men princippet er det samme

oddLine=true

if not recordset.eof then
do
  if oddLine then
    write row med den ene farve
  else
    write row med den anden farve
  end if
  oddLine= not oddLine
  recordset.moveNext
loop until recordset.eof
close recordset
end if
Avatar billede teaspoon Nybegynder
21. august 2002 - 16:53 #2
noget i den retning?

$result = mysql_query("SELECT r1, r2, r3, r4, r5, r6, r7, r8 FROM MovieList ORDER BY r3") OR DIE(mysql_error());
$i = 1;
while($row = mysql_fetch_array($result)) {
  extract($row);
  if ($i % 2 == 0) $bgcolor = "#000000"; // er det et lige tal?
  else $bgcolor = "#FFFFFF"; // ellers må det jo være ulige
  $i ++;
  echo "<div style=\"background-color: ". $bgcolor ."\">$r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8</div><br />\n";
}
Avatar billede neteffect Nybegynder
21. august 2002 - 17:02 #3
Tja, det ser da ud til du har fanget ideen. Nu må computeren være overdommer.

Hov, skal du ikke læse én row ad gangen?
Avatar billede gulekings2k Nybegynder
21. august 2002 - 17:21 #4
neteffect: Jeg er ikke helt med på hvordan den skal smides ind.
teaspoon: Det er begyndt at ligne noget :)

men hvor skal jeg starte tabellen for at det bliver korrekt og er det besværligt hvis den skal se nogen lunder ud som dette?
+-----+-----+--------
| $r1 | $r2 | $r4...  // what ever bg colort
+-----+-----+--------
| $r1 | $r2 | $r4...  // another whatever color
+-----+-----+--------


????
Avatar billede gulekings2k Nybegynder
21. august 2002 - 17:23 #5
Undskyld at det skla skæres sådan ud i pap for mig - Men jeg skal jo starte et sted :))

neteffect: bet ur a cruel PHP-Shark :)
Avatar billede Noone Nybegynder
21. august 2002 - 17:35 #6
teaspoon > Forestil dig de her data

1 gab
2 gab gab
3 gab gab gab
4 gab gab gab gab

Jeg fjerner nu række 3... Hvordan kommer min tabel så til at se ud?

Selv plejer jeg at bruge noget i den her stil:

$bgcolor = "#ff0000";
$bgcolor2 = "#00ff00";
$current_bgcolor = $bgcolor2;

if ($current_bgcolor == $bgcolor) {
  $current_bgcolor = $bgcolor2;
elseif ($current_bgcolor == $bgcolor2) {
  $current_bgcolor = $bgcolor;
}
echo $tabelrække;

Den skulle være sikker..
Avatar billede Noone Nybegynder
21. august 2002 - 17:35 #7
Ups, overså lige at $i ikke kom fra databasen..
Avatar billede gulekings2k Nybegynder
21. august 2002 - 17:41 #8
chanoa: Tak for din tilføjelse.
Kan du også fortælle mig hvor jeg starter tabellen så det kommer til at passe at rækken også bliver delt op?
(så ikke alle værdierne bliver smidt ud lige efter hinanden)
____________________________....
    I      I      I      I....
_____I______I_______I______I....
Avatar billede Noone Nybegynder
21. august 2002 - 17:53 #9
Hvad mener du med "Hvor jeg starter tabellen"?
Avatar billede teaspoon Nybegynder
21. august 2002 - 17:59 #10
$result = mysql_query("SELECT r1, r2, r3, r4, r5, r6, r7, r8 FROM MovieList ORDER BY r3") OR DIE(mysql_error());
$i = 1;
echo "<table>\n";
while($row = mysql_fetch_array($result)) {
  if ($i % 2 == 0) $bgcolor = "#000000"; // er det et lige tal?
  else $bgcolor = "#FFFFFF"; // ellers må det jo være ulige
  $i ++;
  echo "<tr>\n";
  foreach ($row AS $r) echo "<td bgcolor=\"". $bgcolor ."\">". $r ."</td>\n";
  echo "</tr>\n";
}
echo "</table>\n";
Avatar billede teaspoon Nybegynder
21. august 2002 - 18:00 #11
tror det er noget i den retning du mener.. ellers må du komme tilbage :)
Avatar billede gulekings2k Nybegynder
21. august 2002 - 18:06 #12
Jeg mener så de bliver skrevet ud i en <table>
Avatar billede gulekings2k Nybegynder
21. august 2002 - 18:15 #13
hmm det kunne jeg ikke lige få til at virke :(

Jeg har prøvet med en anden database... koden ->
<?php
$db = mysql_connect("localhost", "Movies");
mysql_select_db("Movies",$db);

$result = mysql_query("SELECT ID, title, size, discs, format, resolution, subtitles, sublan FROM MovieList ORDER BY title") OR DIE(mysql_error());
$i = 1;
while($row = mysql_fetch_array($result)) {
  extract($row);
  if ($i % 2 == 0) $bgcolor = "orange"; // er det et lige tal?
  else $bgcolor = "red"; // ellers må det jo være ulige
  $i ++;
  echo "<div style=\"background-color: ". $bgcolor ."\">$ID $title $size $discs $format $resolution $subtitles $sublan</div><br />\n";

}
?>
Avatar billede gulekings2k Nybegynder
21. august 2002 - 20:22 #14
chanoa: Den du gav mig har jeg fået til at virke nu. Men mit eget script laver ged i den.

Point ?
Avatar billede gulekings2k Nybegynder
21. august 2002 - 20:28 #15
Halløjsa, nu virker 100%. Magen til mit ASP...

Jeg brugte fraktisk chanoas forslag men han har ikke givet noget "svar" så...
Men skriv lige et svar når du læser dette
Avatar billede Noone Nybegynder
21. august 2002 - 21:34 #16
Gulekings2k > Jeg samler ikke på ting jeg ikke kan bruge til noget, så give point til en anden... Jeg er næsten sikker på, at teaspoon's forslag også virker. Så giv bare ham/hende point istedet..
Avatar billede gulekings2k Nybegynder
21. august 2002 - 22:58 #17
chanoa, hvis du stadig læser med på dette spørgsmål vil jeg lige høre om du kan fortælle mig hvorfor den ikke skifter farver? den beholder current_color hele vejen igennem - Og jeg har ikke lige fundet uf af hvordan man fixer den :)
Avatar billede gulekings2k Nybegynder
21. august 2002 - 22:59 #18
<?php
$db = mysql_connect("localhost", "Movies");
mysql_select_db("Movies",$db);
$result = mysql_query("SELECT id, title, size, discs, format, resolution, subtitles, sublan FROM MovieList ORDER BY title") OR DIE(mysql_error());
while($row = mysql_fetch_array($result)) {
extract($row);
?>
<?PHP
$tekst = "orange";
$bgcolor = "#252525";
$bgcolor2 = "#121212";
$current_bgcolor = $bgcolor;
if ($current_bgcolor == $bgcolor) {
  $current_bgcolor = $bgcolor2;
}
elseif ($current_bgcolor == $bgcolor2) {
  $current_bgcolor = $bgcolor;
}
?>
<tr>
<td bgcolor="<?php echo $current_bgcolor ?>" width="3%"><font color="white"><font face="Verdana" size="1"><?php echo $id ?></font></td>
<td bgcolor="<?php echo $current_bgcolor ?>" width="40%"><font color="<?php echo $tekst ?>"><font face="Verdana" size="1"><a href="http://us.imdb.com/Find?<?php echo $title ?>" target="_blank" title="Read some info about this movie"><?php echo $title ?></font></a></td>
<td bgcolor="<?php echo $current_bgcolor ?>" align="right" width="6%"><font color="<?php echo $tekst ?>"><font face="Verdana" size="1"><?php echo $size ?></font></td>
<td bgcolor="<?php echo $current_bgcolor ?>" align="right" width="6%"><font color="<?php echo $tekst ?>"><font face="Verdana" size="1"><?php echo $discs ?></font></td>
<td bgcolor="<?php echo $current_bgcolor ?>" align="right" width="7%"><font color="<?php echo $tekst ?>"><font face="Verdana" size="1"><?php echo $format ?></font></td>
<td bgcolor="<?php echo $current_bgcolor ?>" align="right" width="9%"><font color="<?php echo $tekst ?>"><font face="Verdana" size="1"><?php echo $resolution ?></font></td>
<td bgcolor="<?php echo $current_bgcolor ?>" align="right" width="8%"><font color="<?php echo $tekst ?>"><font face="Verdana" size="1" title="<?php echo $sublan ?>"><?php echo $subtitles ?></font></td>
<?php
}
mysql_close();
?>
</table>
Avatar billede teaspoon Nybegynder
21. august 2002 - 23:26 #19
$tekst = "orange";
$bgcolor = "#252525";
$bgcolor2 = "#121212";
$current_bgcolor = $bgcolor;

skal placeres uden for din while
Avatar billede gulekings2k Nybegynder
22. august 2002 - 00:13 #20
aah tusind tak, nu kan det ikke blive bedre :))

Takker mange gange for jeres hjælp !!!
Avatar billede Noone Nybegynder
22. august 2002 - 00:16 #21
teaspoon > Bare $current_bgcolor = $bgcolor; er udenfor er det godt nok, hvis man lige giver den en rigtig værdi istedet for $bgcolor ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester