100 dingen tegenlijk in database toevoegen
kenzo - 12/04/2008 15:14 (laatste wijziging 12/04/2008 15:15)
PHP 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
yetti4 - 12/04/2008 15:18 (laatste wijziging 12/04/2008 15:18)
JS interesse
alle gebruikersnamen in een array storten en dan:
foreach($jearray as $id)
{
mysql_query("Insert into users SET naam='".$id."'");
}
foreach ( $jearray as $id )
{
}
Simax - 12/04/2008 15:42 (laatste wijziging 12/04/2008 15:44)
Onbekend
Bedoel je zoiets?
if(isset($_POST["gebruikersnaam"]))
{
$gebruikersnaam = $_POST["gebruikersnaam"];
mysql_query("INSERT INTO tabel(gebruikersnaam) VALUES ('".$gebruikersnaam."')");
}
else
{
print "Er is geen 'gebruikersnaam' ingevuld.";
}
<form action="" method="post">
<label for="gebruikersnaam">Gebruikersnaam</label>
<input id="gebruikersnaam" name="gebruikersnaam" type="text"/>
</form>
if ( isset ( $_POST [ "gebruikersnaam" ] ) ) {
$gebruikersnaam = $_POST [ "gebruikersnaam" ] ;
mysql_query ( "INSERT INTO tabel(gebruikersnaam) VALUES ('" . $gebruikersnaam . "')" ) ; }
else
{
print "Er is geen 'gebruikersnaam' ingevuld." ; }
< form action= "" method= "post" >
< label for = "gebruikersnaam" > Gebruikersnaam</ label>
< input id= "gebruikersnaam" name= "gebruikersnaam" type= "text" />
</ form>
kenzo - 12/04/2008 15:53
PHP beginner
nee, dat wat yetti4 zei was goed, alleen nog een vraag...
kan ik ook meerdere velden laten invullen
Gebruikersnaam en email?
foreach(($_POST['merk'] as $k => $v) AND ($_POST['huismerk'] as $k => $d)) {
foreach ( ( $_POST [ 'merk' ] as $k => $v ) AND ( $_POST [ 'huismerk' ] as $k => $d ) ) {
dit werkt niet
Simax - 12/04/2008 15:58 (laatste wijziging 12/04/2008 16:06)
Onbekend
Probeer dit eens..
$velden = array("gebruikersnaam", "email");
print "<form action=\"\" method=\"post\">";
foreach($velden as $veld)
{
print "<label for=\"{$veld}\">{$veld}</label>".
"<input id=\"{$veld}\" name=\"{$veld}\" type=\"text\"/>";
}
print "</form>";
$velden = array ( "gebruikersnaam" , "email" ) ;
print "<form action=\" \" method=\" post\" >" ; foreach ( $velden as $veld )
{
print "<label for=\" {$veld} \" >{$veld} </label>" . "<input id=\" {$veld} \" name=\" {$veld} \" type=\" text\" />" ;
}
Edit
Probeer eens opnieuw..
kenzo - 12/04/2008 16:03 (laatste wijziging 12/04/2008 16:14)
PHP beginner
Ik krijg deze fout:
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
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?
timmie_loots - 12/04/2008 16:29
PHP gevorderde
Post je script eens op Plaatscode.be . Dan kunnen we eens zien hoe dat wat je wil er uit moet gaan zien.
kenzo - 12/04/2008 16:36
PHP beginner
Plaatscode: 6813
dit werkt als ik alleen het (in dit geval merk) pak
als ik huismerk erbij doe doet hij niets meer
Rik - 12/04/2008 17:57 (laatste wijziging 12/04/2008 17:58)
Crew algemeen
En als je zoiets doet?
<?php
foreach ($_GET['gebruikersnaam'] as $key => $value) {
$values[] = array(
'gebruikersnaam' => $value,
'huismerk' => $_GET['gebruikersnaam'][$key],
'email' => $_GET['email'][$key]
);
}
print_r($values);
?>
<form>
Eerste Gebruiker:
Naam:<input type="text" name="gebruikersnaam[]" value="" />
Huismerk:<input type="text" name="huismerk[]" value="" />
Email:<input type="text" name="email[]" value="" />
Tweede Gebruiker:
Naam:<input type="text" name="gebruikersnaam[]" value="" />
Huismerk:<input type="text" name="huismerk[]" value="" />
Email:<input type="text" name="email[]" value="" />
Drie Gebruiker:
Naam:<input type="text" name="gebruikersnaam[]" value="" />
Huismerk:<input type="text" name="huismerk[]" value="" />
Email:<input type="text" name="email[]" value="" />
<input type="submit" value="Versturen" />
</form>
<?php
foreach ( $_GET [ 'gebruikersnaam' ] as $key => $value ) {
'gebruikersnaam' => $value ,
'huismerk' => $_GET [ 'gebruikersnaam' ] [ $key ] ,
'email' => $_GET [ 'email' ] [ $key ]
) ;
}
?>
<form>
Eerste Gebruiker:
Naam:<input type="text" name="gebruikersnaam[]" value="" />
Huismerk:<input type="text" name="huismerk[]" value="" />
Email:<input type="text" name="email[]" value="" />
Tweede Gebruiker:
Naam:<input type="text" name="gebruikersnaam[]" value="" />
Huismerk:<input type="text" name="huismerk[]" value="" />
Email:<input type="text" name="email[]" value="" />
Drie Gebruiker:
Naam:<input type="text" name="gebruikersnaam[]" value="" />
Huismerk:<input type="text" name="huismerk[]" value="" />
Email:<input type="text" name="email[]" value="" />
<input type="submit" value="Versturen" />
</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.
nemesiskoen - 12/04/2008 20:52
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:
INSERT into tablenaam (kolom1, kolom2) VALUES
("a", "b"),
("c", "d"),
("e", "f")
INSERT INTO tablenaam ( kolom1, kolom2) VALUES
( "a" , "b" ) ,
( "c" , "d" ) ,
( "e" , "f" )
dieterke - 12/04/2008 23:08 (laatste wijziging 13/04/2008 08:47)
Nieuw lid
<?php
function test($naam,$huismerk)
{
$i = 1;
while ($i<=100)
{
$sql = "INSERT INTO tablenaam (kolom1, kolom2) VALUES ('" .$naam[$i] . "','". $huiswerk[$i]. "')";
mysql_query($sql);
$i = $i + 1;
}
}
if ($_POST['toevoegen'])
{
test($_POST['naam'],$_POST['huismerk']);
}
else
{
echo "<form method='POST'>";
$i = 1;
while ($i <= 100)
{
echo "Gebruiker ". $i . ":\n
Naam:<input type='text' name='naam[". $i ."]' value='' />
Huismerk:<input type='text' name='huismerk[". $i ."]' value='' /><br /><br/>";
$i = $i + 1;
}
echo "<input type='submit' name='toevoegen' value='teoveogen'>
</form>";
}
?>
<?php
function test( $naam , $huismerk )
{
$i = 1 ;
while ( $i <= 100 )
{
$sql = "INSERT INTO tablenaam (kolom1, kolom2) VALUES ('" . $naam [ $i ] . "','" . $huiswerk [ $i ] . "')" ;
$i = $i + 1 ;
}
}
if ( $_POST [ 'toevoegen' ] )
{
test( $_POST [ 'naam' ] , $_POST [ 'huismerk' ] ) ;
}
else
{
echo "<form method='POST'>" ; $i = 1 ;
while ( $i <= 100 )
{
echo "Gebruiker " . $i . ":\n Naam:<input type='text' name='naam[" . $i . "]' value='' />
Huismerk:<input type='text' name='huismerk[" . $i . "]' value='' /><br /><br/>" ;
$i = $i + 1 ;
}
echo "<input type='submit' name='toevoegen' value='teoveogen'> </form>" ;
}
?>
werkt dit? (nu kan je 100 in de 2 while lussen vervangen door het gewenste aantal)
kenzo - 19/04/2008 10:44
PHP beginner
nee,
het merk doet hij, maar het huismerk laat hij leeg
Gesponsorde links
Dit onderwerp is gesloten .