login  Naam:   Wachtwoord: 
Registreer je!
 Forum

select uit database met where

Offline Stefan14 - 05/11/2005 19:29 (laatste wijziging 05/11/2005 19:30)
Avatar van Stefan14PHP gevorderde ik heb een klein probleempje met een select uit de database. uit de database bestellingen wil ik alle bestellingen met een bepaalde status. dat is dus status 1 tot en met 6 zoals ik ze benoemd heb, maar wanneer ik het hieronder staande script aanroep geeft hij een foutmelding op lijn 22, dat is de lijn met de while. dus er zit een fout in het select statement.

het resultaat wat ik krijg is een witte pagina met niks erop.

maar ik weet niet wat ik fout doe, als ik de where clause weghaal werkt het wel, maar niet zoals ik wil natuurlijk.

  1. <?php
  2. include('includeSecurity.php');
  3. ?>
  4.  
  5. <?php
  6. include('../include/functions.php');
  7. ?>
  8.  
  9. <?php
  10.  
  11. $status1 = 'wachtend op bevestiging';
  12. $status2 = 'bestelling bevestigd';
  13. $status3 = 'ingepakt';
  14. $status4 = 'ingepakt/wachtend op betaling';
  15. $status5 = 'verzonden';
  16. $status6 = 'verzonden/wachtend op betaling';
  17.  
  18. $query1 = "SELECT * FROM bestellingen WHERE status=".$status1 || $status2 || $status3 || $status4 || $status5 || $status6;
  19. $result1 = (mysql_query($query1));
  20.  
  21. while($bestelling = mysql_fetch_array($result1))
  22. {
  23.  
  24. $query2 = "SELECT * FROM besteldeproducten WHERE bestellingsID=".$bestelling['id'];
  25. $result2 = mysql_query($query2);
  26. $landBestelling = $bestelling['land'];
  27. $korting = $bestelling['korting'];
  28.  
  29. while($besteldeprod = mysql_fetch_array($result2))
  30. {
  31. $aantal = $besteldeprod['aantal'];
  32. $verpakking = $besteldeprod['verpakking'];
  33. $gewicht = $besteldeprod['gewicht'];
  34. $prijs1 = $besteldeprod['prijs1'];
  35. $prijs2 = $besteldeprod['prijs2'];
  36. $prijs5 = $besteldeprod['prijs5'];
  37. $prijs10 = $besteldeprod['prijs10'];
  38. $prijs100 = $besteldeprod['prijs100'];
  39. $prijs250 = $besteldeprod['prijs250'];
  40. $prijs1000 = $besteldeprod['prijs1000'];
  41.  
  42.  
  43. if($aantal>=1000 && $prijs1000!=0)
  44. $prijs = $prijs1000;
  45. elseif($aantal>=250 && $prijs250!=0)
  46. $prijs = $prijs250;
  47. elseif($aantal>=100 && $prijs100!=0)
  48. $prijs = $prijs100;
  49. elseif($aantal>=10 && $prijs10!=0)
  50. $prijs = $prijs10;
  51. elseif($aantal>=5 && $prijs5!=0)
  52. $prijs = $prijs5;
  53. elseif($aantal>=2 && $prijs2!=0)
  54. $prijs = $prijs2;
  55. else
  56. $prijs = $prijs1;
  57.  
  58. $prijsTotaal = $prijs * $aantal + $prijsTotaal; // totale omzet zonder verzendkosten
  59.  
  60. $gewichtTotaal = $gewichtTotaal + $gewicht * $aantal;
  61. $gewichtTotaal = $gewichtTotaal + 1.05; // Het gewicht van het zakje (1,05 gram) moet er voor ieder product bij
  62.  
  63. }
  64. $gewichtTotaal = $gewichtTotaal + 15; // Het gewicht vsn de envelop
  65.  
  66. if($verpakking == 'pakketje' || $gewichtTotaal > 250 || $prijsTotaal > 75)
  67. $verpakking = 'pakketje';
  68. else
  69. $verpakking = 'bubbeltjesenvelop';
  70.  
  71.  
  72. // Het land wordt meegegeven, zodat niet de verzendkosten veranderen als de klant emigreert.
  73. if($verzendkosten == 'nee')
  74. $verzendkosten = 0;
  75. else
  76. $verzendkosten = berekenVerzendkosten($verpakking,$gebruikersID,$gewichtTotaal,$landBestelling,$prijsTotaal);
  77.  
  78. $gewichtTotaalAll += $gewichtTotaal;
  79. $verzendkostenTotaal += $verzendkosten;
  80. $kortingTotaal += $korting;
  81. $prijsTotaalAll += $prijsTotaal - $korting + $verzendkosten;
  82. $prijsTotaal = 0;
  83. $gewichtTotaal = 0;
  84. }
  85.  
  86.  
  87. $bedrag_voorraad = 10;
  88. $bedrag_inventaris = 10;
  89. $bedrag_debiteuren = $prijsTotaalAll;
  90. $bedrag_bank = 10;
  91. $debet = 40;
  92.  
  93. $bedrag_ev = 30;
  94. $bedrag_crediteuren = 10;
  95. $credit = 40;
  96.  
  97. echo($prijsTotaalAll);
  98.  
  99. ?>
  100. <center>
  101. <table>
  102. <tr><td>
  103. <table width="350" height="90%" style="border:1px solid black">
  104. <tr><td>Voorraad</td><td>€ <?php echo($bedrag_voorraad); ?></td></tr>
  105. <tr><td>Inventaris</td><td>€ <?php echo($bedrag_inventaris); ?></td></tr>
  106. <tr><td>Debiteuren</td><td>€ <?php echo($bedrag_debiteuren); ?></td></tr>
  107. <tr><td>Bank</td><td>€ <?php echo($bedrag_bank); ?></td></tr>
  108. <tr><td>&nbsp;</td><td style="border-top:1px solid black">€ <?php echo($debet); ?></td></tr>
  109. </table>
  110. </td><td>
  111. <table width="350" height="90%" style="border:1px solid black">
  112. <tr><td>Eigen Vermogen</td><td>€ <?php echo($bedrag_ev); ?></td></tr>
  113. <tr><td>Crediteuren</td><td>€ <?php echo($bedrag_crediteuren); ?></td></tr>
  114. <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
  115. <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
  116. <tr><td>&nbsp;</td><td style="border-top:1px solid black">€ <?php echo($credit); ?></td></tr>
  117. </table>
  118.  
  119. </td></tr></table>
  120. </center>

