Problème avec un POST

Messages postés
186
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
17 février 2008
-
Messages postés
186
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
17 février 2008
-
Bonjour à tous,

Je vous explique mon prob depuis plusieurs jour malalam(admin cs) et moi nous planchons sur un prob dans mon source.
Nous avons isolé, enfin malalam surtout, que c'est un problème avec la fonction post dans mon code qui pose problème. Pour bien comprendre je vous montre les parties de sources concernées :

Mon menu déroulant :

<form name="Afficher" method="post" action="">



<select name="categorie">
<option value="1">Software</option>
<option value="2">Ecran</option>
<option value="3">Mémoire</option>
<option value="4">Portable</option>
<option value="5">Processeur</option>
</select>

</form>

La partie PHP :

<?php
$id=$_POST['categorie'];
if(isset($id) and is_numeric($id))
{
//echo 'categorie = ', $_POST['categorie'];
mysql_select_db($database_ecommerce, $ecommerce);
$sql1="SELECT shop_articles.id, shop_articles.nom_article, shop_articles.prix_ht, shop_articles.prix_ttc, shop_articles.rubarticle1, shop_catégories.intitule FROM shop_articles Inner join shop_catégories on shop_articles.rubarticle1=shop_catégories.id where shop_articles.rubarticle1='$id'";
//echo $sql1;
//echo $id;
$req=mysql_query($sql1) or die('Erreur SQL!
'.$sql1.'
'.mysql_error());
while ($row_articles=mysql_fetch_row($req))
{

?>
<tr>
<td height="19"><?php echo $row_articles[id]; ?></td>
<td height="19"><?php echo $row_articles[intitule]; ?></td>
<td width="259"><?php echo $row_articles[nom_article]; ?></td>
<td>
<?php echo $row_articles[prix_ht]; ?>
</td>
<td>
<?php echo $row_articles[prix_ttc]; ?>
</td>
</tr>
</table>
<?php '
'.$row_articles[id].' '.$row_articles[nom].' '.$row_articles[nom_article].' '.$row_articles[prix_ht].' '.$row_articles[prix_ttc].'';
}
}
mysql_close();
?>

Voilà, dans le source, je met en rouge une partie du code parce que au début dans ma requête SQL la variable $id était remplacé par $_POST['categorie'], mais dans ce cas j'avais une erreur SQL, donc pour ne plus avoir ce problème je suis passé par une variable. De plus, perso je trouve ca plus propre.

Le problème c'est que le POST ne nous retourne aucune valeur nous avons fait une batterie de test suffit de voir les "//echo". Je cherche donc a svoir comment on peut récupérer la valeur d'un post et l'affecter à une variable.

Le but du code est de pouvoir afficher une liste de produit par catégorie, l'internaute choisi une catégorie dans le menu déroulant et on affiche uniquement les articles de cette catégorie.

Le but est simple, et je pensais que la solution l'était également mais je me suis planté.

Si quelqu'un pouvait nous éclairer se serait super sympa.

@++

Stu76

bien sur après je donnerais l'entièreté du code source à qui veut.

24 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
26
J'avais pas non plus vu cette ligne tien...lol.
Messages postés
186
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
17 février 2008
1
Bonsoir,

Désolé davoire trainé pour votre réponse mais je suis parti en dépannage, en tout cas un tout grand merci malalam, sidf et fhx ca fonctionne j'ai bien mes données qui s'affiche dans mon tableau, j'ai effectivement remis array au lieu de row dans ma boucle while mes j'ai encore un petit bug d'affichage la première ligne est bonne et la deuxième non. Je vais looké ca gentillement.

En tout cas Malalam un tout grand MERCI
car tu as été super patient et super sympa tu es sur le prob depuis le début. Comme promis je corrige le bug d'affichage et je partage la source cas j'estime que celle-ci est le fruit de la communauté et non de moi.

Encore merci à l'ensemble des personnes qui se sont penchés sur ce prob.

stu76

Pour info voici le bug d'affiche :


N°,
Catégorie,
Nom d'article ,
Prix HTVA en ? ,
Prix TVAC en ? ,
----

----

,
Mémoire,
KingMax 256 DDR 400 SR CL2.5,
17.35,
25.19
<TR><TD height="19"></TD><TD height="19">Mémoire</TD> <TD width="259">KINGMAX 512 DDR 400 SR CL2.5</TD> <TD>


36.35
</TD><TD>

48.39
</TD></TR></TABLE>
Messages postés
186
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
17 février 2008
1
Pour info voici déjà le code source tj avec le petit bug d'affichage. Mais j'y travaille.

<?php require_once('Connections/ecommerce.php'); ?>
<title>Articles</title>
<style type="text/css">
<!--
.Style1 {font-family: Arial, Helvetica, sans-serif}
body,td,th {
color: #FFFFFF;
font-family: Arial, Helvetica, sans-serif;
}
body {
background-color: #333333;
background-image: url(images/fondsite.gif);
}
a:link {
color: #FFFFFF;
text-decoration: none;
}
a:visited {
color: #FFFFFF;
text-decoration: none;
}
a:hover {
color: #FF0000;
text-decoration: none;
}
a:active {
text-decoration: none;
}
.Style4 {font-size: small}
.Style5 {
color: #FF0000;
font-size: small;
}
-->
</style>
Retour,
Attention !!! Atconcept se r&eacute;serve le droit de modifier ses prix sans pr&eacute;avis.,

----

Afficher :,
<form name="Afficher" method="post" action="">

<select name="categorie" onchange="this.form.submit();">
<option value="0">Choisir...</option>
<option value="1">Software</option>
<option value="2">Ecran</option>
<option value="3">Mémoire</option>
<option value="4">Portable</option>
<option value="5">Processeur</option>
</select>

</form>

N&deg;,
Catégorie,
Nom d'article ,
Prix HTVA en &euro; ,
Prix TVAC en &euro; ,

----

<?php
if(isset($_POST['categorie']) and is_numeric($_POST['categorie']))
{
mysql_select_db($database_ecommerce, $ecommerce);
$sql1=\"SELECT shop_articles.id, shop_articles.nom_article, shop_articles.prix_ht, shop_articles.prix_ttc, shop_articles.rubarticle1, shop_catégories.intitule
FROM shop_articles Inner join shop_catégories on shop_catégories.id=shop_articles.rubarticle1 where shop_articles.rubarticle1=\".$_POST['categorie'];
$req=mysql_query($sql1) or die('Erreur SQL!
'.$sql1.'
'.mysql_error());
mysql_close();
while ($row_articles=mysql_fetch_array($req))
{
?>
----

<?php echo $row_articles['id']; ?>,
<?php echo $row_articles['intitule']; ?>,
<?php echo $row_articles['nom_article']; ?>,
<?php echo $row_articles['prix_ht']; ?>,
<?php echo $row_articles['prix_ttc']; ?>

<?php '
'.$row_articles[id].' '.$row_articles[nom].' '.$row_articles[nom_article].' '.$row_articles[prix_ht].' '.$row_articles[prix_ttc].'';
}
}
?>

Stu76
Messages postés
186
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
17 février 2008
1
Bonjour,

Voici, le source corriger et l'affichage fonctionne correctement. Je rappelle que cette source pour ceux qui arrive est un source de moi,
mais que ne trouvant pas les problèmes liées à celle-ci j'ai fais appelle à la communauté. Par conséquent malalam a été super avec moi, et c'est lui qui a solutionné les prob.
Donc le source finale sur le plan création lui revient. Comme promis je partage cette source déjà ici, des que l'application est finie dans son intégralité, je la partagerais aussi.
Encore merci et à tous et surtout a malalam.

Code :

<?php require_once('Connections/ecommerce.php'); ?>
<?php


?>
<title>Articles</title>
<style type="text/css">
<!--
.Style1 {font-family: Arial, Helvetica, sans-serif}
body,td,th {
color: #FFFFFF;
font-family: Arial, Helvetica, sans-serif;
}
body {
background-color: #333333;
background-image: url(images/fondsite.gif);
}
a:link {
color: #FFFFFF;
text-decoration: none;
}
a:visited {
color: #FFFFFF;
text-decoration: none;
}
a:hover {
color: #FF0000;
text-decoration: none;
}
a:active {
text-decoration: none;
}
.Style4 {font-size: small}
.Style5 {
color: #FF0000;
font-size: small;
}
-->
</style>
Retour,
Attention !!! Atconcept se r&eacute;serve le droit de modifier ses prix sans pr&eacute;avis.,

----

Afficher :,
<form name="Afficher" method="post" action="">

<select name="categorie" onchange="this.form.submit();">
<option value="0">Choisir...</option>
<option value="1">Software</option>
<option value="2">Ecran</option>
<option value="3">Mémoire</option>
<option value="4">Portable</option>
<option value="5">Processeur</option>
</select>

</form>

N&deg;,
Catégorie,
Nom d'article ,
Prix HTVA en &euro; ,
Prix TVAC en &euro; ,

----

<?php
if(isset($_POST['categorie']) and is_numeric($_POST['categorie']))
{
mysql_select_db($database_ecommerce, $ecommerce);
$sql1=\"SELECT shop_articles.id, shop_articles.nom_article, shop_articles.prix_ht, shop_articles.prix_ttc, shop_articles.rubarticle1, shop_catégories.intitule
FROM shop_articles Inner join shop_catégories on shop_catégories.id=shop_articles.rubarticle1 where shop_articles.rubarticle1=\".$_POST['categorie'];
$req=mysql_query($sql1) or die('Erreur SQL!
'.$sql1.'
'.mysql_error());

while ($row_articles=mysql_fetch_array($req,MYSQL_ASSOC))
{

?>
----

<?php echo $row_articles[id]; ?>,
<?php echo $row_articles[intitule]; ?>,
<?php echo $row_articles[nom_article]; ?>,
<?php echo $row_articles[prix_ht]; ?>,
<?php echo $row_articles[prix_ttc]; ?>,

<?php
}
?>

<?php
}
mysql_close();
?>