login  Naam:   Wachtwoord: 
Registreer je!
 Forum

while probleem

Offline Janv - 23/09/2009 21:48 (laatste wijziging 23/09/2009 23:37)
Avatar van JanvNieuw lid Hallo mensen, ik heb een while probleem..

Bij dit stukje tekst komt er altijd maar 1 naam..

Deze dieren gebruiken dit territorium:

Kibby |

Iemand een idee?

Code:
  1. <?php
  2.  
  3. # Jouw Territoriums uit de database halen
  4. $sQuery1 = "SELECT * FROM territorium WHERE eigenaar = '".$_SESSION['login']."'";
  5. $sResult1 = mysql_query($sQuery1);
  6. $sCount = mysql_num_rows($sResult1);
  7.  
  8. if ($sCount == 0){
  9. echo "<p>Je hebt geen Territoriums</p>";
  10. } else
  11. {
  12. while ($sTer = mysql_fetch_assoc($sResult1)){
  13. $sQuery = "SELECT * FROM alle_dieren WHERE naam = '".$sTer['dier_naam']."'";
  14. $sResult = mysql_query($sQuery);
  15. $sAlleDieren = mysql_fetch_assoc($sResult);
  16.  
  17. # Zoek dieren die hierin kunnen zitten
  18. $sQuery = "SELECT * FROM dieren WHERE territorium_id = '".$sTer['id']."' AND owner_id = '".$_SESSION['login']."'";
  19. $sResult = mysql_query($sQuery);
  20. $sDierencheck = mysql_fetch_assoc($sResult);
  21. $sDierencheckCount = mysql_num_rows($sResult);
  22. $sCount = mysql_num_rows($sResult);
  23. $sVerschil = $sTer['max'] - $sDierencheckCount;
  24.  
  25. # Persoonlijke naam = geen dieren
  26. if ($sCount == 0) { $sNaam = "<span class=\"BROWN\"><b>In dit territorium zitten geen dieren.</b></span>";
  27. } else {
  28. $sNaam = $sDierencheck['persoonlijke_naam'];
  29. }
  30. ######
  31.  
  32. echo '<table width="100%"><tr><td><img src="'.$sAlleDieren['img'].'"></td><td>Naam: <span class="BROWN"><b>'.$sAlleDieren['naam'].'</b></span> <br />
  33. Plaatsen in dit territorium: '.$sTer['max'].' <br />
  34. Plaatsen vrij: '.$sVerschil.'<br />
  35. Deze dieren gebruiken dit territorium: <br /> <br />
  36. '.$sNaam.' |
  37. </tr></table>';
  38. }
  39. }
  40.  
  41. ?>


Grtz,
Jan

6 antwoorden

Gesponsorde links
Offline Abbas - 23/09/2009 23:38
Avatar van Abbas Gouden medaille

Crew .NET
In het vervolg zet ge zelf u code een beetje deftig, anders topic dicht!
Offline MiST - 24/09/2009 02:06 (laatste wijziging 24/09/2009 02:06)
Avatar van MiST Lid Denk dat je ook best eerst eens naar joins gaat kijken. De snelheid van deze methode zou wel eens betrekkelijk laag kunnen liggen. Je 2*n queries kan je uitvoeren in 1 enkele query... (als ik ff goed snel gekeken heb. )

Een methode die werkt is niet steeds "de juiste methode"!
Offline ArieMedia - 24/09/2009 08:48
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Iets los hier van,
ik zie dat je met sQuery ect werkt.
HEEL GOED! Alleen ik denk niet dat je de volledigheid hiervan kent aangezien je mysql_num_rows ook met een s begint..

s = string
i = integer
c = class
b = boolean
a = array
(En zo zijn er nog een paar)

Dit betekent dat het
het dit word: $iCount = mysql_num_rows();
Je krijgt namelijk een integer terug. en ditzelfde geld voor regel regel 23, sVerschil word iVerschil, je krijgt immers een integer.

Hopelijk doe je hier wat mee, want het maakt je code 10x overzichtelijker
Offline Ultimatum - 24/09/2009 16:05
Avatar van Ultimatum PHP expert Je krijgt maar 1 dier terug om je teritorium wel in een while hebt zitten maar het ophalen van de dieren niet, dus krijg je alleen eerste resultaat terug.

@Arie2Zero, je zegt c is voor class, duidelijker is om o te gebruiken omdat je namelijk een object terug krijgt, want je wijkt nu zelf af omdat de andere letters wel staan voor het type dat je terug krijgt, maar class is geen type.
Offline ArieMedia - 24/09/2009 16:09
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Ultimatum schreef:
Je krijgt maar 1 dier terug om je teritorium wel in een while hebt zitten maar het ophalen van de dieren niet, dus krijg je alleen eerste resultaat terug.

@Arie2Zero, je zegt c is voor class, duidelijker is om o te gebruiken omdat je namelijk een object terug krijgt, want je wijkt nu zelf af omdat de andere letters wel staan voor het type dat je terug krijgt, maar class is geen type.
Ik gebruik zelf altijd c van "Class", omdat ik eigenlijk nooit heb nagedacht, vanaf nu dus ook maar de "o" gebruiken, best logisch ook .

Thanx anyway
Offline timmie_loots - 24/09/2009 23:19
Avatar van timmie_loots PHP gevorderde Om de (eigenlijk een beetje offtopic-) discussie even voort te zetten, eigenlijk is dit niet de beste vorm van Hungarian Notation. In het geval van PHP kan het je helpen (omdat PHP niet zoveel geeft om de types) fouten op te sporen, maar het is eigenlijk beter om met de prefix iets te zeggen over wát er in de variabele zit. Ik zou graag uitleggen waarom dat precies is, maar dat kan Joel veel beter (het relevante deel begint tegen het einde van de pagina, maar ik wil iedereen aanbevelen het hele artikel te lezen).

Het komt er in het kort op neer dat het veel handiger is om te weten wat het 'soort' van een variabele is, dan wat het type van een variabele is. Hungarian Notation zou zoveel krachtiger kunnen zijn als men het gebruikte zoals het ooit is bedoeld.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.352s