PHP-base de données une seule entrée présente
Résolu
johnybath
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
Yoan Messages postés 11795 Date d'inscription Statut Modérateur Dernière intervention -
Yoan Messages postés 11795 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
Bonjour à tous,
je travail en local sur mon poste avec easyphp
j'ai crée une base de données avec une table, j'ai crée une page html et un script php pour les enregistrements dans la table. Ca fonctionne, seulement le prémier enregistrement seul apparait dans la base.
j'ai essayé avec 2 postes differents, c'est le même problème
aidez à trouver le problème.
Voici mon script php
<body>
<?php
//connection au serveur
mysql_connect("localhost","root","*****");
//Selection de la base de données
mysql_select_db("jeux");
//Récuperation des données du formulaire
$nom=$_POST['nom'];
$proprietaire=$_POST['proprietaire'];
$console=$_POST['console'];
$prix=$_POST['prix'];
$com=$_POST['commentaire'];
//Sauvegarde dans la base
mysql_query("INSERT INTO jeux_video VALUES('','$nom','$proprietaire','$console','$prix','$com')");
mysql_close();
?>
</body>
Bonjour à tous,
je travail en local sur mon poste avec easyphp
j'ai crée une base de données avec une table, j'ai crée une page html et un script php pour les enregistrements dans la table. Ca fonctionne, seulement le prémier enregistrement seul apparait dans la base.
j'ai essayé avec 2 postes differents, c'est le même problème
aidez à trouver le problème.
Voici mon script php
<body>
<?php
//connection au serveur
mysql_connect("localhost","root","*****");
//Selection de la base de données
mysql_select_db("jeux");
//Récuperation des données du formulaire
$nom=$_POST['nom'];
$proprietaire=$_POST['proprietaire'];
$console=$_POST['console'];
$prix=$_POST['prix'];
$com=$_POST['commentaire'];
//Sauvegarde dans la base
mysql_query("INSERT INTO jeux_video VALUES('','$nom','$proprietaire','$console','$prix','$com')");
mysql_close();
?>
</body>
A voir également:
- PHP-base de données une seule entrée présente
- Fuite données maif - Guide
- Base de registre - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Supprimer les données de navigation - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
14 réponses
Hello,
Fais-nous un
Fais-nous un
SHOW CREATE TABLE jeux_video;(dans PHPMyadmin ou manuellement si tu veux, sachant que ceci ne renvoie qu'une ligne) qu'on puisse voir le schéma relationnel.
Champ Type Interclassement Attributs Null Défaut Extra Action
id int(11) Non auto_increment Modifier Supprimer Primaire Index
nom varchar(25) latin1_swedish_ci Non Modifier Supprimer Primaire
proprietaire varchar(40) latin1_swedish_ci Non Modifier Supprimer
console varchar(20) latin1_swedish_ci Non Modifier Supprimer Primaire I
prix float Non 0 Modifier Supprimer Primaire Index Unique
commentaire varchar(225) latin1_swedish_ci Non Modifier Supprimer
id int(11) Non auto_increment Modifier Supprimer Primaire Index
nom varchar(25) latin1_swedish_ci Non Modifier Supprimer Primaire
proprietaire varchar(40) latin1_swedish_ci Non Modifier Supprimer
console varchar(20) latin1_swedish_ci Non Modifier Supprimer Primaire I
prix float Non 0 Modifier Supprimer Primaire Index Unique
commentaire varchar(225) latin1_swedish_ci Non Modifier Supprimer
Bon, il y a bien un auto_increment pour la clé primaire.
Grâce à ton copier/coller mal fait je vois que tu as déjà 3 enregistrements dans cette table, qu'est ce qui te fais dire qu'il n'y en a qu'un qui apparait ? TU vois ça directement dans PHPMyadmin où tu as un script qui te fait l'affichage ?
Grâce à ton copier/coller mal fait je vois que tu as déjà 3 enregistrements dans cette table, qu'est ce qui te fais dire qu'il n'y en a qu'un qui apparait ? TU vois ça directement dans PHPMyadmin où tu as un script qui te fait l'affichage ?
Pour avoir ces enregistrement il me faut redemarer mon serveur et mon explorateur.
et ca je pense que c'est pas normale
et ca je pense que c'est pas normale
Mais t'as pas bientôt fini d'être avare d'éléments d'informations ? ;-)
Il se passe quoi concrètement ? Tu cliques sur quoi pour en déduire cette conclusion ? Quelle est la commande SQL exécutée par PHPMyAdmin ? Est-ce que l''enregistrement renvoyé est le dernier enregistré ? Le premier ? Un complètement aléatoire ? ....
Fais-nous une capture d'écran qui illustre le problème.
Il se passe quoi concrètement ? Tu cliques sur quoi pour en déduire cette conclusion ? Quelle est la commande SQL exécutée par PHPMyAdmin ? Est-ce que l''enregistrement renvoyé est le dernier enregistré ? Le premier ? Un complètement aléatoire ? ....
Fais-nous une capture d'écran qui illustre le problème.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voila j'enregistre mes données avec ca
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<style type="text/css">
<!--
.Style1 {
color: #3333FF;
font-weight: bold;
}
.Style2 {color: #993300}
.Style3 {color: #993333}
-->
</style>
</head>
<body>
<table width="952" border="0">
<tr>
<td width="143" height="31"> </td>
<td width="615" bgcolor="#CCCCCC"><div align="center" class="Style1"> ENREGISTREMENT DES JEUX </div></td>
<td width="180"> </td>
</tr>
<tr>
<td height="31"> </td>
<td bgcolor="#FFFFFF"> </td>
<td> </td>
</tr>
<tr>
<td height="31"> </td>
<td bgcolor="#FFFFFF"><form id="form1" name="form1" method="post" action="jeux.php">
<table width="633" border="0" bgcolor="#FFCC99">
<tr>
<td width="250"><div align="center"><span class="Style2">NOM</span></div></td>
<td width="355"><input type="text" name="nom" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style3">PROPRIETAIRE</span></div></td>
<td><input type="text" name="proprietaire" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style3">CONSOLE</span></div></td>
<td><input type="text" name="console" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style3">PRIX</span></div></td>
<td><input type="text" name="prix" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style3">COMMENTAIRE</span></div></td>
<td><input type="text" name="commentaire" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><div align="center">
<input type="submit" name="Submit" value="Envoyer" />
</div></td>
<td><div align="center">
<input type="reset" name="reset" value="Annuler" />
</div></td>
</tr>
</table>
</form>
</td>
<td> </td>
</tr>
</table>
<blockquote> </blockquote>
</body>
</html>
MA CAPTURE ECRAN NE PASSE PAS
Dès que je fini mon enregistrement, je vais verifie dans PHPMyadmin: j'actualise la page.
Je doit crée un script pour l'affichage, mais je ne l'ai pas encor fais à cause de ce problème
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<style type="text/css">
<!--
.Style1 {
color: #3333FF;
font-weight: bold;
}
.Style2 {color: #993300}
.Style3 {color: #993333}
-->
</style>
</head>
<body>
<table width="952" border="0">
<tr>
<td width="143" height="31"> </td>
<td width="615" bgcolor="#CCCCCC"><div align="center" class="Style1"> ENREGISTREMENT DES JEUX </div></td>
<td width="180"> </td>
</tr>
<tr>
<td height="31"> </td>
<td bgcolor="#FFFFFF"> </td>
<td> </td>
</tr>
<tr>
<td height="31"> </td>
<td bgcolor="#FFFFFF"><form id="form1" name="form1" method="post" action="jeux.php">
<table width="633" border="0" bgcolor="#FFCC99">
<tr>
<td width="250"><div align="center"><span class="Style2">NOM</span></div></td>
<td width="355"><input type="text" name="nom" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style3">PROPRIETAIRE</span></div></td>
<td><input type="text" name="proprietaire" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style3">CONSOLE</span></div></td>
<td><input type="text" name="console" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style3">PRIX</span></div></td>
<td><input type="text" name="prix" /></td>
</tr>
<tr>
<td><div align="center"><span class="Style3">COMMENTAIRE</span></div></td>
<td><input type="text" name="commentaire" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><div align="center">
<input type="submit" name="Submit" value="Envoyer" />
</div></td>
<td><div align="center">
<input type="reset" name="reset" value="Annuler" />
</div></td>
</tr>
</table>
</form>
</td>
<td> </td>
</tr>
</table>
<blockquote> </blockquote>
</body>
</html>
MA CAPTURE ECRAN NE PASSE PAS
Dès que je fini mon enregistrement, je vais verifie dans PHPMyadmin: j'actualise la page.
Je doit crée un script pour l'affichage, mais je ne l'ai pas encor fais à cause de ce problème
C'est le formulaire ça, on n'en a pas besoin.
Ici pour faire une capture :
http://www.commentcamarche.net/faq/sujet 5606 montrer une copie d ecran
Ici pour faire une capture :
http://www.commentcamarche.net/faq/sujet 5606 montrer une copie d ecran
Yoan merci pour ton soutien, je suis au bureau et je descendre il fait deja trop tard ici, je compte revenir sur ta proposition demain . je ne sais pas si tu sera là.
merci de m'encourager à faire mon autoformation.
A Demain!!!même sujet
merci de m'encourager à faire mon autoformation.
A Demain!!!même sujet
Le problème ne vient-il pas de ta dans ta requête SQL ?
Quand tu enregistres une entrée dans la base de données avec un INSERT INTO (code sur ton premier post),
tu dois lui préciser dans quelles colonnes vont tes différentes données.
Exemple :
<?php
//Sauvegarde dans la base
mysql_query("INSERT INTO jeux_video(nom, proprietaire,console, prix, com) VALUES('$nom','$proprietaire','$console','$prix','$com')");
mysql_close();
?>
Ca ne sert pas sinon de préciser l'id, s' il est en "auto-incrément", il va se remplir tout seul.
Sinon, pour bien voir tes enregistrements dans ta base de données,
t'as un onglet Afficher (tout à gauche) dans phpmyadmin
lorsque tu as sélectionnés une base, puis une table.
Sinon, c'est vrai qu'il faudrait que tu sois un peu plus précis dans tes explications ..
Quand tu enregistres une entrée dans la base de données avec un INSERT INTO (code sur ton premier post),
tu dois lui préciser dans quelles colonnes vont tes différentes données.
Exemple :
<?php
//Sauvegarde dans la base
mysql_query("INSERT INTO jeux_video(nom, proprietaire,console, prix, com) VALUES('$nom','$proprietaire','$console','$prix','$com')");
mysql_close();
?>
Ca ne sert pas sinon de préciser l'id, s' il est en "auto-incrément", il va se remplir tout seul.
Sinon, pour bien voir tes enregistrements dans ta base de données,
t'as un onglet Afficher (tout à gauche) dans phpmyadmin
lorsque tu as sélectionnés une base, puis une table.
Sinon, c'est vrai qu'il faudrait que tu sois un peu plus précis dans tes explications ..
tu dois lui préciser dans quelles colonnes vont tes différentes données.
Non. Il y a six attributs, et dans la requête il donne les six valeurs dans l'ordre. Ca fonctionne très bien.
Visiblement les entrées sont bel-et-bien enregistrées dans la table.
Mais quelque-chose a dû échapper à notre ami pour visualiser le contenu de la table avec PHPMyadmin ;-)
Non. Il y a six attributs, et dans la requête il donne les six valeurs dans l'ordre. Ca fonctionne très bien.
Visiblement les entrées sont bel-et-bien enregistrées dans la table.
Mais quelque-chose a dû échapper à notre ami pour visualiser le contenu de la table avec PHPMyadmin ;-)
Non. Il y a six attributs, et dans la requête il donne les six valeurs dans l'ordre. Ca fonctionne très bien.
Autant pour moi, j'avais jamais essayé.^^
Autant pour moi, j'avais jamais essayé.^^
Ah ok ben essaye ca :
<body>
<?php
//connection au serveur
mysql_connect("localhost","root","*****");
//Selection de la base de données
mysql_select_db("jeux");
//Récuperation des données du formulaire
$nom=$_POST['nom'];
$proprietaire=$_POST['proprietaire'];
$console=$_POST['console'];
$prix=$_POST['prix'];
$com=$_POST['commentaire'];
//Sauvegarde dans la base
$sql="INSERT INTO jeux_video VALUES('','$nom','$proprietaire','$console','$prix','$com')";
mysql_query($sql)or die('Query failed: '.'<li>errorno='.mysql_errno().'<li>error='.mysql_error().'<li>query='.$sql);
mysql_close();
?>
</body>
<body>
<?php
//connection au serveur
mysql_connect("localhost","root","*****");
//Selection de la base de données
mysql_select_db("jeux");
//Récuperation des données du formulaire
$nom=$_POST['nom'];
$proprietaire=$_POST['proprietaire'];
$console=$_POST['console'];
$prix=$_POST['prix'];
$com=$_POST['commentaire'];
//Sauvegarde dans la base
$sql="INSERT INTO jeux_video VALUES('','$nom','$proprietaire','$console','$prix','$com')";
mysql_query($sql)or die('Query failed: '.'<li>errorno='.mysql_errno().'<li>error='.mysql_error().'<li>query='.$sql);
mysql_close();
?>
</body>
Merci les amis, j'ai complèté mon script pour un affichage des resultats et ca marche sans problème. les nouvelle enregistrement son pris en compte et s'affiche.
Mais je ne sais pas pourquoi sans le script d'affichage plusieurs enregistrement ne son pas pris en compte en même temps.????
voici la totalité de mon script de recuperation et d'affichage dans un même fichier:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
<p>
<?php
//connection au serveur
mysql_connect("localhost","root","syntiche07");
//Selection de la base de données
mysql_select_db("jeux");
//Récuperation des données du formulaire
$nom=$_POST['nom'];
$proprietaire=$_POST['proprietaire'];
$console=$_POST['console'];
$prix=$_POST['prix'];
$com=$_POST['commentaire'];
//Sauvegarde dans la base
mysql_query("INSERT INTO jeux_video VALUES('','$nom','$proprietaire','$console','$prix','$com')");
mysql_close();
?>
</p>
<p>
<?php
//connection au serveur
mysql_connect("localhost","root","syntiche07");
//Selection de la base de données
mysql_select_db("jeux");
$reponse=mysql_query("SELECT * FROM jeux_video");
while ($donnees=mysql_fetch_array($reponse))
{
?>
</p>
<table width="384" height="115" border="0">
<tr>
<td width="142"><div align="left" class="Style1">
<div align="right">NOM DU JEU: </div>
</div></td>
<td width="232"><?php echo $donnees['nom']; ?></td>
</tr>
<tr>
<td><div align="right"><span class="Style1">PROPRIETAIRE</span>: </div></td>
<td><?php echo $donnees['proprietaire']; ?></td>
</tr>
<tr>
<td><div align="right"><span class="Style1">CONSOLE:</span></div></td>
<td><?php echo $donnees['console']; ?></td>
</tr>
<tr>
<td><div align="right"><span class="Style1">PRIX:</span></div></td>
<td><?php echo $donnees['prix']; ?> FCFA </td>
</tr>
<tr>
<td><div align="right"><span class="Style1">COMMENTAIRE:</span></div></td>
<td><?php echo $donnees['commentaire']; ?></td>
</tr>
</table>
<table width="442" border="0">
<tr>
<td><img src="../Mesexos/images/019.gif" width="412" height="8" /></td>
</tr>
</table>
<p>
<?php
}
mysql_close();
?>
</p>
<p> </p>
</body>
</html>
Mais je ne sais pas pourquoi sans le script d'affichage plusieurs enregistrement ne son pas pris en compte en même temps.????
voici la totalité de mon script de recuperation et d'affichage dans un même fichier:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
<p>
<?php
//connection au serveur
mysql_connect("localhost","root","syntiche07");
//Selection de la base de données
mysql_select_db("jeux");
//Récuperation des données du formulaire
$nom=$_POST['nom'];
$proprietaire=$_POST['proprietaire'];
$console=$_POST['console'];
$prix=$_POST['prix'];
$com=$_POST['commentaire'];
//Sauvegarde dans la base
mysql_query("INSERT INTO jeux_video VALUES('','$nom','$proprietaire','$console','$prix','$com')");
mysql_close();
?>
</p>
<p>
<?php
//connection au serveur
mysql_connect("localhost","root","syntiche07");
//Selection de la base de données
mysql_select_db("jeux");
$reponse=mysql_query("SELECT * FROM jeux_video");
while ($donnees=mysql_fetch_array($reponse))
{
?>
</p>
<table width="384" height="115" border="0">
<tr>
<td width="142"><div align="left" class="Style1">
<div align="right">NOM DU JEU: </div>
</div></td>
<td width="232"><?php echo $donnees['nom']; ?></td>
</tr>
<tr>
<td><div align="right"><span class="Style1">PROPRIETAIRE</span>: </div></td>
<td><?php echo $donnees['proprietaire']; ?></td>
</tr>
<tr>
<td><div align="right"><span class="Style1">CONSOLE:</span></div></td>
<td><?php echo $donnees['console']; ?></td>
</tr>
<tr>
<td><div align="right"><span class="Style1">PRIX:</span></div></td>
<td><?php echo $donnees['prix']; ?> FCFA </td>
</tr>
<tr>
<td><div align="right"><span class="Style1">COMMENTAIRE:</span></div></td>
<td><?php echo $donnees['commentaire']; ?></td>
</tr>
</table>
<table width="442" border="0">
<tr>
<td><img src="../Mesexos/images/019.gif" width="412" height="8" /></td>
</tr>
</table>
<p>
<?php
}
mysql_close();
?>
</p>
<p> </p>
</body>
</html>
requête SQL:
SELECT *
FROM `jeux_video`
LIMIT 0 , 30
[Modifier] [Expliquer SQL] [Créer source PHP] [Actualiser]
ligne(s) à partir de l'enregistrement n°
en mode et répéter les en-têtes à chaque groupe de
Trier sur l'index:
Textes complets
id
nom
proprietaire
console
prix
commentaire
Modifier Effacer 0 Mario Aka Jean Manette 20000 C'est un jeu très interessant.
Modifier Effacer 2 Zouma Duque le roi Souris 10000 un jeu génial.
Modifier Effacer 3 Zouma Duque le roi Clavier 10000 un jeu génial.