PHP-base de données une seule entrée présente
Résolu
                    
        
     
             
                    johnybath
    
        
    
                    Messages postés
            
                
     
             
            15
        
            
                                    Statut
            Membre
                    
                -
                                     
Yoan Messages postés 11905 Statut Modérateur -
        Yoan Messages postés 11905 Statut Modérateur -
        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.