Avatar billede rampagezz Nybegynder
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>&nbsp;</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
Avatar billede erikjacobsen Ekspert
28. december 2007 - 20:07 #1
Hvad står der i den genererede HTML? Måske skal du bare:  <?php print $skift; ?>
Avatar billede erikjacobsen Ekspert
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.
Avatar billede rampagezz Nybegynder
28. december 2007 - 20:11 #3
Det var heller ikke løsningen desværre.
Avatar billede nielle Nybegynder
28. december 2007 - 20:11 #4
Den stump kode hvor du skifter baggrunds-fraven med skal indenfor i din do-løkk.
Avatar billede rampagezz Nybegynder
28. december 2007 - 20:14 #5
Det virkede med farveskift, men nu gentager den samme række flere gange
Avatar billede erikjacobsen Ekspert
28. december 2007 - 20:16 #6
Det er nok fordi du har bedt den om det.
Avatar billede rampagezz Nybegynder
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;
?>
Avatar billede erikjacobsen Ekspert
28. december 2007 - 20:22 #8
Den interessante kode er jo nok den du lige har ændret i mht de der farver.
Avatar billede rampagezz Nybegynder
02. januar 2008 - 00:51 #9
Kan det være fordi at der er en while løkke i en anden while?
Avatar billede erikjacobsen Ekspert
02. januar 2008 - 08:45 #10
Jah, sikkert. Hvad laver den yderste whileløkke?
Avatar billede rampagezz Nybegynder
02. januar 2008 - 16:28 #11
Den yderste afslutter en repeat region.
Avatar billede rampagezz Nybegynder
04. januar 2008 - 16:53 #12
lukker..!
Avatar billede rampagezz Nybegynder
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.
Avatar billede nielle Nybegynder
11. januar 2008 - 21:12 #14
Den kan forkortes til:

<?PHP
$bgcolor = ($bgcolor == "#496047") ? "#556852" : "#496047";
?>
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