Scripts
[PDO]Namen genereren
Dit script haalt uit 2 arrays een combinatie van een voornaam en een achternaam. Deze stopt ie vervolgens met behulp van PDO in een database. Was eigenlijk vooral gemaakt om PDO te testen, maar altijd leuk om te delen, misschien heeft iemand er nog iets aan ^^. Voorbeeld stopt niks in database, doet alleen maar echo.
pdonamen-genereren
<?php
/*
CREATE TABLE `namen` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`voornaam` VARCHAR( 50 ) NOT NULL ,
`achternaam` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` ) ,
UNIQUE (
`id`
)
) ENGINE = MYISAM
*/
$db_soort = 'mysql';
$db_host = 'localhost';
$db_naam = 'namendb';
$db_user = 'root';
$db_pass = '***';
$voornamen = array("Teun","Henk","Piet","Jan","Frederik","Ido","Joost","Gerrit","Pieter","Jodie","Marijke");
$achternamen = array("Beijers","Jansen","de Vries","Hanssen","van Hamburger","van Friet");
$aantalnamen = 5;
try {
$mysql = new PDO($db_soort.':host='.$db_host.';dbname='.$db_naam , $db_user , $db_pass , array(PDO::ATTR_PERSISTENT => true));
for($i = 0; $i < $aantalnamen; $i++) {
$voornaam = $voornamen[rand(0,count($voornamen)-1)];
$achternaam = $achternamen[rand(0,count($achternamen)-1)];
$sql = $mysql->prepare('INSERT INTO namen SET voornaam = ?, achternaam = ?');
$sql->bindParam(1, $voornaam, PDO::PARAM_STR);
$sql->bindParam(2, $achternaam, PDO::PARAM_STR);
$sql->execute();
echo $voornaam.' '.$achternaam.'<br />';
}
}
catch( PDOException $e )
{
die( $e->getMessage() );
}
?>
Wil je geen dubbele namen kun je ook de versie van remie gebruiken:
<?php
$db_soort = 'mysql';
$db_host = 'localhost';
$db_naam = 'namendb';
$db_user = 'root';
$db_pass = '***';
$voornamen = array("Teun","Henk","Piet","Jan","Frederik","Ido","Joost","Gerrit","Pieter","Jodie","Marijke");
$achternamen = array("Beijers","Jansen","de Vries","Hanssen","van Hamburger","van Friet");
$aantalnamen = 70;
$mogelijkheden = array();
foreach($voornamen as $Vnum => $voornaam)
{
foreach($achternamen as $Anum => $achternaam)
{
$mogelijkheden[] = array($Vnum,$Anum);
}
}
shuffle($mogelijkheden);
try
{
$mysql = new PDO($db_soort.':host='.$db_host.';dbname='.$db_naam , $db_user , $db_pass , array(PDO::ATTR_PERSISTENT => true));
$sql = $mysql->prepare('INSERT INTO namen SET voornaam = ?, achternaam = ?');
$i = 0;
for($i = 0; $i < $aantalnamen; $i++)
{
if(!isset($mogelijkheden[$i]))
{
break;
}
$voornaam = $voornamen[$mogelijkheden[$i][0]];
$achternaam = $achternamen[$mogelijkheden[$i][1]];
$sql->execute(array($voornaam,$achternaam));
echo $voornaam.' '.$achternaam.'<br />';
}
}
catch( PDOException $e )
{
die( $e->getMessage() );
}
?>
Reacties
0