Loops in PhP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jordy Heer

Jordy Heer

08/01/2015 17:43:21
Quote Anchor link
Hallo,

Ik ben bezig met php pagina te maken met resultaten die vanuit de database gehaald worden. Echter kom ik er niet helemaal uit

Tabel informatie bevat 5 regels, alleen wanneer de eerste while in de if == 3 komt stopt hij met de eerste while.

In table informatie zitten 5 records
in table bestuur zitten 3 records

Output is nu:
Informatie: 3 records
Bestuur: 3 records

Hij gaat dus niet verder met record 4 van informatie

wie o wie weet wat mijn probleem is.
Als ik de 2e while uitzet gaat het wel goed, alleen heb ik dan mijn database results niet :(

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php                    

$sSQL
= 'SELECT * FROM `informatie` order by positie';
$rsSQL = mysql_query($sSQL);
while ($aInfo = mysql_fetch_array($rsSQL))
{

    echo '<div class="border">
          <h4 rel="item-'
.$aInfo['positie'].'">' . $aInfo['positie'] . '. ' . $aInfo['onderwerp'] . '</h4>
          <div>'
;
          if ($aInfo['positie'] == 3)
          {
     echo ' <table width="100%">
                      <tr> <td> <b>Functie </b> </ul></td>     <td><b> Naam </b></td>     <td><b>E-mail</b></td>    </tr>'
;
                      
                      $sSQL = 'SELECT * FROM `bestuur` WHERE `functie` in (\'Bestuurslid\', \'Voorzitter\')';
                     $rsSQL = mysql_query($sSQL);
                     while ($aUser = mysql_fetch_array($rsSQL))
                     {

                        echo '<tr><td>' . $aUser['functie'] . '</td> <td>' . $aUser['Voorletters'] . ' ' . $aUser['Achternaam'] . '</td>' . '<td>' . $aUser['email'] . '</td> </tr>';
                     }

            echo ' </table>';
          }

          else
          {
            echo '<p> ' . nl2br($aInfo['text']) . ' </p>';  
          }

          echo '</div>
                </div>'
;    
}

?>
 
PHP hulp

PHP hulp

26/04/2024 11:46:24
 
Pipo Clown

Pipo Clown

08/01/2015 18:03:38
Quote Anchor link
In je main loop gebruik je $rsSQL om alles door te lopen.

Binnen de mainloop definieer je $rsSQL opnieuw. Dit zorgt voor je problemen.
 
Jordy Heer

Jordy Heer

08/01/2015 20:17:35
Quote Anchor link
Thanks voor je snelle reactie Pipo!!!

Het is inmiddels opgelost.
 
Bart V B

Bart V B

31/01/2015 14:46:20
Quote Anchor link
Je bent een beetje de weg kwijt met quotes. :)
Zo is dat beter.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sSQL
= "SELECT * FROM bestuur WHERE functie in ('Bestuurslid', 'Voorzitter')";
?>


Ik denk dat je in de war bent met php quotes. Even een voorbeeldje zoals het dan zou moeten.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sSQL
= "SELECT * FROM bestuur WHERE functie = '".$Bestuurslid."'";
?>

Gewijzigd op 31/01/2015 14:49:05 door Bart V B
 
Thomas van den Heuvel

Thomas van den Heuvel

31/01/2015 14:55:07
Quote Anchor link
echo echo echo... Als je geen PHP nodig hebt, kun je ook uit het PHP-blok stappen hoor.

Daarnaast: als je nieuwe code aan het schrijven bent, gebruik dan mysqli, de mysql_-functies zijn stiekem al 10 jaar verouderd en gaan "binnenkort" definitief verdwijnen.

Daarnaast: is HTML toegestaan in je uitvoer? Anders kun je deze beter ontdoen van haar speciale betekenis met een functie als htmlspecialchars(). Stel dat iemand voor de gein '</div></div>' in je $ainfo['text'] zet, bam - paginastructuur om zeep.

EDIT: op de edit van Bart :). Als je variabelen in je query gebruikt, moet je deze ook escapen met de daarvoor bestemde _real_escape_string() functie.
Gewijzigd op 31/01/2015 14:56:26 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.