Question sur methodologie php pour requete while

Eléphant du PHP | 450 Messages

20 nov. 2006, 15:04

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
Modifié en dernier par castelli le 23 nov. 2006, 12:12, modifié 1 fois.
Alone in the dark , I smile :D

Mammouth du PHP | 19672 Messages

20 nov. 2006, 15:11

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 1961 Messages

20 nov. 2006, 15:13

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.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 450 Messages

20 nov. 2006, 15:28

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 :) )
Alone in the dark , I smile :D

ViPHP
ViPHP | 1961 Messages

20 nov. 2006, 16:20

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.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein