login  Naam:   Wachtwoord: 
Registreer je!
 Forum

100 dingen tegenlijk in database toevoegen

Offline kenzo - 12/04/2008 15:14 (laatste wijziging 12/04/2008 15:15)
Avatar van kenzoPHP beginner Is er een script om 100 dingen automatisch in database te voegen?


Ik bedoel dus 1 veld (bijvoorbeeld gebruikersnaam) en dan 100 velden onder elkaar dat ik gewoon 100 gebruikersnamen in kan vullen voordat ik pas op toevoegen klik.


Bedankt!



OWJA.... 100 is maar een getal. Ik bedoel natuurlijk meerdere, maar dan geen 5 ofzo, maar rond de 100 of 200 ofzo (gewoon dat ik een getal kan invullen)

11 antwoorden

Gesponsorde links
Offline yetti4 - 12/04/2008 15:18 (laatste wijziging 12/04/2008 15:18)
Avatar van yetti4 JS interesse alle gebruikersnamen in een array storten en dan:
  1. foreach($jearray as $id)
  2. {
  3. mysql_query("Insert into users SET naam='".$id."'");
  4. }
Offline Simax - 12/04/2008 15:42 (laatste wijziging 12/04/2008 15:44)
Avatar van Simax Onbekend Bedoel je zoiets?
  1. if(isset($_POST["gebruikersnaam"]))
  2. {
  3. $gebruikersnaam = $_POST["gebruikersnaam"];
  4. mysql_query("INSERT INTO tabel(gebruikersnaam) VALUES ('".$gebruikersnaam."')");
  5. }
  6. else
  7. {
  8. print "Er is geen 'gebruikersnaam' ingevuld.";
  9. }
  10.  
  11. <form action="" method="post">
  12. <label for="gebruikersnaam">Gebruikersnaam</label>
  13. <input id="gebruikersnaam" name="gebruikersnaam" type="text"/>
  14. </form>
Offline kenzo - 12/04/2008 15:53
Avatar van kenzo PHP beginner nee, dat wat yetti4 zei was goed, alleen nog een vraag...

kan ik ook meerdere velden laten invullen

Gebruikersnaam en email?


  1. foreach(($_POST['merk'] as $k => $v) AND ($_POST['huismerk'] as $k => $d)) {


dit werkt niet
Offline Simax - 12/04/2008 15:58 (laatste wijziging 12/04/2008 16:06)
Avatar van Simax Onbekend Probeer dit eens..
  1. $velden = array("gebruikersnaam", "email");
  2.  
  3. print "<form action=\"\" method=\"post\">";
  4. foreach($velden as $veld)
  5. {
  6. print "<label for=\"{$veld}\">{$veld}</label>".
  7. "<input id=\"{$veld}\" name=\"{$veld}\" type=\"text\"/>";
  8. }
  9. print "</form>";


Edit
Probeer eens opnieuw..
Offline kenzo - 12/04/2008 16:03 (laatste wijziging 12/04/2008 16:14)
Avatar van kenzo PHP beginner Ik krijg deze fout:

  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Array, email=''' at line 1




: Shiven
Ik krijg nu een lege pagina?
Offline timmie_loots - 12/04/2008 16:29
Avatar van timmie_loots PHP gevorderde Post je script eens op Plaatscode.be. Dan kunnen we eens zien hoe dat wat je wil er uit moet gaan zien.
Offline kenzo - 12/04/2008 16:36
Avatar van kenzo PHP beginner Plaatscode: 6813

dit werkt als ik alleen het (in dit geval merk) pak

als ik huismerk erbij doe doet hij niets meer
Offline Rik - 12/04/2008 17:57 (laatste wijziging 12/04/2008 17:58)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
En als je zoiets doet?
  1. <?php
  2. foreach ($_GET['gebruikersnaam'] as $key => $value) {
  3. $values[] = array(
  4. 'gebruikersnaam' => $value,
  5. 'huismerk' => $_GET['gebruikersnaam'][$key],
  6. 'email' => $_GET['email'][$key]
  7. );
  8. }
  9. print_r($values);
  10. ?>
  11. <form>
  12. Eerste Gebruiker:
  13. Naam:<input type="text" name="gebruikersnaam[]" value="" />
  14. Huismerk:<input type="text" name="huismerk[]" value="" />
  15. Email:<input type="text" name="email[]" value="" />
  16.  
  17. Tweede Gebruiker:
  18. Naam:<input type="text" name="gebruikersnaam[]" value="" />
  19. Huismerk:<input type="text" name="huismerk[]" value="" />
  20. Email:<input type="text" name="email[]" value="" />
  21.  
  22. Drie Gebruiker:
  23. Naam:<input type="text" name="gebruikersnaam[]" value="" />
  24. Huismerk:<input type="text" name="huismerk[]" value="" />
  25. Email:<input type="text" name="email[]" value="" />
  26.  
  27. <input type="submit" value="Versturen" />
  28. </form>


Je hoeft niet eens die array $values te gebruiken als je het in die loop rechtrstreeks in de database zet, maar dit is maar even als voorbeeld.
Offline nemesiskoen - 12/04/2008 20:52
Avatar van nemesiskoen Gouden medaille

PHP expert
Je moet niet in een loop queries zetten, maar je query opbouwen in een loop, en dan slechts 1 query uit voeren. Je kan meerdere rijen inserten met 1 query:

  1. INSERT INTO tablenaam (kolom1, kolom2) VALUES
  2. ("a", "b"),
  3. ("c", "d"),
  4. ("e", "f")
Offline dieterke - 12/04/2008 23:08 (laatste wijziging 13/04/2008 08:47)
Avatar van dieterke Nieuw lid
  1. <?php
  2. function test($naam,$huismerk)
  3. {
  4. $i = 1;
  5. while ($i<=100)
  6. {
  7. $sql = "INSERT INTO tablenaam (kolom1, kolom2) VALUES ('" .$naam[$i] . "','". $huiswerk[$i]. "')";
  8. $i = $i + 1;
  9. }
  10. }
  11.  
  12. if ($_POST['toevoegen'])
  13. {
  14. test($_POST['naam'],$_POST['huismerk']);
  15. }
  16. else
  17. {
  18. echo "<form method='POST'>";
  19. $i = 1;
  20. while ($i <= 100)
  21. {
  22. echo "Gebruiker ". $i . ":\n
  23. Naam:<input type='text' name='naam[". $i ."]' value='' />
  24. Huismerk:<input type='text' name='huismerk[". $i ."]' value='' /><br /><br/>";
  25. $i = $i + 1;
  26. }
  27. echo "<input type='submit' name='toevoegen' value='teoveogen'>
  28. </form>";
  29. }
  30. ?>

werkt dit? (nu kan je 100 in de 2 while lussen vervangen door het gewenste aantal)
Offline kenzo - 19/04/2008 10:44
Avatar van kenzo PHP beginner nee,

het merk doet hij, maar het huismerk laat hij leeg
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.256s