PHP-base de données une seule entrée présente

Résolu/Fermé
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009 - 16 févr. 2009 à 17:13
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 17 févr. 2009 à 13:26
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>

14 réponses

Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
16 févr. 2009 à 17:16
Hello,
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.
0
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009
16 févr. 2009 à 17:53
Affichage des enregistrements 0 - 2 (3 total, traitement: 0.0209 sec.)
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.
0
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009
16 févr. 2009 à 17:58
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
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
16 févr. 2009 à 18:07
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 ?
0
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009
16 févr. 2009 à 18:19
Pour avoir ces enregistrement il me faut redemarer mon serveur et mon explorateur.
et ca je pense que c'est pas normale
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
16 févr. 2009 à 18:25
Mais comment est-ce que "tu as" ces renseignements ? Tu consultes ta base avec PHPMyadmin ? Tu as un script qui liste tous les enregistrements de la table ? ....
0
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009 > Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023
16 févr. 2009 à 18:25
avec PHPMyadmin
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327 > johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009
16 févr. 2009 à 18:28
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009
16 févr. 2009 à 18:41
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
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
16 févr. 2009 à 18:48
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
0
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009
16 févr. 2009 à 18:58
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
0
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 ..
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
16 févr. 2009 à 21:30
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 ;-)
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 06:21
C koi la clé primaire de ta table jeux_video ???

Ca fonctionne ou pas ??

0
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é.^^
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 07:51
Oui mais la clé primaire de sa table, c'est quoi ???

0
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009
17 févr. 2009 à 09:53
la clé primare de ma table jeux_video est : id il est en AUTO_INCREMENT
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 11:19
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>

0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
17 févr. 2009 à 11:22
Avant d'essayer d'autres insertions alors que les premières sont justes il serait plus sage de vérifier s'il y a effectivement un problème avec une consultation ....
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 11:36
Quoi ??
0
johnybath Messages postés 14 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 23 février 2009
17 févr. 2009 à 12:45
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>
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
17 févr. 2009 à 13:26
Mais je ne sais pas pourquoi sans le script d'affichage plusieurs enregistrement ne son pas pris en compte en même temps.????
A mon humble avis tu t'y prends mal pour utiliser PHPMyadmin, ou alors il limite trop le nombre d'entrées à sélectionner (clause LIMIT).
0