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   -
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   Statut Modérateur Dernière intervention   2 332
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention   2 332
 
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   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention   2 332
 
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   Statut Membre Dernière intervention   > Yoan Messages postés 11795 Date d'inscription   Statut Modérateur Dernière intervention  
 
avec PHPMyadmin
0
Yoan Messages postés 11795 Date d'inscription   Statut Modérateur Dernière intervention   2 332 > johnybath Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention   2 332
 
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   Statut Membre Dernière intervention  
 
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
doc334
 
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   Statut Modérateur Dernière intervention   2 332
 
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   Statut Membre Dernière intervention   102
 
C koi la clé primaire de ta table jeux_video ???

Ca fonctionne ou pas ??

0
doc334
 
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   Statut Membre Dernière intervention   102
 
Oui mais la clé primaire de sa table, c'est quoi ???

0
johnybath Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   102
 
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   Statut Modérateur Dernière intervention   2 332
 
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   Statut Membre Dernière intervention   102
 
Quoi ??
0
johnybath Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Modérateur Dernière intervention   2 332
 
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