login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Vraagje?

Offline Simax - 12/12/2006 14:27 (laatste wijziging 12/12/2006 14:28)
Avatar van SimaxOnbekend Beste mensen,

Op het moment ben ik iemand php aan het leren.
Kan iemand mij uitleg geven over het verschil tussen de volgende twee scripts? Ik heb niet echt een idee hoe ik dit kan omschrijven, zodat het duidelijk is voor degene in kwestie..

  1. <table>
  2. <?php
  3. $query = Mysql_query('Select * From producten');
  4. while($arr = Mysql_fetch_assoc($query))
  5. {
  6. echo "<tr>"
  7. echo "<td>".$arr['id']."</td>";
  8. echo "<td>".$arr['naam']."</td>";
  9. echo "<td>".$arr['prijs']."</td>";
  10. echo "<td>".$arr['artikelnummer']."</td>";
  11. echo "<td>".$arr['bestelcode']."</td>";
  12. echo "</tr>"
  13. }
  14. ?>
  15. </table>


  1. <table>
  2. <?php
  3. $query = Mysql_query('Select * From producten');
  4. while($arr = Mysql_fetch_assoc($query))
  5. {
  6. ?>
  7. <tr>
  8. <td><?php echo $arr['id']; ?></td>
  9. <td><?php echo $arr['naam']; ?></td>
  10. <td><?php echo $arr['prijs']; ?></td>
  11. <td><?php echo $arr['artikelnummer']; ?></td>
  12. <td><?php echo $arr['bestelcode']; ?></td>
  13. </tr>
  14. <?php
  15. }
  16. ?>
  17. </table>


Alvast bedankt .

MvG,
RvB

11 antwoorden

Gesponsorde links
Offline Webtijn - 12/12/2006 14:32
Avatar van Webtijn PHP interesse


mysql_free_result() hoeft alleen te worden aangeroepen als je je zorgen maakt over de hoeveelheid geheugen die wordt gebruikt voor queries die grote resultaten teruggeven. (Bron PHP.net)

Verder zie ik dat je in je eerste voorbeeld alles in PHP hebt staan, en de tweede steeds PHP opent en sluit wat een stuk minder net is.

(Om terug te komen op je vraag, en dat was "Wat is het verschi", in de 2e wordt een functie gebruikt die vrijwel nutteloos is in dit opzicht, en in de 2e wordt PHP geopend en gesloten continu.)
Offline marten - 12/12/2006 14:32
Avatar van marten Beheerder De bovenste is minder goed. Dit omdat PHP alle html ook nog moet parsen. De onderste doe je dat niet. Dus zal het script sneller zijn
Offline Simax - 12/12/2006 14:34 (laatste wijziging 12/12/2006 14:37)
Avatar van Simax Onbekend Ok.

Kun je mij vertellen wanneer ik manier 1 en manier 2 het beste kan gebruiken?

Ze hebben mij verteld dat manier 2 sneller is.
Wanneer ik een overzicht van leden of dergelijke wil maken,
"Welke raden jullie dan aan?".

MvG,
RvB
Offline marten - 12/12/2006 14:37
Avatar van marten Beheerder Ik raad de onderste aan omdat dit sneller is. Als je een groot script hebt is de snelheidswinst opzienbarend
Offline Simax - 12/12/2006 14:41 (laatste wijziging 12/12/2006 14:42)
Avatar van Simax Onbekend Ok.

Maar..
Volgens mij heb ik bij manier 2 wel het nadeel dat er niet bij ieder nieuw product of dergelijke een nieuwe rij word aangemaakt?
Het is de bedoeling dat ieder product wat ik invoer in een nieuwe rij word geplaatst.
Gebeurt dit ok bij manier 2?

Alvast bedankt .

MvG,
RvB
Offline Thomas - 12/12/2006 14:41
Avatar van Thomas Moderator Je kunt

  1. <?php echo "zut"; ?>


ook verkorten naar

  1. <?= "zut" ?>


Manier #2 is beter dan manier #1, maar verdienen eigenlijk beide niet de voorkeur omdat je code en layout door elkaar gooit.

Als je wat meer gevorderd bent zou ik overstappen naar template-systemen. Tot die tijd zou ik werken met de 2e variant.
Offline marten - 12/12/2006 15:08
Avatar van marten Beheerder maar dan moet wel de short tags notatie aan staan in je php.ini 
Offline Simax - 12/12/2006 15:13
Avatar van Simax Onbekend
Citaat:
Maar..
Volgens mij heb ik bij manier 2 wel het nadeel dat er niet bij ieder nieuw product of dergelijke een nieuwe rij word aangemaakt?
Het is de bedoeling dat ieder product wat ik invoer in een nieuwe rij word geplaatst.
Gebeurt dit ok bij manier 2?


MvG,
RvB
Offline Thomas - 12/12/2006 15:57
Avatar van Thomas Moderator Hm?
Elke iteratie van je while-lus omvat in beide gevallen toch een tabel-rij?

De output van beide scripts (de HTML) is hetzelfde.
Offline Simax - 12/12/2006 16:16 (laatste wijziging 12/12/2006 16:17)
Avatar van Simax Onbekend Klopt.

Je hebt helemaal gelijk.
Ik heb totaal langs gekeken.
Sorry voor het ongemak .

Citaat:
De while lus zorgt er voor dat voor iedere nieuwe invoer een nieuwe rij word aangemaakt.


MvG,
RvB
Offline ThAlmighty - 12/12/2006 17:28
Avatar van ThAlmighty HTML beginner tip: gebruik kleine letters voor de commands. Dit staat een stuk netter, vind ik, en sommige programma's hebbne moeite met het parsen van standaard (!) functies je die ineens hoofdletters schrijft.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s