Page 1 sur 1

Question sur methodologie php pour requete while

Posté : 20 nov. 2006, 15:04
par castelli
Bonjour je vous ecris car j'ai une question sur le moyen d'arriver a mon resultat .

Je suis actuellement en train de creer un site qui gere la gestion des stocks d'une entreprise de chimie avec une automatisation de la commande.

Pour le moment j'affiche le resultat de ma table commande sur la page et on me demande d'afficher un tableau par fournisseur hors je ne sait comment gerer sa (quel fonction appelé , la methodologie a adapté etc..)

Ma table est celle ci

la table commande2(numero_cass,fournisseur,prix,quantite,nombre_quantite,nom,date,prix_local,initiale,reference,reference_fournisseur,equipe)


voici la requete que j'effectue pour traiter la demande :

$select = "SELECT * from commande2 ";

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

et voila l'affichage de mon tableau :
echo "<h3><strong>Table des commandes</strong></h3>";

echo "<strong> Nous sommes le $date2 et a ce jour il y a $re commandes :</strong>";

echo "<BR><FORM method=\"POST\" action='commande.php'><table border=1>";

echo "<TR bgcolor=\"#CCFFCC\"><th>Nom</th><th>Référence</th><th>Quantité</th><th>Nombre d'unité</th><th>Fournisseur</th><th>Reference fournisseur</th><th>Prix à l'unité</th><th>Prix total</th><th>Prix avec reduction</th><th>Numero de cas</th><th>Date</th><th>initiale</th><th>Commande</th></tr>";

echo"<tr>
<td><font face='Verdana' size='2'>$nom</font></td>

<td><font face='Verdana' size='2'>".$voir['reference']."</font></td> 

<td><font face='Verdana' size='2'>".$voir['quantite']."</font></td>

<td><font face='Verdana' size='2'>" .$voir['nombre_quantite']. "</font></td>


<td><font face='Verdana' size='2'>" .$voir['fournisseur']. "</font></td>

<td><font face='Verdana' size='2'>" .$voir['reference_fournisseur']. "</font></td>


<td><font face='Verdana' size='2'>" .$voir['prix']. "</font></td>

<td><font face='Verdana' size='2'>" .$voir['prix_total']. "</font></td>

<td><font face='Verdana' size='2'>$reduction</font></td>

<td><font face='Verdana' size='2'>" .$voir['numero_cass']. "</font></td>

<td><font face='Verdana' size='2'>" .$voir['date']. "</font></td>

<td><font face='Verdana' size='2'>" .$voir['initiale']. "</font></td>
<td class=\"truc\"><font face='Verdana' size='2'><div style=\"text-align:left;\">

<select name=\"commande[]\">

<option value=\"rien\"></option>
<option value=\"effectuee\">Effectuée</option>
<option value=\"annulee\">Annulée</option>
je n'ais pas mis les données qui ne servent pas pour ne pas surcharger le topic

(ce que j'ais coder en ce moment marche bien donc pas de soucis )

enfin voila

quelqun pourrait il me donner un coup de main ?
Merci d'avance

Posté : 20 nov. 2006, 15:11
par Cyrano
J'ai beau relire ton sujet, je ne trouve pas la question, enfin à part celle demandant un coup de main. On peut sûrement, mais un coup de main pour effectuer quoi au juste ??? :-k

Posté : 20 nov. 2006, 15:13
par Ajoloca
Bonjour,

Tu ajoutes la clause 'GROUP BY' dans ta requête, QQ chose du style.
$select = "SELECT * FROM commande2 GROUP BY fournisseur";
Tu construit ton (tes) tableau(x) dynamiquement en détectant le changement de fournisseur.

Posté : 20 nov. 2006, 15:28
par castelli
Voila Ajoloca a compris ma question :)

en faite je réexplique c'est de creer un tableau de commande pour chacun des fournisseurs alors que pour l'instant je n'ais qu'un seul tableau avec aucun traitement dessus

Ajoloca a dis:
Tu construit ton (tes) tableau(x) dynamiquement en détectant le changement de fournisseur
et c'est ce que je veux faire hors je ne c'est pas comment m'y prendre
Voila ma question :

Comment je fais :)
lol

Merci encore (et desolé pour mes explications pas trés trés claire :) )

Posté : 20 nov. 2006, 16:20
par Ajoloca
Re,
Tu fais une boucle while() dans une boucle for().
La boucle for détectera la fin des enregistrements et la boucle while le changement de fournisseur.
Pour avoir la valeur de fin de la boucle for tu peux utiliser mysql_num_rows()
Pour la boucle while() tu conserves (avant d'entrer) la valeur fournisseur et ta condition de sortie c'est si le nouveau fournisseur != de l'actuel.