Avatar billede ken9 Nybegynder
10. juni 2006 - 20:31 Der er 22 kommentarer og
2 løsninger

Hvordan gør jeg?

Jeg vil gerne have den til at skifte mellem tabel 1 og tabel 2 når jeg henter dataene fra MySQL'en, men hvordan gør jeg det?

<?php do { ?>

// tabel 1
<table border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="3%"><img src="images/<?php echo $row_rsProdukter['billede']; ?>" class="boks" height="40" width="40"></td>
    <td width="97%"><strong><?php echo $row_rsProdukter['navn']; ?></strong><br>
      » <a href="vis-produkt.php?id=<?php echo $row_rsProdukter['id']; ?>">Gå til produkt</a></td>
  </tr>
</table>

// tabel 2
<table border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="3%"><img src="images/<?php echo $row_rsProdukter['billede']; ?>" class="boks" height="40" width="40"></td>
    <td width="97%"><strong><?php echo $row_rsProdukter['navn']; ?></strong><br>
      » <a href="vis-produkt.php?id=<?php echo $row_rsProdukter['id']; ?>">Gå til produkt</a></td>
  </tr>
</table>

<?php } while ($row_rsProdukter = mysql_fetch_assoc($rsProdukter)); ?>


Jeg håber nogen kan hjælpe :o)
Avatar billede coderdk Praktikant
10. juni 2006 - 20:48 #1
Brug modulo :) Noget i stil med:

<?php

    $cnt = 0;
    while ($row_rsProdukter = mysql_fetch_assoc($rsProdukter)) {
        $cnt++;
        if ( $cnt % 2 = 0 )
        {
            // tabel 1
?>
<table border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="3%"><img src="images/<?php echo $row_rsProdukter['billede']; ?>" class="boks" height="40" width="40"></td>
    <td width="97%"><strong><?php echo $row_rsProdukter['navn']; ?></strong><br>
      » <a href="vis-produkt.php?id=<?php echo $row_rsProdukter['id']; ?>">Gå til produkt</a></td>
  </tr>
</table>
<?php           
        }
        else
        {
            // tabel 2
?>
<table border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="3%"><img src="images/<?php echo $row_rsProdukter['billede']; ?>" class="boks" height="40" width="40"></td>
    <td width="97%"><strong><?php echo $row_rsProdukter['navn']; ?></strong><br>
      » <a href="vis-produkt.php?id=<?php echo $row_rsProdukter['id']; ?>">Gå til produkt</a></td>
  </tr>
</table>
<?php
        }
    }

?>
Avatar billede ken9 Nybegynder
10. juni 2006 - 20:52 #2
Parse error: syntax error, unexpected '=' in /var/www/kenni.eu/public_html/comettrawl/produkter/produkter.php on line 65

får jeg så.. linje 65 er:

if ( $cnt % 2 = 0 )

- whats wrong? :o)
Avatar billede wetdog Nybegynder
10. juni 2006 - 20:54 #3
while ($row_rsProdukter = mysql_fetch_assoc($rsProdukter)) {

  $x=0;
 
  if($x%2==0) {
  tabel 1
  $x++;

  } else {
  tabel 2
  tabel 1
  $x++;
  }
}
Avatar billede wetdog Nybegynder
10. juni 2006 - 20:54 #4
while ($row_rsProdukter = mysql_fetch_assoc($rsProdukter)) {

  $x=0;

  if($x%2==0) {
  tabel 1
  $x++;

  } else {
  tabel 2
  $x++;
  }
}
Avatar billede ken9 Nybegynder
10. juni 2006 - 21:02 #5
Til wetdog:

Parse error: syntax error, unexpected T_LNUMBER in /var/www/kenni.eu/public_html/comettrawl/produkter/produkter.php on line 67

          if($x%2==0) {
linje 67:  tabel 1
          $x++;
Avatar billede wetdog Nybegynder
10. juni 2006 - 21:06 #6
du skal selv indsætte html koden til tabel 1 og 2. Det var jeg for doven til. Nu har du fået metoden, så nu må du til at kode
Avatar billede wetdog Nybegynder
10. juni 2006 - 21:08 #7
ellers kan du tage coderdk´s forslag - du skal blot ændre:

if ( $cnt % 2 = 0 )

til

if ( $cnt % 2 == 0 )
Avatar billede ken9 Nybegynder
10. juni 2006 - 21:26 #8
Jeg tog coderdk´s forslag, og lavede det om, som du skrev..

men hvis jeg har 4 produkter, viser den kun 3, og hvis jeg har 1 produkt viser den slet ingen.. lidt hexia de trick =/
Avatar billede coderdk Praktikant
10. juni 2006 - 21:33 #9
Som wetdog skriver, så skulle min = have været == :)

