login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Functie?

Offline gothmog - 25/08/2006 18:18 (laatste wijziging 25/08/2006 18:18)
Avatar van gothmogLid Hallo,

Ik wil het volgende doen en hoop dat ik het duidelijk genoeg uitleg:

Ik heb een scriptje dat meerdere keren op een pagina uitgevoerd moet worden. Eerst haal ik wat gegevens uit de database, dan controleer ik of er meer dan 0 rijen zijn en dan word er dus een tabel getoond.
Ik heb alles nu helemaal uitgeschreven, maar de pagina is nu iets van 500 regels en dat vind ik iets te veel.

Hoe kan ik oplossen dat het door 1 functie kan, die ik soms wel 10 keer op één pagina moet uitvoeren?

Ik hoop dat jullie mij kunnen helpen, als het nog niet helemaal duidelijk is, zeg dat dan aub.

MVG,
Sven:cool:

P.S. Het is me nog niet helemaal gelukt om een functie ervoor te schrijven.

6 antwoorden

Gesponsorde links
Offline Dark_Paul - 25/08/2006 18:24 (laatste wijziging 25/08/2006 18:32)
Avatar van Dark_Paul PHP ver gevorderde laat eens het stukje zien waar je dat doet. aan de hand daarvan kunnen we je helpen je functie te schrijven.
het zal niet moeilijk zijn, tenzij je je tabellen iedere keer anders maakt.
om je alvast opweg te helpen zal ik ff een snel voorbeeldje scripten, komt zo..
  1. <?php
  2. function queries($query) {
  3. while ($res = mysql_fetch_array($query)) {
  4. $tabel .= '<table class="tabel">';
  5. $tabel .= '<tr><td class="cel">$res['id']</td></tr>';
  6. // enzovoorts
  7. }
  8. return ($tabel);
  9. }
  10.  
  11. $query1 = mysql_query("SELECT * FROM tabel WHERE id = 1");
  12. $output = queries($query1);
  13. echo $output;
  14. $query2 = mysql_query("SELECT * FROM tabel WHERE naam = 'jan'");
  15. $output2 = queries($query2);
  16. echo $output2;
  17. // enzovoorts
  18. ?>


vinTage edit, vars buiten de quotes, en WAAROM al die html variablen ?? 
Offline Wim - 25/08/2006 18:35
Avatar van Wim Crew algemeen
  1. <?php
  2. $output = NULL;
  3. function queries($query) {
  4. global $output;
  5. while ($res = mysql_fetch_array($query)) {
  6. $output .= '<table class="tabel">';
  7. $output .= '<tr><td class="cel">'.$res['id'].'</td></tr>';
  8. // enzovoorts
  9. }
  10. return true;
  11. }
  12.  
  13. $query1 = mysql_query("SELECT * FROM tabel WHERE id = 1");
  14. queries($query1);
  15. $query2 = mysql_query("SELECT * FROM tabel WHERE naam = 'jan'");
  16. queries($query2);
  17. // enzovoorts
  18. echo $output;
  19. ?>


beetje overzichtelijker lijkt me
Offline Gerard - 26/08/2006 02:36
Avatar van Gerard Ouwe rakker wimmarien: het klinkt misschien heel gek maar ik heb dan zelfs nog liever het voorbeeld wat dark_paul schetst. Hoewel hij met 2 vars werkt voor zijn output (wat wel gewoon in 1 kan) ben ik er een voorstander van om daadwerkelijk wat te returnen met je functie in plaats van met een global te werken.
Offline lau - 26/08/2006 14:54
Avatar van lau HTML interesse Ik heb ook zoiets wat elke keer wordt uitgevoerd om te controleren of er gegevens zijn in de database, ik doe het telkens met de volgende codes:
  1. <?php
  2. $sQueryA = "SELECT * FROM test WHERE id = ".$_GET['pid'];
  3. if (!$sResultA = mysql_query($sQueryA)) {
  4. // foutmelding weergeven bij verkeerde sQuery
  5. include_once 'lib/error/query.php';
  6. } else {
  7. $iNumA = mysql_num_rows($sResultA);
  8. if ($iNumA > 0) {
  9. $objA = mysql_fetch_object($sResultA);
  10. // er zijn resultaten aanwezig, dus resultaten weergeven
  11. echo $objA->informatie;
  12. } else {
  13. // er zijn geen resultaten, geef foutmelding
  14. echo 'Er zijn geen resultaten';
  15. }
  16. }
  17. ?>

En elke keer gebruik ik dus dezelfde maar dan telkens met een andere benaming als sQueryA en sQueryB etc..
Misschien dat er hiervoor ook een functie kan worden geschreven?
Offline Wim - 26/08/2006 15:03
Avatar van Wim Crew algemeen Proximus: dat is gewoon een persoonlijke mening...

Ik weet trouwens niet hoe dit hier gebruikt wordt, maar het voorbeeld van Dark_Paul kom ik in de praktijk niet tegen... (toch niet bij men eigen scripts)
Offline gothmog - 26/08/2006 15:05
Avatar van gothmog Lid Allemaal bedankt!

Ik ga even die van Dark_Paul proberen toe te passen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.213s