Recuperer donnée mysql dans tableau php

Résolu
renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007 - 22 avril 2007 à 15:28
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013 - 22 avril 2007 à 23:51
Hello tout le monde, J'ai un petit soucis,(qui n'en a pas) avec un de mes codes en php. Je vous explique.

Je dois crée une page de gestion de code pour des produits avec une
famille, une sous famille et le code correspondant. Dans une Famille,
il peu y'avoir plusieur article, et donc plusieur code different.

J'ai donc une page qui me permet d'ajouter dans une base de donnée les information utiles article par article.

Ensuite je veux que ma page principale affiche les données récuperés
dans la Bdd, et me les met sous forme de tableau, qu'il range les
grande familles par ordre alphabetique, et qu'il me fasse un tableau
par famille avec toutes les sous familles.

exemple.

---------------------------------------

|  Salade         |  Blonde         | 5687    |

|                     |  Frisé            | 4568    |

---------------------------------------

---------------------------------------


|  Tomate       |  Ronde          | 1234    |


|                    | Grappe          | 1244    |


---------------------------------------


Et ainsi de suite.


Voici ma source pour ma page index.php


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Index</title>

</head>








  <? include('header.php')?>



   ----

      Grande Famille Principal,

      Sous Famille ou vari&amp;eacute;t&amp;eacute;s,

      Code Produit,

   




  


  

  <?

require("config.inc.php3");


$db = @mysql_connect("$dbhost", "$dblogi", "$dbpass") OR
DIE("

<center>Désolé, la Base est Down
...</center>");

@mysql_select_db("$dbbase",$db) OR
DIE("

<center>Désolé, la Base n'est pas accessible
...</center>");


$req = MYSQL_QUERY("SELECT * FROM $TBL_code ORDER BY id DESC LIMIT 0, $limit_news");

$res = MYSQL_NUM_ROWS($req);


$i=0;

WHILE($i!=$res)

{

$id         = mysql_result($req,$i,"id");

$GdeFamille = stripslashes(trim(mysql_result($req,$i,"GdeFamille")));

$SsFamille  = stripslashes(trim(mysql_result($req,$i,"SsFamille")));

$Code       = stripslashes(trim(mysql_result($req,$i,"Code")));


?>

  

  <?

/*

<script language="JavaScript">

function PrintNews(data){

window.open('print_news.php3?news='+data,'Imprimer','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=0,width=620,height=450,left=0,top=0');

}

</script>*/?>

  

  

  

  </table>

  

  </td>

  </tr>



    ----

      <? echo $GdeFamille ?>,

      <? echo $SsFamille ?>,

      <? echo $Code ?>,

   


<?

 $i++;

}

?>





     <? include('footer.php');

 ?>

  



</html>

16 réponses

renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007
22 avril 2007 à 23:28
En tout les cas je te remercie de ton aide.

Je classe le sujet comme reponse accepté, mais si quelqu'un connais la soluce.
3
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
22 avril 2007 à 21:03
operso je ferais la requete de la façon suivante:

d'abord tu fais un select distinct famille from...order by famille asc pour avoir la liste des différentes familles

ensuite pour chaque famille recuperee ainsi tu fais un select * from produits where famille=famille_recuperee_avant order by nom asc

voila
0
renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007
22 avril 2007 à 22:05
J' ai pas tout a fais bien saisi le truc, je ne suis que debutant, j'arrive a faire des trucs assez complexe mais je ne connais pas en tous sur tous au niveau du mysql.
Si tu peu m'eclaircir un p'tit peu.
Merci
0
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
22 avril 2007 à 22:25
enf ait tu peux aussi le faire en une seule requete... tout est a faire avec le classement de tes resultats (order by mon ami...)

"SELECT * FROM $TBL_code ORDER BY GdeFamille,SsFamille ASC LIMIT 0, $limit_news"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007
22 avril 2007 à 22:33
Pour la mise en ordre alphabetique sa fonctionne je te remerci.
Maintenant je voudrai savoir s'il était possible de n'avoir qu'une seule fois marquée la grande famille avec a coté les sous famille correspondante.
Je m'explique, Si j'ai plusieur sorte de salade, dans mon tableau j'ai une ligne marqué salade avec sa sous famille, la ligne suivante me remet salade avec son autre sous famille.
Est il possible qu'il ne marque qu'une seule foi salade,  et me fasse  autant de ligne qu'il n'ya de sous variété?
0
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
22 avril 2007 à 22:59
soit tu le fais comme expliqué plus haut en 2 requetes soit tu ruses...

la ruse c est ca:

au debut tu defini $gfamille='';
ensuite tu fais:

if($row['GdeFamille']!=$gfamille){
// c est la premier foi ke t as cette famille
echo $row['GdeFamille'];
$gfamille=$row['GdeFamille']
}
0
renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007
22 avril 2007 à 23:11
Ca me met des erreur, j'ai fait un define ($gfamille='');
Puis j'ai mis le code que tu ma donnée, et voici ce qu'il me retourne.
Wrong parameter count for define() in /mnt/143/sda/9/f/peryann2002/gestion/index.php
Est ce que tu voi le pourquoi de la chose, est ce que ce serai pas le define qui ne serai pas bon?
En tout cas je te remerci pour ton aide
0
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
22 avril 2007 à 23:22
je sais pas,. j utilise pas define, t en as pas besoin ds ce cas la
0
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
22 avril 2007 à 23:25
en plus on veut pas une constante...
0
renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007
22 avril 2007 à 23:26
non, c'est une variable, du moin je pense
0
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
22 avril 2007 à 23:33
bah du coup c est normal de pas utiliser define, qui est justement pour definir une constante...
0
renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007
22 avril 2007 à 23:37
Le truc c'est que le tableau devrai avoir une seule ligne pour une meme grande famille, mais un ligne ne multiligne afin d'avoir les sous familles.
0
renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007
22 avril 2007 à 23:38
Tient je met le lien si tu veux voir ce que ca donne.
Ici
0
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
22 avril 2007 à 23:40
il faut mettre ça dans ta premiere colonne, comme ca soit t as le nom de la famille soit un espace

if($row['GdeFamille']!=$gfamille){
// c est la premier foi ke t as cette famille
echo $row['GdeFamille'];
$gfamille=$row['GdeFamille']
}else{
echo " "
}
0
renouveaux Messages postés 20 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 28 octobre 2007
22 avril 2007 à 23:48
Quand je met le code que tu vien de me donner je n'ai plus rien d'ecrit dans mes grandes familles.
C'est comme si pour chaque ligne il passe directement au else.
0
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
22 avril 2007 à 23:51
verifie le nom de la colonne (GdeFamille), car s'il est faux, t as forcement que c'est egal avec la chaine vide donc else...
0
Rejoignez-nous