8 antwoorden

Gesponsorde links
Offline Rens - 05/11/2005 19:31
Avatar van Rens Gouden medaille

Crew algemeen
Lijn 20:
  1. $result1 = (mysql_query($query1));

Veranderen naar:
  1. $result1 = mysql_query($query1) or die(mysql_error());
Offline Ibrahim - 05/11/2005 19:32
Avatar van Ibrahim PHP expert bij je where moet je ' gebruiken voor de "
Offline Thomas - 05/11/2005 19:33 (laatste wijziging 05/11/2005 19:34)
Avatar van Thomas Moderator Euh... Je gaat $status1 || $status2 || $status3 || status4 || $status5 || $status6 uitvoeren in PHP, en niet in je query...

Van ($status1 || $status2 || $status3 || status4 || $status5 || $status6) blijft uiteindelijk waarschijnlijk enkel "true" of "1" over, zodat er komt te staan:
"SELECT * FROM bestellingen WHERE status= 1"

ofzo.

Waarom gebruik je trouwens text voor een status? Dat is in dit geval toch zwaar onhandig? Je had de statussen beter uit enkel cijfers kunnen laten bestaan, en die tekst een soort van tekstuele omschrijving van je statussen... Zijn dat trouwens alle statussen (1 t/m 6)? Want dan heb je namelijk geen WHERE-conditie nodig.
Offline Rens - 05/11/2005 19:34
Avatar van Rens Gouden medaille

Crew algemeen
Citaat:
bij je where moet je ' gebruiken voor de "

Hoezo onzin?:s
Als het een getal is, moet dit juist niet.
Offline Ibrahim - 05/11/2005 19:35
Avatar van Ibrahim PHP expert maar het is geen getal... je ziet toch dat de waarde tekst is
Offline Rens - 05/11/2005 19:40 (laatste wijziging 05/11/2005 19:40)
Avatar van Rens Gouden medaille

Crew algemeen
  1. $query2 = "SELECT * FROM besteldeproducten WHERE bestellingsID=".$bestelling['id'];


id is nog altijd een getal?
Offline Stefan14 - 05/11/2005 19:40 (laatste wijziging 05/11/2005 19:42)
Avatar van Stefan14 PHP gevorderde ik het het als volgt geprobeerd

  1. <?php
  2. $query1 = 'SELECT * FROM bestellingen WHERE status='.$status1 || $status2 || $status3 || $status4 || $status5 || $status6;
  3. ?>


maar dit leverde hetzelfde resultaat op.

nee, het zijn niet alle statussen, anders had ik die where idd wel weggelaten, ik heb in totaal 12 statussen 

id is idd een getal, weliswaar bestaand uit 6 cijfers zodat hij gelijk dient als factuurnummer
Offline Ibrahim - 05/11/2005 19:41 (laatste wijziging 05/11/2005 19:41)
Avatar van Ibrahim PHP expert heb het over de status... maar ik heb er niet bij gezet welke query sorry voor de onduidelijkheid 

edit @hierboven:

je moet ook de " erbij zetten 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.237s