insert query 200 records maken met rand();
Ik ben momenteel bezig met een prijslijsten applicatie die bijna af is. Het betreft een applicatie waarop om te beginnen 200 bedrijven gaan inloggen. Zij ontvangen een flyer met een random logincode. Nu wil de opdrachtgever een functie binnen de admin omgeving hebben om in een keer 200 accounts aan te maken waarvan de logincode random is.
Nu vraag ik mij af hoe ik dit het beste kan doen. Heeft iemand hier ervaring mee? Zijn er meerdere manieren voor? Ik heb geprobeerd om met een while loop dit te realiseren maar ik krijg het niet voor elkaar om ervoor te zorgen dat er maar 200 records worden aangemaakt. Daarnaast ben ik bang dat de performance er onder leiden.
Ik weet wel dat je bij een select query rand(); kunt gebruiken in de WHERE clausule maar is er ook zoiets mogelijk voor een insert query?
Alvast bedankt voor het meedenken
Groeten Frits
Je moet een nette loop maken 001....200 en dan deze waarde ook meenemen in het account. In de insert dus.
Code (php)
1
2
3
4
5
2
3
4
5
for($i = 1; $i >= 200; $i++) {
$logincode = rand(5555, 9999); //Maak een random logincode van 4 getallen
mysql_query("INSERT INTO tabel SET logincode = '".$logincode."'"); //Query in database proppen
}
$logincode = rand(5555, 9999); //Maak een random logincode van 4 getallen
mysql_query("INSERT INTO tabel SET logincode = '".$logincode."'"); //Query in database proppen
}
Heb het niet getest maar zo maak je ongeveer 200 queries aan met een random code,
Oetzie en mijn achternaam op 27/08/2010 11:09:36:
Bedankt! Ik ga het vanavond even testen.
Heb het niet getest maar zo maak je ongeveer 200 queries aan met een random code,
Code (php)
1
2
3
4
5
2
3
4
5
for($i = 1; $i >= 200; $i++) {
$logincode = rand(5555, 9999); //Maak een random logincode van 4 getallen
mysql_query("INSERT INTO tabel SET logincode = '".$logincode."'"); //Query in database proppen
}
$logincode = rand(5555, 9999); //Maak een random logincode van 4 getallen
mysql_query("INSERT INTO tabel SET logincode = '".$logincode."'"); //Query in database proppen
}
Bedankt! Ik ga het vanavond even testen.
Heb het niet getest maar zo maak je ongeveer 200 queries aan met een random code,
Database:
id (auto_increment, primary key)
coupon (varchar(25))
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('test');
if(isset($_GET['make']))
{
$howmany = 200;
$length = 15;
$characters = range('a', 'z');
$characters = array_merge(range(0, 9), $characters);
$characters = array_merge(range('A', 'Z'), $characters);
for($i = 0; $i < $howmany; $i++)
{
$coupon = '';
for($j = 0; $j < $length; $j++)
{
$coupon .= $characters[rand(0, count($characters) -1)];
}
mysql_query("INSERT INTO coupon(coupon) VALUES ('".$coupon."')");
}
echo '<a href="?">Done</a>';
}
else
{
echo 'Current coupon codes:<br />';
$sql = "SELECT id, coupon FROM coupon";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count > 0)
{
echo $count.' coupons in total:<br />';
while(($list = mysql_fetch_assoc($result)))
{
echo $list['id'].': '.$list['coupon'].'<br />';
}
}
else
{
echo 'No coupons made yet!<br />';
}
echo '<a href="?make">Maken?</a>';
}
?>
mysql_connect('localhost', 'root', '');
mysql_select_db('test');
if(isset($_GET['make']))
{
$howmany = 200;
$length = 15;
$characters = range('a', 'z');
$characters = array_merge(range(0, 9), $characters);
$characters = array_merge(range('A', 'Z'), $characters);
for($i = 0; $i < $howmany; $i++)
{
$coupon = '';
for($j = 0; $j < $length; $j++)
{
$coupon .= $characters[rand(0, count($characters) -1)];
}
mysql_query("INSERT INTO coupon(coupon) VALUES ('".$coupon."')");
}
echo '<a href="?">Done</a>';
}
else
{
echo 'Current coupon codes:<br />';
$sql = "SELECT id, coupon FROM coupon";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count > 0)
{
echo $count.' coupons in total:<br />';
while(($list = mysql_fetch_assoc($result)))
{
echo $list['id'].': '.$list['coupon'].'<br />';
}
}
else
{
echo 'No coupons made yet!<br />';
}
echo '<a href="?make">Maken?</a>';
}
?>
Edit:
Met nu bedoel ik bovenstaande voorbeelden.
Je zou bijvoorbeeld een functie kunnen maken die controleert of de code in de database staat. En op basis van wat de functie teruggeeft een nieuwe code genereren.
Gewijzigd op 27/08/2010 13:33:26 door Elwin - Fratsloos
Klopt! Deze kun je natuurlijk veel uitgebreider maken en hier een volledig script van maken ;-)
Oetzie en mijn achternaam op 27/08/2010 11:09:36:
Die gaat iniedergeval niet werken
$i >= 200 betekent $i is GROTER of GELIJK aan 200
$i begint als 1 dus dan krijg je het volgende:
Code (php)
1
2
3
4
2
3
4
for($i=1; i >= 200; i++){
// wordt niet uitgevoerd omdat i NIET groter of gelijk aan 200 is
}
// Dit wordt wel uitgevoerd
// wordt niet uitgevoerd omdat i NIET groter of gelijk aan 200 is
}
// Dit wordt wel uitgevoerd
}