<?php
$bdd = new PDO('mysql:host=localhost;dbname=classement;charset=utf8', 'root', '');
$courriel=$_POST[ 'courriel' ] ;
$nom=$_POST[ 'nom' ] ;
$prenom=$_POST[ 'prenom' ] ;
$numero=$_POST[ 'numero' ] ;
$bdd->exec('INSERT INTO clients (nom, prenom,courriel,numero) VALUES(\'$nom\',
\'$prenom\', \'$courriel\',\'$numero\')'); //insertion du formulaire dans la base de données
$req->closecursor(); //ferme la requete
$req = $bdd->query ('SELECT * FROM clients ORDER BY numero '); //sélectionne un numéro dans la base de données
while ($donnees = $req->fetch()) //sort le numero
{
$derniernumero = $numero [ 'numero' ];
}
$req->closecursor(); //ferme la requete
if ($tirage =rand (1,$derniernumero)) //on fait un tirage au hasard
{
$req = $bdd->query ('SELECT nom, prenom, courriel, numero FROM clients WHERE numero = $tirage'); // aller chercher au hasard le nom, prenom,courriel, et numero.
$req->closecursor(); //on ferme la requete
echo $prenom.'<br>'.$nom.'<br>'.$courriel.'<br>'.$numero ; //affiche le résultat
}
?>
EDIT : Ajout des balises de code (la coloration syntaxique). Explications disponibles ici :ICI
Merci d'y penser dans tes prochains messages.
je suis un peu bloqué et j'aurais besoin d'aide , il y a t'il quelque chose qui manque ? o.O
Déjà.. prend l'habitude de placer le code de connexion à ta BDD dans un fichier à part.
Ensuite, pense également à activer les erreurs PDO (en cas de soucis dans tes requêtes.)
Il faudra également, pour que ça fonctionne... placer tes requêtes dans des blocs TRY/Catch
Tout est expliqué là : https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs
Puis, pour récupérer l' ID dernièrement créé (lorsque tu as un champ auto-incrémenté) il existe une fonction expères pour ça qui est : lastInsertId
Voir ici : https://www.php.net/manual/fr/pdo.lastinsertid.php (donc pas besoin de ton :
$req = $bdd->query ('SELECT * FROM clients ORDER BY numero '); //sélectionne un numéro dans la base de données
while ($donnees = $req->fetch()) //sort le numero
{
$derniernumero = $numero [ 'numero' ];
}
$req->closecursor(); //ferme la requete
en faite je veux que est que le serveur me sort un numéro aléatoire.
Pour ce qui est du serveur, c'était seulement à titre de présentation.
je veux savoir si tout est ok et qu'il n'a pas d'erreur.
<?php
include("serveur.php");
$bdd->exec('INSERT INTO clients(nom, prenom, courriel,numero) VALUES(\'$nom\', \'$prenom\', \'$courriel\', \'$numero\')');//insertion du formulaire dans la base de données
$req->closecursor(); //ferme la requete
$req = $bdd->query ('SELECT * FROM clients ORDER BY numero '); //sélectionne un numéro dans la base de données
if ($tirage == $numero rand (1,$derniernumero)) //on fait un tirage au hasard {
$req = $bdd->query ('SELECT nom, prenom, courriel, numero FROM clients WHERE numero = $tirage'); // aller chercher au hasard le nom, prenom,courriel, et numero.
$req->closecursor(); //on ferme la requete
echo 'le grand gagnant est :' $prenom.'<br>'.$nom.'<br>'.$courriel.'<br>'.$numero ; //affiche le résultat } ?>
Non.
Tout n'est pas OK vu que tu n'as pas tenu compte de mes remarques précédents concernant la récupération propre des variables et l'ajout de la gestion des erreurs PDO.
Maintenant.. si tu ne veux pas en tenir compte... et que tu veux uniquement savoir si ton code marche.... ben testes le tu verras bien.
if ($tirage == $numero rand (1,$derniernumero)) //on fait un tirage au hasard {
$req = $bdd->query ('SELECT nom, prenom, courriel, numero FROM clients WHERE numero = $tirage'); // aller chercher au hasard le nom, prenom,courriel, et numero.
$req->closecursor(); //on ferme la requete
echo 'le grand gagnant est :' $prenom.'<br>'.$nom.'<br>'.$courriel.'<br>'.$numero ; //affiche le résultat } ?>