28. december 2007 - 20:01
Der er
13 kommentarer og 1 løsning
Hvad mangler i min kode?
Hej Har et lille stykke script, som skulle ændrer baggrund skiftevis, når den udskriver en record, men den holder samme bgcolor og skifter ikke. kode: <? while ($i++<10) { if ((!$skift) || ($skift == "#556852")){ $skift = "#496047";} else { $skift = "#556852";} ?> <?php do { ?> <tr class="liste" bgcolor="<? print $skift; ?>"> <td> </td> <td height="20"><?php echo $row_Recordset1['EventDay']; ?>/<?php echo $row_Recordset1['EventMonth']; ?>-<?php echo $row_Recordset1['EventYear']; ?></td> <td><a href="tur_liste.php?EventId=<?php echo $row_Recordset1['EventId']; ?>" target="_blank" class="liste" onclick="window.open(this.href,'Popup','width=300,height=200');return false;"><?php echo $row_Recordset1['Event']; ?></a></td> <td><?php echo $row_Recordset1['BuyIn']; ?></td> <td><?php echo $row_Recordset1['Type']; ?></td> </tr> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?> <? } ?> - rampagezz
Annonceindlæg fra Thales
28. december 2007 - 20:07
#1
Hvad står der i den genererede HTML? Måske skal du bare: <?php print $skift; ?>
28. december 2007 - 20:09
#2
Eller - hvad er det while_løkken gør? Du får nok ændret farven hver gang du løber gennem while-løkken, men skal det være for hver række i dit $Recordset1, så skal du have den if-sætning med farveskift inden i din "do ..."-sætning.
28. december 2007 - 20:11
#3
Det var heller ikke løsningen desværre.
28. december 2007 - 20:11
#4
Den stump kode hvor du skifter baggrunds-fraven med skal indenfor i din do-løkk.
28. december 2007 - 20:14
#5
Det virkede med farveskift, men nu gentager den samme række flere gange
28. december 2007 - 20:16
#6
Det er nok fordi du har bedt den om det.
28. december 2007 - 20:19
#7
Det her står i mit recordset: <?php require_once('../Connections/connect.php'); ?> <?php $maxRows_Recordset1 = 1; $pageNum_Recordset1 = 0; if (isset($_GET['pageNum_Recordset1'])) { $pageNum_Recordset1 = $_GET['pageNum_Recordset1']; } $startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1; mysql_select_db($database_connect, $connect); $query_Recordset1 = "SELECT * FROM calendar_events"; $query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1); $Recordset1 = mysql_query($query_limit_Recordset1, $connect) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); if (isset($_GET['totalRows_Recordset1'])) { $totalRows_Recordset1 = $_GET['totalRows_Recordset1']; } else { $all_Recordset1 = mysql_query($query_Recordset1); $totalRows_Recordset1 = mysql_num_rows($all_Recordset1); } $totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1; ?>
28. december 2007 - 20:22
#8
Den interessante kode er jo nok den du lige har ændret i mht de der farver.
02. januar 2008 - 00:51
#9
Kan det være fordi at der er en while løkke i en anden while?
02. januar 2008 - 08:45
#10
Jah, sikkert. Hvad laver den yderste whileløkke?
02. januar 2008 - 16:28
#11
Den yderste afslutter en repeat region.
04. januar 2008 - 16:53
#12
lukker..!
11. januar 2008 - 21:01
#13
Spørgsmålet er lukket, men bare lige for at hjælpe andre der har samme problem, så har jeg fundet ud af det med dette meget simple script: <?PHP if($bgcolor == "#496047"){ $bgcolor = "#556852"; }else{ $bgcolor = "#496047"; } ?> Og kalde rækken her: <tr class="liste" bgcolor="<?php print $bgcolor; ?>"> Og den skal ligge inden i "<?php do { ?>" løkken.
11. januar 2008 - 21:12
#14
Den kan forkortes til: <?PHP $bgcolor = ($bgcolor == "#496047") ? "#556852" : "#496047"; ?>
Vi tilbyder markedets bedste kurser inden for webudvikling