Jointure et pb d'affichage

Résolu
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006 - 30 nov. 2005 à 10:08
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006 - 30 nov. 2005 à 16:32
J'ai une requete qui me permet d'afficher les secteurs et les sous secteurs correspondants, ça marche très bien, sauf qu'il ya un secteur qui s'affiche deux fois et je ne comprends pas pourquoi?
voila mon code:
$reqmysql_query ("select s.nomsec, ss.nomsous from secteur s, soussecteur ss where s.id ss.idsect");


$num=mysql_num_rows($req);


$nomsec_actuel = null; //Mémoire du secteur en cours
$i=0; //Compteur des secteurs imprimés


//Lecture du résultat
while($res = mysql_fetch_array($req))
{
//Eviter d'imprimer le nom du secteur plusieurs fois
if($res["nomsec"] != $nomsec_actuel) {
//Nouvelle ligne après 2 colonnes ou si première fois
if ($i % 2 == 0) echo "<tr>";
//Afficher le nom du secteur dans une céllule
?>
<td> <? echo $res["nomsec"]; ?>

<?
//Mémoriser le secteur en cours
$nomsec_actuel = $res["nomsec"];
//Incrémenter le compteur des secteurs
$i++;
} ?>


[entreprise.php <? echo $res["nomsous"].","; ?> ]


<? //Au suivant
}
?>


</table>
en fait je remarque que dans ma base que les sous secteurs de ce secteur(qui se répète 2 fois ne sont pas successifs).Je doit réinserer les enregistrement de ma base?
Merci de m'aider

10 réponses

refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
30 nov. 2005 à 12:45
Non j'ai pas raison, en fait je dois ordonner ma table par "idsous". et ça résoud tout."manque d'expérience"


Merci et a+
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 nov. 2005 à 12:47
Ah oui tu enregistres les secteurs dans un tableau...pourquoi pas.
Pourquoi tu ne fais pas ceci :
SELECT
s.nomsec,
ss.nomsous
FROM
secteur s,
soussecteur ss
WHERE
s.id = ss.idsect
ORDER BY
s.id
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 nov. 2005 à 11:43
Hello,

ta requête est correcte. Mais il est normal que tu récupères autant de fois 1 secteur qu'il possède de sous-secteurs.
S'il y a 3 sous-secteurs (1, 2 et 3) pour le secteur A, comme tu demandes le nom du secteur et le nom du sous-secteur, les enregistrements renvoyés par SQL vont être :
A 1
A 2
A 3
C'est tout à fait normal.
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
30 nov. 2005 à 12:08
merci pour ta réponse, mais ce que j'ai comme résultat c'est ça:
A1 A2
sous1A1, sous2A1, sous1A2, sous2A2,.....
............

C'est tout à fait ce que je, mais il ya une redondance d'un seul secteur Ax, qui s'affiche 2 fois
c'est à dire
Ax Ax
sous1Ax, sous2Ax sous3Ax, sous3Ax,....

(Et pas de redondance de sous secteur) c'est comme il se divise en deux partie ce secteur! et je remarque que dans ma base et pour la table soussecteur, les sous secteur de ce secteur ne sont pas enregistrès l'un après l'autre, donc au niveau de l'affichage, je constate que mon secteur se divise selon l'ordre d'enregistrement dans ma base, pour cela j'ai pensé de réinsérer mes enregistrement.
J'ai raison ou pas?

Merci pout votre aide

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 nov. 2005 à 13:13
Tu avais trouvé tte seule :-)
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
30 nov. 2005 à 13:37
Oui ça marche aussi!
Merci beaucoup Malalam.
je sais pas si je peux poser une autre question ici?
Bon je vais la poser:
J'ai un script qui me permet d'uploader une image, ça marche très bien, sauf que je veux limiter le width et le height de l'image lors de l'upload.
Merci encore une fois
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 nov. 2005 à 13:54
C'est à dire que tu veux que l'on puisse uploader uniquement une image de taille précise ?
Tu devras l'uploader d'abord...ensuite tu pourras vérifier sa taille avec la fonction getimagesize() (vas voir sur la doc). Et si ele convient, tu dis que c'est ok, sinon, tu dis à l'utilisateur que la taille n'est pas correcte, et tu l'effaces de ton serveur.
Une autre solution..tu sais qu'avec GD tu peux très bien redimensionner une image? Donc accepter toutes les tailles, et redimensionner si ça ne te convient pas.
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
30 nov. 2005 à 14:25
C'est à dire que tu veux que l'on puisse uploader uniquement une image de taille précise ?=> oui
Mais je préfère ta deuxieme solution.
C'est un programme à uploader, si oui, tu peux me donner un url, pour l'uploader?.
Merci
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 nov. 2005 à 16:19
Non GD c'est la librairie graphique de php. : http://fr2.php.net/gd
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
30 nov. 2005 à 16:32
comme j'etais betes!
alors s'il te plait est ce que tu peux m'expliquer un peu plus?
j'ai trouvé des document qui parle de la fonction resize mais j'ai pas pu la mettre dans mon code.
Merci
Rejoignez-nous