login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hij plaatst niks in de database

Offline pim1991 - 24/02/2008 18:01 (laatste wijziging 24/02/2008 18:04)
Avatar van pim1991PHP interesse Hallo,

Hij plaatst bij onderstaand script niks in de database:
  1. $id = 1;
  2. while(!empty($_POST["product_".$id])){
  3. mysql_query("INSERT INTO orders (factuurnummer, product, aantal, prijs) VALUES ('".$factuurnummer."', '".$_POST['product_'.$id]."', '".$_POST['aantal_'.$id]."', '".$_POST['prijs_'.$id]."')") or die(mysql_error());
  4. $id++;
  5. }


Wat is er fout aan?

Alvast bedankt!

8 antwoorden

Gesponsorde links
Offline timmie_loots - 24/02/2008 19:05 (laatste wijziging 24/02/2008 19:05)
Avatar van timmie_loots PHP gevorderde In principe is er niks fout aan.
Offline pim1991 - 24/02/2008 19:15
Avatar van pim1991 PHP interesse
  1. <script>
  2. //Veld toevoegen
  3. //maak_id is het id dat aangemaakt moet worden
  4. function VeldToevoegen(maak_id){
  5. // Volgende id maken voor de div
  6. var volgende_id = parseFloat(maak_id) + 1;
  7. //Inhoud van de div maken
  8. var inhoud = "<table width='100%' border=0 cellspacing=0 cellpadding=0><tr><td><input type='text' size='25' name='product_"+maak_id+"'></td><td>&nbsp;<input type='text' size='4' name='aantal_"+maak_id+"' value='1'></td><td>&nbsp;<input type='text' size='5' name='prijs_"+maak_id+"'><td></tr></table><div id='veld_"+volgende_id+"'><input type='button' onclick='javascript: VeldToevoegen("+volgende_id+");' value='Nieuw product toevoegen' /> </div>";
  9. //In div schrijven
  10. document.getElementById("veld_"+maak_id).innerHTML = inhoud;
  11. }
  12. </script>


Is hier dan iets fout aan?
Offline DMM - 24/02/2008 19:41
Avatar van DMM PHP beginner
  1. $id = 1;
  2.  
  3. while(!empty($_POST['product_'].$id])) {
  4.  
  5. mysql_query("INSERT INTO orders (factuurnummer, product, aantal, prijs) VALUES (' ".$factuurnummer." ', ' ".$_POST['product_'].$id." ', ' ".$_POST['aantal_'].$id." ', ' ".$_POST['prijs_'].$id." ') ") or die(mysql_error());
  6.  
  7. $id++;
  8. } // einde while
Offline pim1991 - 24/02/2008 19:45 (laatste wijziging 25/02/2008 09:06)
Avatar van pim1991 PHP interesse Nee dat gaat niet werken.
Deze code werkt wel met bewerken:
  1. $id = 1;
  2. while(!empty($_POST["product_".$id])){
  3. mysql_query("UPDATE orders SET product='".$_POST['product_'.$id]."', aantal='".$_POST['aantal_'.$id]."', prijs='".$_POST['prijs_'.$id]."' WHERE id='".$_POST['productid_'.$id]."'") or die(mysql_error());
  4. $id++;
  5. }


iemand? 
Offline marten - 25/02/2008 10:27 (laatste wijziging 25/02/2008 10:27)
Avatar van marten Beheerder
  1. $id = 1;
  2. $prod_fixed = 'product_' . $id;
  3. $aantal_fixed = 'aantal' . $id;
  4. $prijs_fixed = 'prijs' . $id;
  5. while(!empty($_POST[$prod_fixed])){
  6. mysql_query("UPDATE orders SET product='".$_POST[$prod_fixed]."', aantal='".$_POST[$aantal_fixed]."', prijs='".$_POST[$prijs_fixed]."' WHERE id='".$_POST[$prod_fixed]."'") or die(mysql_error());
  7. $id++;
  8. }


'productid_'.$id moet dat niet product zijn ipv productid
Offline pim1991 - 25/02/2008 10:37
Avatar van pim1991 PHP interesse Dat script wat jij nu neemt werkt wel ;)
Want dat is het script die de factuur bewerkt.

Wat niet werkt is het INSERT scriptje.

Maar dat ligt geloof ik aan het javascript gedeelte wat ik eerder gepost heb.
Offline marten - 25/02/2008 10:52
Avatar van marten Beheerder Daar geldt hetzelfde idee voor. Zet eerst je postvars in een string zoals in mijn script op regel 2,3 en 4 gebeurt. Zet vervolgens deze string in je query.
Offline pim1991 - 25/02/2008 13:53 (laatste wijziging 25/02/2008 14:21)
Avatar van pim1991 PHP interesse Dat is de fout niet.

Heb het nu uitgetest en hij pakt nu altijd het laatste wat ik toevoeg met dit script:

  1. <script>
  2. //Veld toevoegen
  3. //maak_id is het id dat aangemaakt moet worden
  4. function VeldToevoegen(maak_id){
  5. // Volgende id maken voor de div
  6. var volgende_id = parseFloat(maak_id) + 1;
  7. //Inhoud van de div maken
  8. var inhoud = "<table width='100%' border=0 cellspacing=0 cellpadding=0><tr><td><input type='text' size='25' name='product_"+maak_id+"'></td><td>&nbsp;<input type='text' size='4' name='aantal_"+maak_id+"' value='1'></td><td>&nbsp;<input type='text' size='5' name='prijs_"+maak_id+"'><td></tr></table><div id='veld_"+volgende_id+"'><input type='button' onclick='javascript: VeldToevoegen("+volgende_id+");' value='Nieuw product toevoegen' /> </div>";
  9. //In div schrijven
  10. document.getElementById("veld_"+maak_id).innerHTML = inhoud;
  11. }
  12. </script>


Deze moet normaal steeds een id maken wanneer ik een veld toevoeg maar waar zit de fout?

Dit voeg ik in wanneer ik dat formulier krijg:
  1. <div id=\"veld_1\">&nbsp;</div>
  2. <script>
  3. VeldToevoegen(1);
  4. VeldToevoegen(2);
  5. VeldToevoegen(3);
  6. </script>


Ik zit echt met mijn handen in het haar... kom er echt niet uit!!!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s