Rechercher : dans
Par :

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

Dernière réponse le 17 fév 2009 à 13:26:48 johnybath, le 16 fév 2009 à 17:13:22 
 Signaler ce message aux modérateurs

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>

Configuration: Windows XP
Firefox 3.0.6

Meilleures réponses pour « PHP base de données une seule entrée présente » dans :
PHP - Bases de données Voir Php permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
Sauvegarde restauration base de données Mysql VoirL'article suivant va présenter la manière la plus facile pour sauvegarder et restaurer les bases de données Mysql. Sauvegarde Pour sauvegarder une base de données existante il est conseillé de créer un dump. Pour dumper toutes les bases de...
[Organisation] Créer une base de connaissances VoirLe but d'une base de connaissances est de modéliser et stocker de manière informatique un ensemble de connaissances, idées, concepts ou données et de permettre leur consultation/utilisation. Il existe plusieurs méthodes et logiciels différents pour...
[Windows XP] Structure de la base de registre VoirQu'est-ce que la base de registre ? Accéder à la base de registre Comprendre son interface Colonne de gauche Les 5 clés racines Colonne de droite Quelques fonctionnalités du registre Exportation (sauvegarde d'une clé du...
Bases de données - Introduction VoirQu'est-ce qu'une base de données ? Une base de données (son abréviation est BD, en anglais DB, database) est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données...
Administrateur de bases de données VoirAdministrateur de bases de données L'administrateur de bases de données (parfois appelé responsable de bases de données ou en anglais database administrator, noté DBA) est chargé du maintien et de l'évolution des bases de données constituant le...
Connexion à la base de données avec JDBC VoirConnexion à la base de données L'API (Application Programming Interface) JDBC, c'est-à-dire la bibliothèque de classes JDBC, se charge de trois étapes indispensables à la connexion à une base de données : la création d'une connexion à la...

1

Yoan, le 16 fév 2009 à 17:16:47

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. L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

2

johnybath, le 16 fév 2009 à 17:53:38

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.

Répondre à johnybath

3

johnybath, le 16 fév 2009 à 17:58:31

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

Répondre à johnybath

4

Yoan, le 16 fév 2009 à 18:07:09

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 ? L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

5

johnybath, le 16 fév 2009 à 18:19:46

Pour avoir ces enregistrement il me faut redemarer mon serveur et mon explorateur.
et ca je pense que c'est pas normale

Répondre à johnybath

6

Yoan, le 16 fév 2009 à 18:25:03

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 ? .... L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

7

johnybath, le 16 fév 2009 à 18:25:59

Avec PHPMyadmin

Répondre à johnybath

8

Yoan, le 16 fév 2009 à 18:28:56

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. L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

9

johnybath, le 16 fév 2009 à 18:41:49

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

Répondre à johnybath

10

Yoan, le 16 fév 2009 à 18:48:40

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 L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

11

johnybath, le 16 fév 2009 à 18:58:09

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

Répondre à johnybath

12

doc334, le 16 fév 2009 à 21:13:59

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 ..

Répondre à doc334

13

Yoan, le 16 fév 2009 à 21:30:23

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 ;-) L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

14

974_Vin's_974, le 17 fév 2009 à 06:21:43

C koi la clé primaire de ta table jeux_video ???

Ca fonctionne ou pas ??

Dséolé puor l'otrhogarphe, arpès tuot on s'enfuo, t'es bein ­capbale de cmoprnedre ça non ??
[' Tu tr0uveras t0uj0urs plus f0rt que t0i ']

Répondre à 974_Vin's_974

15

doc334, le 17 fév 2009 à 07:11:16

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é.^^

Répondre à doc334

17

974_Vin's_974, le 17 fév 2009 à 07:51:48

Oui mais la clé primaire de sa table, c'est quoi ???

Dséolé puor l'otrhogarphe, arpès tuot on s'enfuo, t'es bein capbale de cmoprnedre ça non ??
[' Tu tr0uveras t0uj0urs plus f0rt que t0i ']

Répondre à 974_Vin's_974

18

johnybath, le 17 fév 2009 à 09:53:34

La clé primare de ma table jeux_video est : id il est en AUTO_INCREMENT

Répondre à johnybath

19

974_Vin's_974, le 17 fév 2009 à 11:19:30

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>

Dséolé puor l'otrhogarphe, arpès tuot on s'enfuo, t'es bein capbale de cmoprnedre ça non ??
[' Tu tr0uveras t0uj0urs plus f0rt que t0i ']

Répondre à 974_Vin's_974

20

Yoan, le 17 fév 2009 à 11:22:31

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 .... L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan

21

974_Vin's_974, le 17 fév 2009 à 11:36:14

Quoi ??
Dséolé puor l'otrhogarphe, arpès tuot on s'enfuo, t'es bein ­capbale de cmoprnedre ça non ??
[' Tu tr0uveras t0uj0urs plus f0rt que t0i ']

Répondre à 974_Vin's_974

22

johnybath, le 17 fév 2009 à 12:45:37

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>

Répondre à johnybath

23

 Yoan, le 17 fév 2009 à 13:26:48

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). L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...

Répondre à Yoan
Collection CommentÇaMarche.net