Mht at der mangler nogen, så skal vi nok lige se din kode - Det lyder som om at du hiver en record ud før den kode jeg har pastet...?
Avatar billede wetdog Nybegynder
10. juni 2006 - 21:35 #10
kan måske have noget at gøre med at du nu har skiftet fra en do-while struktur til en while. Måske - ved det ikke
Avatar billede ken9 Nybegynder
10. juni 2006 - 21:37 #11
Avatar billede coderdk Praktikant
10. juni 2006 - 21:48 #12
Linjen:

$row_rsProdukter = mysql_fetch_assoc($rsProdukter);

Skal nu se sådan ud:

//$row_rsProdukter = mysql_fetch_assoc($rsProdukter);

Altså udkommenteres

Denne:

<?php } while ($row_rsProdukter = mysql_fetch_assoc($rsProdukter)); ?>

Skal helt fjernes
Avatar billede coderdk Praktikant
10. juni 2006 - 21:48 #13
<?php do { ?>

Fjernes naturligvis også
Avatar billede ken9 Nybegynder
10. juni 2006 - 22:01 #14
Done.. jeg får nu nogle nye fejl

Parse error: syntax error, unexpected ';' in /var/www/kenni.eu/public_html/comettrawl/produkter/produkter.php on line 62


www.kenni.eu/comettrawl/produkter/produkter.txt er opdateret med ændringerne.
Avatar billede wetdog Nybegynder
10. juni 2006 - 22:14 #15
prøv denne:

<?php session_start(); ?>
<?php require_once('../Connections/comettrawl.php'); ?>
<?php
mysql_select_db($database_comettrawl, $comettrawl);
$query_rsSide = "SELECT * FROM side";
$rsSide = mysql_query($query_rsSide, $comettrawl) or die(mysql_error());
$row_rsSide = mysql_fetch_assoc($rsSide);
$totalRows_rsSide = mysql_num_rows($rsSide);

$colname_rsProdukter = "1";
if (isset($_GET['kategori'])) {
  $colname_rsProdukter = (get_magic_quotes_gpc()) ? $_GET['kategori'] : addslashes($_GET['kategori']);
}
mysql_select_db($database_comettrawl, $comettrawl);
$query_rsProdukter = sprintf("SELECT * FROM produkter WHERE kategori = '%s'", $colname_rsProdukter);
$rsProdukter = mysql_query($query_rsProdukter, $comettrawl) or die(mysql_error());
$row_rsProdukter = mysql_fetch_assoc($rsProdukter);
$totalRows_rsProdukter = mysql_num_rows($rsProdukter);

$colname_rsKategori = "1";
if (isset($_GET['id'])) {
  $colname_rsKategori = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_comettrawl, $comettrawl);
$query_rsKategori = sprintf("SELECT * FROM kategori WHERE id = %s", $colname_rsKategori);
$rsKategori = mysql_query($query_rsKategori, $comettrawl) or die(mysql_error());
$row_rsKategori = mysql_fetch_assoc($rsKategori);
$totalRows_rsKategori = mysql_num_rows($rsKategori);
?>

<html>
<head>
<title><?php echo $row_rsSide['titel']; ?></title>
<meta name="description" content="<?php echo $row_rsSide['beskrivelse']; ?>">
<link href="../css/style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {
    color: #FFFFFF;
    font-weight: bold;
}
.boks {
    border: 1px solid #999999;
}

-->
</style>

</head>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td bgcolor="#CCCCCC" height="20"><span class="style1">Produkter:</span></td>
  </tr>
</table>
<br>
Viser <b><?php echo $totalRows_rsProdukter ?></b> produkter i kategorien <b><?php echo $_GET['navn']; ?></b>
<br><br>
<?php

    $cnt = 0;
    while ($row_rsProdukter = mysql_fetch_assoc($rsProdukter)) {
        $cnt++;
        if ( $cnt % 2 == 0 )
        {
?>
<table border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="3%"><img src="images/<?php echo $row_rsProdukter['billede']; ?>" class="boks" height="40" width="40"></td>
    <td width="97%"><strong><?php echo $row_rsProdukter['navn']; ?></strong><br>
» <a href="vis-produkt.php?id=<?php echo $row_rsProdukter['id']; ?>">GÅ til produkt</a></td>
  </tr>
</table>
<?php         
        }
        else
        {
?>
<table border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="3%"><img src="images/<?php echo $row_rsProdukter['billede']; ?>" class="boks" height="40" width="40"></td>
    <td width="97%"><strong><?php echo $row_rsProdukter['navn']; ?></strong><br>
» <a href="vis-produkt.php?id=<?php echo $row_rsProdukter['id']; ?>">Gå til produkt</a></td>
  </tr>
</table>
<?php
        }
    }

