Aantal codes aanmaken
Goedenacht,
Ik ben bezig met een donatie code pagina, deze kan je op drie verschillende manieren bestellen.
- IVR 0900
- SMS
- iDEAL
Nu heb ik bij iDEAL de optie dat je meerdere codes kan bestellen, als voorbeeld 5 codes.
Nu moeten deze wel naar de database verzonden worden en 5 nieuwe velden worden aangemaakt.
Voorbeelden zijn:
- 5 codes
- 10 codes
- 20 codes
Hoe kan ik nu het beste voor die 5,10,20 codes velden aanmaken, het moeten namelijk wel allemaal nieuwe velden worden.
Het liefst werk ik mijn codes zo kort als mogelijk, dit is ook voor het overzicht van mezelf.
Ik hoop dat iemand een idee voor me heeft hoe ik dit het beste kan aanpakken, ik heb gezocht maar kwam er niet uit.
Met vriendelijke groet,
F. Kraijenoord.
Ik ben bezig met een donatie code pagina, deze kan je op drie verschillende manieren bestellen.
- IVR 0900
- SMS
- iDEAL
Nu heb ik bij iDEAL de optie dat je meerdere codes kan bestellen, als voorbeeld 5 codes.
Nu moeten deze wel naar de database verzonden worden en 5 nieuwe velden worden aangemaakt.
Voorbeelden zijn:
- 5 codes
- 10 codes
- 20 codes
Hoe kan ik nu het beste voor die 5,10,20 codes velden aanmaken, het moeten namelijk wel allemaal nieuwe velden worden.
Het liefst werk ik mijn codes zo kort als mogelijk, dit is ook voor het overzicht van mezelf.
Ik hoop dat iemand een idee voor me heeft hoe ik dit het beste kan aanpakken, ik heb gezocht maar kwam er niet uit.
Met vriendelijke groet,
F. Kraijenoord.
Gesponsorde koppelingen:
Maak een loop aan die stopt bij 5, 10 of 20. (bijv via POST ofiets meegegeven)
In die loop voer je gewoon een insert query uit met een unieke code?
In die loop voer je gewoon een insert query uit met een unieke code?
Dacht zelf ook aan een for loop, heb daar alleen nooit mee gewerkt dus moet even kijken hoe dit precies werkt.
Je hebt nooit met een for lus gewerkt?
Niet op de manier zoals ik het van plan ben, wel op andere manieren hoor ben niet nieuw hierin ;)
Ik heb de juiste manier gevonden.
Ik deel hier me oplossing indien mensen hem zoeken ;)
Ik heb de juiste manier gevonden.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
for ($i = 1, $total = $_GET["aantal"] * 5; $i <= $total; $i++)
{
mysql_query("INSERT INTO donatiecode (userid,datum,coden,methode) VALUES('".$user->userid."',NOW(),'".donatieCode()."','iDEAL')");
}
?>
for ($i = 1, $total = $_GET["aantal"] * 5; $i <= $total; $i++)
{
mysql_query("INSERT INTO donatiecode (userid,datum,coden,methode) VALUES('".$user->userid."',NOW(),'".donatieCode()."','iDEAL')");
}
?>
Ik deel hier me oplossing indien mensen hem zoeken ;)
Gewijzigd op 04/09/2010 18:07:17 door Erik Kraijenoord
Dit kan veel sneller. Met een insert query kan je ook meerdere rows in 1x toevoegen. Dan dus zo:
Dit lijkt trouwens heel hack-gevoelig: pas $_GET['aantal'] aan en je krijgt meer codes?
Een tip: stop nooit mysql_query() in een loop, tenzij je er een hele goede reden voor hebt!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = "INSERT INTO donatiecode (userid,datum,coden,methode) VALUES ";
$valuesArray = array();
for ($i = 1, $total = $_GET["aantal"] * 5; $i <= $total; $i++)
{
$valuesArray[] = "('".$user->userid."',NOW(),'".donatieCode()."','iDEAL')";
}
$sql .= implode(', ',$valuesArray);
mysql_query($sql);
?>
$sql = "INSERT INTO donatiecode (userid,datum,coden,methode) VALUES ";
$valuesArray = array();
for ($i = 1, $total = $_GET["aantal"] * 5; $i <= $total; $i++)
{
$valuesArray[] = "('".$user->userid."',NOW(),'".donatieCode()."','iDEAL')";
}
$sql .= implode(', ',$valuesArray);
mysql_query($sql);
?>
Dit lijkt trouwens heel hack-gevoelig: pas $_GET['aantal'] aan en je krijgt meer codes?
Een tip: stop nooit mysql_query() in een loop, tenzij je er een hele goede reden voor hebt!
Gewijzigd op 04/09/2010 18:50:20 door Pim -
Is dit niet een soort van winkelwagen?
Dan hoef je het ook niet te 'splitsen'.
Dan hoef je het ook niet te 'splitsen'.



