Mon code n'affiche pas ce que je veux s.v.p.
cjik1
Messages postés
276
Statut
Membre
-
Anoen Messages postés 200 Statut Membre -
Anoen Messages postés 200 Statut Membre -
Bonsoir,
J'ai 2 pages
Page1: note.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>note-eleve</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<form action="note_post.php" method="post">
<p>
<label for="Nom">Nom</label> : <input type="text" name="Nom" id="Nom" /><br />
<input type="submit" value="valide pour afficher ta note" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération les notes
$reponse = $bdd->query('SELECT * FROM note_eleve_terminalea4');
$reponse->closeCursor();
?>
</body>
</html>
Page 2 : note_post.php
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion note
$reponse = $bdd->query('SELECT * FROM note_eleve_terminalea4 (''Noms, prenoms,notes, apreciation) VALUES(?, ?)');
$req->execute(array($_POST['Noms'], $_POST['prenoms']));
// Redirection du visiteur vers la page note
header('Location: note.php');
?>
Voila mon problème :
J'ai une base de donnée structurée ainsi
Id--noms--prenoms--notes--apreciations
Ma base a 5 entrées.
Je voudrai qu'à partir des codes ci-dessus que :
Quand le visiteur entre son nom et son prénom dans le formulaire, il clic sur le bouton pour voir sa note qui est stockée dans la base de donnée plus précisément sa ligne de la base de donnée s'affiche.
je suis déjà à bout de souffle ; plantage sur plantage !!! Aidez moi !!!!
J'ai 2 pages
Page1: note.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>note-eleve</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<form action="note_post.php" method="post">
<p>
<label for="Nom">Nom</label> : <input type="text" name="Nom" id="Nom" /><br />
<input type="submit" value="valide pour afficher ta note" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération les notes
$reponse = $bdd->query('SELECT * FROM note_eleve_terminalea4');
$reponse->closeCursor();
?>
</body>
</html>
Page 2 : note_post.php
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion note
$reponse = $bdd->query('SELECT * FROM note_eleve_terminalea4 (''Noms, prenoms,notes, apreciation) VALUES(?, ?)');
$req->execute(array($_POST['Noms'], $_POST['prenoms']));
// Redirection du visiteur vers la page note
header('Location: note.php');
?>
Voila mon problème :
J'ai une base de donnée structurée ainsi
Id--noms--prenoms--notes--apreciations
Ma base a 5 entrées.
Je voudrai qu'à partir des codes ci-dessus que :
Quand le visiteur entre son nom et son prénom dans le formulaire, il clic sur le bouton pour voir sa note qui est stockée dans la base de donnée plus précisément sa ligne de la base de donnée s'affiche.
je suis déjà à bout de souffle ; plantage sur plantage !!! Aidez moi !!!!
A voir également:
- Mon code n'affiche pas ce que je veux s.v.p.
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide
1 réponse
Hmmm, d'après ton code, tu n'essaie pas de récupérer la note via le nom et prénom, tu récupères seulement toutes les notes.
En fait, plus simplement, qu'est-ce qui fonctionne actuellement ? Parce que dans note.php, tu récupères toutes les notes de tout le monde, mais tu ne fais rien avec par la suite : pas d'affichage, pas de traitement. Et le reste... ne risque pas de fonctionner non plus.
note_post.php :
PDO doit te pondre une belle Synthax error là dessus, SELECT sélectionne, ça n'insère pas :
Pour continuer sur cette requête, PDO ne l'acceptera pas. Tu utilises query() et execute(), qui sont des méthodes appartenant à deux manières de requêter différentes.
Pour faire simple :
$bdd->query($statement); => Exécute une requête SQL de base, dès que cette ligne est lue.
$bdd->execute(), s'utilise en utilisant préalablement $bdd->prepare($statement), qui permet de traiter tes données, ordonner tes requêtes etc avant de les envoyer à la bdd.
Donc soit tu utilises une solution, soit l'autre, mais elles ne peuvent pas coexister sur une même requête.
Oublie la redirection, tu n'en fait pas tant que tu n'es pas certain que ton code fonctionne correctement. Ca t'empêche de voir les erreurs possibles.
De même, modifie tes requêtes comme ceci, pour voir les messages d'erreur et pouvoir les traiter :
Voilà, fais déjà ça, corrige ton code et tente déjà de récupérer ce que tu veux (parce que actuellement, il n'y a rien qui montre que tu as essayé, ce qui me laisse penser que tu espère qu'on te ponde le code :) ) Si des choses ne sont pas claires, n'hésite pas à demander des précisions.
En fait, plus simplement, qu'est-ce qui fonctionne actuellement ? Parce que dans note.php, tu récupères toutes les notes de tout le monde, mais tu ne fais rien avec par la suite : pas d'affichage, pas de traitement. Et le reste... ne risque pas de fonctionner non plus.
note_post.php :
PDO doit te pondre une belle Synthax error là dessus, SELECT sélectionne, ça n'insère pas :
'SELECT * FROM note_eleve_terminalea4 (''Noms, prenoms,notes, apreciation) VALUES(?, ?)
Pour continuer sur cette requête, PDO ne l'acceptera pas. Tu utilises query() et execute(), qui sont des méthodes appartenant à deux manières de requêter différentes.
Pour faire simple :
$bdd->query($statement); => Exécute une requête SQL de base, dès que cette ligne est lue.
$bdd->execute(), s'utilise en utilisant préalablement $bdd->prepare($statement), qui permet de traiter tes données, ordonner tes requêtes etc avant de les envoyer à la bdd.
Donc soit tu utilises une solution, soit l'autre, mais elles ne peuvent pas coexister sur une même requête.
// Redirection du visiteur vers la page note
header('Location: note.php');
Oublie la redirection, tu n'en fait pas tant que tu n'es pas certain que ton code fonctionne correctement. Ca t'empêche de voir les erreurs possibles.
De même, modifie tes requêtes comme ceci, pour voir les messages d'erreur et pouvoir les traiter :
$bdd->query('SELECT * FROM note_eleve_terminalea4') or die(mysql_error());
Voilà, fais déjà ça, corrige ton code et tente déjà de récupérer ce que tu veux (parce que actuellement, il n'y a rien qui montre que tu as essayé, ce qui me laisse penser que tu espère qu'on te ponde le code :) ) Si des choses ne sont pas claires, n'hésite pas à demander des précisions.