[php] probleme ajout et affichage dun tableau

Fermé
micom59 Messages postés 71 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 11 août 2009 - 2 juil. 2007 à 10:04
 Alain42 - 2 juil. 2007 à 13:52
Bonjour j'ai deux problees que je vais regrouper ici.
J'ai une base de donnée à une table (article)
J'ai un formulaire.html dont voici le code qui est sensé retourné trois variables quantite,article,zone
Ceci est envoyé dans ajouter.php, un programme sensé ajouter une ligne article quantité zone à ma base de donnée
Et finaement j'ai un petit programme visu.php qui devrait afficher le tableau des entrées effectuer.
voici mes probleme : ajouter.php n'ajoute rien et visu.php n'affiche pas le tableau mais ceci

Visualisation générale


--------------------------------------------------------------------------------
ArticleQuantitéZone
\n"; while ($row = mysql_fetch_assoc($result)) { echo "
".$row["article"]."".$row["quantite"]."".$row["zone"]."
\n"; } ?> Retour



Voici les différents code de mes programmes, pour voir si vous y trouvé une erreur :

ajouter.php

<html>
<body>
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'base';


$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

mysql_query("INSERT INTO article VALUES('$_POST[article]','$_POST[quantite]','$_POST[zone]')");
echo "Enregistrement effectué";
?>
<BODY BGCOLOR=#33CCFF>
<p>
<a href="index.html">Accueil</a><p>
<a href="visu.php">Visualisation générale</a><p>
</body>
</html>


visu.php


<html>
<body>
<BODY BGCOLOR=#33CCFF>
<center><h1>Visualisation générale</h1></center>
<p>
<hr>
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'base';

$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());


$select = 'SELECT * FROM article';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

echo "<h2><center><table width='200' border='1'><TR><TD>Article</TD><TD>Quantité</TD><TD>Zone</TD></TR></h2>\n";
while ($row = mysql_fetch_assoc($result))
{
echo "<h3><TR><TD>".$row["article"]."</TD><TD>".$row["quantite"]."</TD><TD>".$row["zone"]."</TD></TR></h3>\n";
}

?>
<a href="index.html">Retour</a><p>
</body>
</html>


et le formulaire.html


<html>
<body>
<BODY BGCOLOR=#33CCFF>
<center><h1>Entrée de composants</h1><hr><br>
<h3>Veuillez noter les quantités sans ponctuation ni lettres</h3>
<p>
<form name="formulaire" method="post" action="ajouter.php">
<table width="200" border="1">
<tr>
<td>Article:</td>
<td><input name="article" type="text" id="article"></td>
</tr>
<tr>
<td>Quantité:</td>
<td><input name="quantite" type="text" id="quantite"></td>
</tr>
<td>Zone:</td>
<td><input name="zone" type="text" id="zone">
</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Envoyer">
</div></td>
</tr>
</table>
</form>
</center>
<a href="index.html">Retour</a><p>
</body>
</html>



Je ne comprends d'où viennent toutes ces erreurs, vendredi tous marchait parfaitement...
Merci de votre aide.
A voir également:

4 réponses

micom59 Messages postés 71 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 11 août 2009 1
2 juil. 2007 à 11:29
vous ne voyez donc pas de probleme?
j'ai essayer d'ajouter des trucs, d'un supprimer et rien toujours pareil...
0
Une erreur :

mysql_query("INSERT INTO article VALUES('$_POST[article]','$_POST[quantite]','$_POST[zone]')");


Il faut que tu précises dans ta requette quels sont les champs de ta table dans lesquels mettre les values

donc de la forme:

$enregistrement=mysql_query("INSERT INTO article ('champ1',champ2,champ3) VALUES('$_POST[article]','$_POST[quantite]','$_POST[zone]')");

et pour que l'echo corresponde à la réalité:

if ($enregistrement){
echo "Enregistrement effectué";
}
0
micom59 Messages postés 71 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 11 août 2009 1
2 juil. 2007 à 13:18
malheuresement, ca ne change pas, ca n'enregistre toujours pas le nouvel article... merci quand meme de t'être penché sur mon probleme;

Maintenant mon ajouter.php est de la forme :

<html>
<body>
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'base';


$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$enregistrement=mysql_query("INSERT INTO article ('article','quantite','zone')
VALUES('$_POST[article]','$_POST[quantite]','$_POST[zone]')");
if ($enregistrement){
echo "Enregistrement effectué";
?>
<BODY BGCOLOR=#33CCFF>
<p>
<a href="index.html">Accueil</a><p>
<a href="visu.php">Visualisation générale</a><p>
</body>
</html>
0
Essaye:
$query="INSERT INTO article ('article','quantite','zone')
VALUES('".$_POST['article']."','".$_POST['quantite']."','".$_POST['zone']."')";

$enregistrement=mysql_query($query)
if ($enregistrement){
echo "Enregistrement effectué";
}

ne pas oublier la dernière } !!

les '" sont une simple quote 'et une double quote" avant la variable $_POST et " puis ' après

mets aussi un print_r($_POST) dau début de ton script ajout.php pour voir ce que tu reçoit réellement.
0