login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ik heb een error in me bestel systeempje (Opgelost)

Offline redbaronmusi - 05/11/2009 01:59 (laatste wijziging 05/11/2009 03:06)
Avatar van redbaronmusiNieuw lid Assemblagekosten: €40,00subtotaal: €408,00Overzicht van uw optionele componenten
Foutmelding schreef:
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 21 in /home/discogids/domains/disco-gids.nl/public_html/demo/system/pcbuilder/list.php on line 85

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 22 in /home/discogids/domains/disco-gids.nl/public_html/demo/system/pcbuilder/list.php on line 86

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 23 in /home/discogids/domains/disco-gids.nl/public_html/demo/system/pcbuilder/list.php on line 87

subtotaal: €0,00
Totaal: €408,00
Bestel deze computer!

In dit stuk code moet het dan fout gaan

  1. //optionele componenten
  2. echo "<h3>Overzicht van uw optionele componenten</h3>";
  3. $opt_totaal = 0;
  4. $basket = $_GET['basket'];
  5. $optidz = explode("v", $basket);
  6. sort($optidz);
  7. $aantal_optidz = count($optidz);
  8.  
  9. for($i = 0; $i < $aantal_optidz; $i++)
  10. {
  11. $prijs = mysql_result(mysql_query("SELECT prijs FROM pcbuilder_opt WHERE `id` = '".$optidz[$i]."'"),0,0);
  12. $naam = mysql_result(mysql_query("SELECT naam FROM pcbuilder_opt WHERE `id` = '".$optidz[$i]."'"),0,0);
  13. $type = mysql_result(mysql_query("SELECT type FROM pcbuilder_opt WHERE `id` = '".$optidz[$i]."'"),0,0);
  14. if(!empty($prijs))
  15. {
  16. $opt_totaal += $prijs;
  17. echo "<div class='line'><div class='label2'>".$type."</div><div class='label'>".$naam."</div><div class='label2'>€".str_replace(".",",",$prijs)."</div></div><div class='clear'></div>";
  18. }
  19. if($type == 'Besturingssysteem')
  20. {
  21. $OS = 'yes';
  22. }
  23. }
  24. if($OS == 'yes')
  25. {
  26. echo "<div class='label2'></div><div class='label3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;installeren besturingssysteem: €".str_replace(".",",",$installatiekosten)."</div><div class='clear'></div>";
  27. $opt_totaal += $installatiekosten;
  28. }
  29. echo "<div class='label2'></div><div class='label2'></div><div class='label2'>subtotaal: €".number_format($opt_totaal, 2, ',', '')."</div><div class='clear'></div>";
  30. $totaal += $opt_totaal;
  31. echo "<br/>";
  32. echo "<div class='label2'></div><div class='label2'></div><div class='label2'><b>Totaal: €".number_format($totaal, 2, ',', '')."</b></div><div class='clear'></div><br/>";
  33. echo "<div class='label2'></div><div class='label2'></div><div class='label2'><a href=checkout.php?mobo=".$_GET['mobo']."&proc=".$_GET['proc']."&proc_koeler=".$_GET['proc_koeler']."&hdd=".$_GET['hdd']."&geh=".$_GET['geh']."&gfx=".$_GET['gfx']."&optdrv=".$_GET['optdrv']."&voeding=".$_GET['voeding']."&behuizing=".$_GET['behuizing']."&basket=".$_GET['basket']."&totaal=".$totaal.">Bestel deze computer!</a></div>";
  34. ?>
  35. </div>
  36. </body>

3 antwoorden

Gesponsorde links
Offline Ontani - 05/11/2009 08:53
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Geven de queries op regel 11, 12 en 13 wel iets terug?

Best dat je daar even controleerd of deze wel een rij terug geven en daarna pas een mysql_result op doen.
Offline Martijn - 05/11/2009 10:41 (laatste wijziging 05/11/2009 10:42)
Avatar van Martijn Crew PHP Wat je beter kunt doen is dit:
  1. $sQuery = mysql_query("SELECT prijs,naam,type FROM pcbuilder_opt WHERE `id` = '".$optidz[$i]."'");
  2. $fQuery = mysql_fetch_row($sQuery);
  3. list($prijs,$naam,$type) = $fQuery;


Dit is maar 1 query, wat dus 66% bespaart (even simpel gezien dan). Verder overzichtelijker en kun je er beter mee werken

verder lijkt het me ook fijn om even op je $_GET een vorm van beveiliging te zetten. mysql_escape_string() ofzo
Offline redbaronmusi - 05/11/2009 16:30 (laatste wijziging 05/11/2009 17:41)
Avatar van redbaronmusi Nieuw lid waar zet ik die escape neer en is die wel nodig
want hij haalt hier aleen een bovenliggen deel van me script op en telt daar verder na afhandelin mailt hij de bestelijst word dus niks in de dat base achter gelaten.


de ingekorte code werkt goed dit is dus opgelost
heb me checkout ook gelijk even gefikst
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.196s