[Php /MySQL] Rare output

Pagina: 1
Acties:
  • 123 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
Ik probeer verschillende rijen tegelijk uit een MySQL database te halen door een loop te gebruiken.
Hierbij krijg ik erg rare output, dit krijg ik met de onderstaande code.


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php 
$data =  'select bericht,titel,datum, beschrijving from berichten order by nummer asc';// hier haalt hij berichtinformatie op uit de DB.
$berichtinf = mysql_query($data);
$prerij = mysql_fetch_array($berichtinf)or die(mysql_error()); 

 foreach( $prerij as $rij) {
     
  

$datum= $rij['datum'] ; 
echo '<h3 class="content">'.$rij['titel'].'</h3>';
echo'<div class="datum">Geschreven op ';
$tijd = strtotime($datum) ;
echo date('d/m/Y', $tijd) ;
echo '</div>'  ;
echo $rij['bericht'];     
          
  }


Toen ik een while ipv for each constructie gebruikte gaf hij geen output weer, ook geen parse error's.

Ik weet zeker dat het niet aan mijn sql query ligt (offline getest).
Ik weet ook zeker dat het niet aan mijn rijtje echo's (onderaan de code) ligt , want hier krijg ik zonder loop gewoon een resultaat uit, afhankelijk van asc of desc in de sql query.


Kijk voor de inhoud en structuur van mijn database:
Hier !

Acties:
  • 0 Henk 'm!

  • Cipri
  • Registratie: Januari 2001
  • Laatst online: 29-07-2024

Cipri

Of niet natuurlijk...

while ($rij = mysql_fetch_array($berichtinf)){
.. Alles doen met $rij;
}

-=[ Murlocs Ate My Boots]=- Sylvanas Alliance - EU - Orosei lvl 100 Paladin


Acties:
  • 0 Henk 'm!

  • wackmaniac
  • Registratie: Februari 2004
  • Laatst online: 19-09 18:02
idd foreach veranderen in een while.

Zou wel mysql_fetch_assoc gebruiken, dan hoef je de inhoud van de lus niet te veranderen.

Read the code, write the code, be the code!


Acties:
  • 0 Henk 'm!

  • Cipri
  • Registratie: Januari 2001
  • Laatst online: 29-07-2024

Cipri

Of niet natuurlijk...

wackmaniac schreef op zaterdag 08 september 2007 @ 23:15:
Zou wel mysql_fetch_assoc gebruiken, dan hoef je de inhoud van de lus niet te veranderen.
Array of assoc maakt niet zoveel uit in dit geval, maar een assoc is idd mooier, omdat er dan geen numerieke key indexes zijn :)

-=[ Murlocs Ate My Boots]=- Sylvanas Alliance - EU - Orosei lvl 100 Paladin


Acties:
  • 0 Henk 'm!

  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
Bedankt!
Ik zie dat de while constructie die ik gebouwd had helemaal niet klopte, vandaar geen parse error's en geen weergave.

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
En om hem ook nog te snappen;

mysql_query geeft een resultset terug
mysql_fetch_* geeft de rij waar de pointer staat, en zet de pointer 1 plek naar voren. Als de pointer het eind van de result-set bereikt geeft hij false.

Door hem binnen een while() aan te roepen kun je dus zien wanneer je aan het eind van je resultset bent gekomen.
Pagina: 1