Recuperer donnée mysql dans tableau php [Résolu]

renouveaux 20 Messages postés samedi 24 juillet 2004Date d'inscription 28 octobre 2007 Dernière intervention - 22 avril 2007 à 15:28 - Dernière réponse : JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention
- 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>

Afficher la suite 

Votre réponse

16 réponses

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

Je classe le sujet comme reponse accepté, mais si quelqu'un connais la soluce.

Merci renouveaux 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de renouveaux
JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention - 22 avril 2007 à 21:03
0
Merci
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
Commenter la réponse de JulSoft
renouveaux 20 Messages postés samedi 24 juillet 2004Date d'inscription 28 octobre 2007 Dernière intervention - 22 avril 2007 à 22:05
0
Merci
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
Commenter la réponse de renouveaux
JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention - 22 avril 2007 à 22:25
0
Merci
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"
Commenter la réponse de JulSoft
renouveaux 20 Messages postés samedi 24 juillet 2004Date d'inscription 28 octobre 2007 Dernière intervention - 22 avril 2007 à 22:33
0
Merci
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é?
Commenter la réponse de renouveaux
JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention - 22 avril 2007 à 22:59
0
Merci
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']
}
Commenter la réponse de JulSoft
renouveaux 20 Messages postés samedi 24 juillet 2004Date d'inscription 28 octobre 2007 Dernière intervention - 22 avril 2007 à 23:11
0
Merci
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
Commenter la réponse de renouveaux
JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention - 22 avril 2007 à 23:22
0
Merci
je sais pas,. j utilise pas define, t en as pas besoin ds ce cas la
Commenter la réponse de JulSoft
JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention - 22 avril 2007 à 23:25
0
Merci
en plus on veut pas une constante...
Commenter la réponse de JulSoft
renouveaux 20 Messages postés samedi 24 juillet 2004Date d'inscription 28 octobre 2007 Dernière intervention - 22 avril 2007 à 23:26
0
Merci
non, c'est une variable, du moin je pense
Commenter la réponse de renouveaux
JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention - 22 avril 2007 à 23:33
0
Merci
bah du coup c est normal de pas utiliser define, qui est justement pour definir une constante...
Commenter la réponse de JulSoft
renouveaux 20 Messages postés samedi 24 juillet 2004Date d'inscription 28 octobre 2007 Dernière intervention - 22 avril 2007 à 23:37
0
Merci
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.
Commenter la réponse de renouveaux
renouveaux 20 Messages postés samedi 24 juillet 2004Date d'inscription 28 octobre 2007 Dernière intervention - 22 avril 2007 à 23:38
0
Merci
Tient je met le lien si tu veux voir ce que ca donne.
Ici
Commenter la réponse de renouveaux
JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention - 22 avril 2007 à 23:40
0
Merci
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 " "
}
Commenter la réponse de JulSoft
renouveaux 20 Messages postés samedi 24 juillet 2004Date d'inscription 28 octobre 2007 Dernière intervention - 22 avril 2007 à 23:48
0
Merci
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.
Commenter la réponse de renouveaux
JulSoft 354 Messages postés dimanche 3 juin 2001Date d'inscription 11 mars 2013 Dernière intervention - 22 avril 2007 à 23:51
0
Merci
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...
Commenter la réponse de JulSoft

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.