Probleme d'extraction d'une table sql vers un tableau html

Signaler
Messages postés
4
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
25 mars 2005
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour,





j'ai un petit soucis. Je prepare un syteme de commande en ligne pour ma
boite, et je dois extraire une liste de produit contenu dans une table
de ma base de données sql vers un tableau html, avec sur chaque ligne
un champs de saisi pour la quantité souhaité et un bouton de
validation. Le systeme fonctionne sur tout le tableau, mais pas sur la
premiere ligne, je comprend pas. Sur la premiere ligen, quand je
clique, il me réaffiche ma page, alors que pour toutes les autres
lignes, il m'envoi vers le bon lien, avec les valeurs en parametre...





Voici mon code:





******************************************


//Requete de recherche de tous les articles pour affichage dans le tableau


$requete="SELECT * FROM produits";


$resaffiche=mysql_query($requete) or die ("Erreur lors de l'exectution de la requete");





//Entete du tableau


echo "\";

echo \"----
\";

echo \"Numero, \";

echo \"Liste, \";

echo \"Désignation, \";

echo \"Prix, \";

echo \"Remarque, \";

echo \"Qté, \";

echo \"Ajouter, \";

echo \"\";

$x=1;

while ($ligne=mysql_fetch_array($resaffiche))

{

extract($ligne);

echo \"----
\";

echo \"<form method='post' action=\"test.php?qte=$qte&numero=$numero\" >$numero, \";

echo \"$liste, \";

echo \"$designation, \";

echo \"$prix, \";

echo \"$remarque, \";

echo \", \";

echo \"</form>, \";

echo \"\";

}

//

echo "
";


******************************************





Si quelqu'un a 5 minutes a perdre! :o)





Merci.





Matthieu

7 réponses

Messages postés
4
Date d'inscription
mardi 9 décembre 2003
Statut
Membre
Dernière intervention
25 mars 2005

Bon, en fait, j'ai plus de probleme que ca... j'ai du mal a faire
passer la quantité en parametre. Mettre un formulaire sur chaque ligne
me semblait la seule solution. A priori, il y a autre chose que je n'ai
pas bien saisi. Une fois il ne me passe pas la quantité en parametre,
ensuite il garde toujours la meme vaeur pour la variable... Quelqu'un
voit comment je peut faire pour que ca fonctionne a chaque fois?!



Merci encore!!
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Bonjour,

deja tu peux rendre ton code plus aux normes :


<li> <TABLE> <TD> ... => <table> <td></li>
<li>width="x" height="y" border="z" => style="width: x; height: y; border: z px; ... "</li>
<li>echo "" => echo '';</li>
<li>Les atributs style='' => style=""</li>
<li> ...

</li>


<hr size="2" width="100%">
Si ma reponse te convient, merci de l'accepter !
Messages postés
445
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
22 mars 2007
1
Perso, j'aurais plutôt fait ça comme ça :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//FR" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>COMMANDE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
table {
width:100%;
border-color:#808080;
border-style:solid;
border-collapse:collapse;
text-align:center;
}
th {
text-align:center;
background-color:#CCFFCC;
font-weight:bold;
}
</style>
</head>

<form method="post" action="test.php">
<!-- Entete -->
Num&eacute;ro |
Liste |
D&eacute;signation |
Prix |
Remarque |
Qt&eacute; |
Ajouter |

<?php
//Requete de recherche de tous les articles pour affichage dans le tableau
$requete ='SELECT * FROM produits'
;
$resaffiche=mysql_query($requete) or die ('Erreur lors de l\'exectution de la requete'
);
$numLigne=0
;
while ($ligne=mysql_fetch_array($resaffiche
))
{
$numLigne
++;
echo '----

',$ligne['numero'],
',
',$ligne['liste'],
',
',$ligne['designation'],
',
',$ligne['prix'],
',
',$ligne['remarque'],
',
,$numLigne,
']" type="text" size="5" />,
,
';
}
?>



</form>

</html>

Avec un seul bouton à la fin pour tout envoyer d'un coup, non ?
En fait, ça dépend de ta table «commande», as-tu un enregistrement par commande, ou un enregistrement par ligne de commande ?
Au passage, essaye de noter toutes les différences pour rendre le code un peu plus propres

Arn;o)
Messages postés
445
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
22 mars 2007
1
bataille !
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
bataille ?

$numLigne=0
;
$numLigne++;
"qte[', $numLigne, ']"

Pourquoi ne pas faire directement "qte[]" ou si'il y a un id : "qte[', $ligne['id'], ']"


<HR width="100%" SIZE=2>
Si ma reponse te convient, merci de l'accepter !
Messages postés
445
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
22 mars 2007
1
jojo> «bataille» comme au jeu de carte, qd tu poses la même carte en même tps que qqn d'autre, il faut dire "bataille". Là on avait poster presqu'en même tps... c'était juste une petite note d'humour sans prétention, idéal pour la fin de la semaine ;o)

Effectivement, $qte[] c'est bien mieux. Pas besoin de $numLigne.

Qu'est-ce qu'il en dit langkif ?

Arn;o)
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Ah, ok. Je n'avais pas fait le lien ... .
Sinon, non, ton code à toi est bien mieux !


<HR width="100%" SIZE=2>
Si ma reponse te convient, merci de l'accepter !