?>
</body>
</html>
<?php
mysql_free_result($rsSide);
mysql_free_result($rsProdukter);
mysql_free_result($rsKategori);
?>
Avatar billede ken9 Nybegynder
10. juni 2006 - 22:17 #16
Det virker fint, på alle bortset fra det første produkt.. lidt mystisk :S
Avatar billede wetdog Nybegynder
10. juni 2006 - 22:20 #17
prøv denne:

<?php session_start(); ?>
<?php require_once('../Connections/comettrawl.php'); ?>
<?php
mysql_select_db($database_comettrawl, $comettrawl);
$query_rsSide = "SELECT * FROM side";
$rsSide = mysql_query($query_rsSide, $comettrawl) or die(mysql_error());
$row_rsSide = mysql_fetch_assoc($rsSide);
$totalRows_rsSide = mysql_num_rows($rsSide);

$colname_rsProdukter = "1";
if (isset($_GET['kategori'])) {
  $colname_rsProdukter = (get_magic_quotes_gpc()) ? $_GET['kategori'] : addslashes($_GET['kategori']);
}
mysql_select_db($database_comettrawl, $comettrawl);
$query_rsProdukter = sprintf("SELECT * FROM produkter WHERE kategori = '%s'", $colname_rsProdukter);
$rsProdukter = mysql_query($query_rsProdukter, $comettrawl) or die(mysql_error());
//$row_rsProdukter = mysql_fetch_assoc($rsProdukter);
$totalRows_rsProdukter = mysql_num_rows($rsProdukter);

$colname_rsKategori = "1";
if (isset($_GET['id'])) {
  $colname_rsKategori = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_comettrawl, $comettrawl);
$query_rsKategori = sprintf("SELECT * FROM kategori WHERE id = %s", $colname_rsKategori);
$rsKategori = mysql_query($query_rsKategori, $comettrawl) or die(mysql_error());
$row_rsKategori = mysql_fetch_assoc($rsKategori);
$totalRows_rsKategori = mysql_num_rows($rsKategori);
?>

<html>
<head>
<title><?php echo $row_rsSide['titel']; ?></title>
<meta name="description" content="<?php echo $row_rsSide['beskrivelse']; ?>">
<link href="../css/style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {
    color: #FFFFFF;
    font-weight: bold;
}
.boks {
    border: 1px solid #999999;
}

-->
</style>

</head>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td bgcolor="#CCCCCC" height="20"><span class="style1">Produkter:</span></td>
  </tr>
</table>
<br>
Viser <b><?php echo $totalRows_rsProdukter ?></b> produkter i kategorien <b><?php echo $_GET['navn']; ?></b>
<br><br>
<?php

    $cnt = 0;
    while ($row_rsProdukter = mysql_fetch_assoc($rsProdukter)) {
        $cnt++;
        if ( $cnt % 2 == 0 )
        {
?>
<table border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="3%"><img src="images/<?php echo $row_rsProdukter['billede']; ?>" class="boks" height="40" width="40"></td>
    <td width="97%"><strong><?php echo $row_rsProdukter['navn']; ?></strong><br>
» <a href="vis-produkt.php?id=<?php echo $row_rsProdukter['id']; ?>">GÅ til produkt</a></td>
  </tr>
</table>
<?php       
        }
        else
        {
?>
<table border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td width="3%"><img src="images/<?php echo $row_rsProdukter['billede']; ?>" class="boks" height="40" width="40"></td>
    <td width="97%"><strong><?php echo $row_rsProdukter['navn']; ?></strong><br>
» <a href="vis-produkt.php?id=<?php echo $row_rsProdukter['id']; ?>">Gå til produkt</a></td>
  </tr>
</table>
<?php
        }
    }

?>
</body>
</html>
<?php
mysql_free_result($rsSide);
mysql_free_result($rsProdukter);
mysql_free_result($rsKategori);
?>
Avatar billede ken9 Nybegynder
10. juni 2006 - 22:23 #18
Yeps! Så virker det! Mange tak skal i begge to have!

Kan jeg ikke få et svar fra jer begge??

tusind tak for den tid i har ofret på at hjælpe mig :)

Jeg har smidt 70 point mere i, som tak :)
Avatar billede ken9 Nybegynder
10. juni 2006 - 22:23 #19
men må man spørge hvad du ændrede? :)
Avatar billede wetdog Nybegynder
10. juni 2006 - 22:24 #20
kan ikke tage point fra coderdk´s løsning - giv dem til ham :-)
Avatar billede wetdog Nybegynder
10. juni 2006 - 22:25 #21
prøv selv at læse din kode linie for linie - det lærer du meget mere af
Avatar billede ken9 Nybegynder
10. juni 2006 - 22:25 #22
I bidragede vist begge to med hjælp, så det synes jeg da er fair :)
Avatar billede coderdk Praktikant
10. juni 2006 - 23:48 #23
:)
Avatar billede ken9 Nybegynder
11. juni 2006 - 00:01 #24
endnu engang mange tak :)
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