Gå til innhold

Informasjon fra SQL sett inn i tabeller på webside


Anbefalte innlegg

Hei, jeg har fått laget selve siden slik at den henter ut informasjon fra sql og legger den ut på websiden. Men så kommer problemet mitt. Jeg skulle hadd denne informasjonen inn i en tabell med max 3 kolonner.

Når informasjonen blir hentet ut så skriver den informasjonen inn i alle de 3 kolonnene, så håpper den ned på en ny rad og skriver ut 3 nye kolonner.

Skjønner?

Jeg har prøvd meg:

<html>
<?php
       include('mysql-config.php');
?>
<head>
<meta http-equiv="Content-Language" content="no-bok">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 0</title>
</head>

<body>
<p align="center"><font face="Arial Black">Artikler</font></p>
<center><form action="<?php print($_SERVER["PHP_SELF"]); ?>" method="post">
<select name="kategori">
       <option>---Velg Kategori---</option>
       <option>Katt</option>
       <option>Hund</option>
       <option>Gnagere</option>
</select>
<input type="submit" name="vis" value="Vis">
</form>
</center>
<table border="2" width="100%" id="table1">
       <tr align=center>
<?php
$kategori = $_POST['kategori'];
echo "<center>$kategori</center>";
if (isset($_POST['vis'])) {
       $result = @mysql_query("SELECT * FROM docs WHERE kategori = '$kategori'");
       if (!$result) {
          die('<p>Får ikke kontakt med ' .
                      ' tabellen på dette tidspunktet: ' . mysql_error() . '</p>');
       }

       // Vis tekt i som ligger i databasen
       while ( $row = mysql_fetch_array($result) ) {
         echo('<td><a href="' . $row['fil'] . '">' . $row['artikkelnavn'] . '</td></a>
');
       }
}
?>
</tr>
</table>


</body>

</html>

 

Men har lager den ikke en ny rad etter å skrive ut 3 kolonner, den lager bare flere. Noen tips?

Lenke til kommentar
Videoannonse
Annonse

Du må endre litt inne i while-statementen din :

Så jeg laget en liten edit til deg :

 

$count = 0;
while ( $row = mysql_fetch_array($result) ) 
{
echo('<td><a href="' . $row['fil'] . '">' . $row['artikkelnavn'] . '</td></a>');
   if($count == 3) 
   {
   echo "</tr><tr>";
   $count = 0;
   continue;    
   }
$count++;
$row = mysql_fetch_array($result) 
}

 

Her teller den antall ganger, loopen gjentas, og printer </tr><tr> når tre kolonner er printet.

 

Har ikke testet den (sitter på skolen), men si i fra om den ikke virker :yes:

Lenke til kommentar

Feil:

Parse error: parse error in /usr/local/apache/htdocs/jkjk/hamarvet/artikler.php on line 48

Kode:

<html>
<?php
       include('mysql-config.php');
?>
<head>
<meta http-equiv="Content-Language" content="no-bok">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 0</title>
</head>

<body>
<p align="center"><font face="Arial Black">Artikler</font></p>
<center><form action="<?php print($_SERVER["PHP_SELF"]); ?>" method="post">
<select name="kategori">
       <option>---Velg Kategori---</option>
       <option>Katt</option>
       <option>Hund</option>
       <option>Gnagere</option>
</select>
<input type="submit" name="vis" value="Vis">
</form>
</center>
<table border="2" width="100%" id="table1">
       <tr align=center>
<?php
$kategori = $_POST['kategori'];
echo "<center>$kategori</center>";
if (isset($_POST['vis'])) {
       $result = @mysql_query("SELECT * FROM docs WHERE kategori = '$kategori'");
       if (!$result) {
          die('<p>Får ikke kontakt med ' .
                      ' tabellen på dette tidspunktet: ' . mysql_error() . '</p>');
       }

       // Vis tekt i som ligger i databasen
$count = 0;
while ( $row = mysql_fetch_array($result) )
{
echo('<td><a href="' . $row['fil'] . '">' . $row['artikkelnavn'] . '</td></a>');
  if($count == 3)
  {
  echo "</tr><tr>";
  $count = 0;
  continue;
  }
$count++;
$row = mysql_fetch_array($result)
}
}
?>
</tr>
</table>


</body>

</html>

 

Har nå funnet ut at det er $row = mysql_fetch_array($result) som gjør at jeg får parse error. Men hvorfor? Denne linjen ser jo ut som at den er Ok. Når jeg fjerner denne linjen så fungerer siden som den gjor før jeg la til endringene i while statementen. Hva kan være feil. Noen som ser problemet?

Endret av _Nitro_
Lenke til kommentar

Riktig som LOS sier. Eneste jeg lurer på er hvorfor du har en ekstra fetch_array i while-loopen din?

Har tatt meg friheten til å korte litt ned på linjene:

while ( $row = mysql_fetch_array($result) )
{
echo('<td><a href="' . $row['fil'] . '">' . $row['artikkelnavn'] . '</a></td>'.((++$count%3)?'':'</tr><tr>'));
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...