REQUETE [Résolu]

Signaler
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006
-
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006
-
salut !

j'ai une page où j'affiche quelques valeurs de 2 tables liées. Il y a une table ouvrage (valeurs affichée : nom, prenom, objet) et une table photos (valeurs affichées : image1 et des_image1). lorsque je clique sur la photo ou le nom de l'ouvrage, une nouvelle fenêtre s'ouvre où s'affiche les infos détaillées de l'ouvrage cliqué.

Tous les champs de ma table ouvrage sont renseignés tandis que les champs de ma table photos ne sont pas tous renseignés (il y a 10 champs de chaque, càd image1, image2,...image10 et des_image1,..., des_image10 pour ma table photos). Pour compliquer la chose, je veux afficher toutes ces données dans un joli tableau tout bien dimensionné et colorié. Pour structurer la partie de mon tableau où les champs de la table ouvrage sont affichés, no problems ! Là où ça se complique, c'est pour afficher les valeurs de ma table photos. Je m'explique :

Ce que je veux faire, c'est afficher 4 lignes si dans mon id_photos il y a les 4 premiers champs enregistrés (image1, image2, image3 et image4) ou n'afficher qu'une seule ligne si dans mon id_photo il n'y a que le champs image1 qui est renseigné.

Comment faire ? merci à tous

Demandez-moi si vous voulez des codes.

kenny #18

4 réponses

Messages postés
88
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
19 mai 2006

Hmmmm moi je le verrai comme ca, a moins que tu n'es deja essaye de
passer ta boucle sous cette forme, c'est peut etre un peu lourd mais y
a peut etre moyen de l'alleger apres :



<- ouvre ta table avant la boucle

<?
$sql\"SELECT * FROM photos WHERE id_photos '2' \" <- ta requete

$result = mysql_query($sql) or die(' '.$error.' : '.$sql.'
'.mysql_error());

while ($data = mysql_fetch_array($result))

{

if (!empty($data['image1'] & $data['des_image1'])) {

echo
'----
'.$data['image1'].', '.$data['des_image1']., ';

}

/*et tu repete la condition if pour le nombre de champs dans ta table,
comme ca la boucle test si les champs sont vide et si il ne le sont pas
les affiches dans le tableau, ligne par ligne. voila j'espere t'avoir
aide*/

}

?>
Messages postés
88
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
19 mai 2006

Salut,



J'ai un peu de mal a voir ce que tu veux faire en fait .... Pourrais-tu effectivement mettre un bout de code ?
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006

En fait, pour faire plus court et plus simple, ce n'est pas la liaison entre les tables ni la récupération des valeurs de mes tables mais l'affichage dans un tableau qui me pose problème.

pour récupérer toutes mes infos, je fais la traditionnelle requête "SELECT * FROM photos WHERE id_photos = '2'". Ca va m'afficher tous les champs renseignés de ma table de l'id_photo 2. Jusque là, on est d'accord.
Je veux afficher ces données dans un tableau. Disons que ce tableau est composé de 2 colonnes. Colonne 1 images et Colonne 2 description de l'image.

Je recherche quelle boucle me permettra de n'afficher que 2 lignes de mon tableau si il n'y a que "image1, image2 et des_image1, des_image2" qui sont renseignés dans ma table pour l'id_photo 2. J'ai mis 2 lignes à titre d'exemple, mais il y a des id_photos ou il y aura 8 lignes ou qu'une ligne, etc...

c'est plus compréhensible ? parce qu'en fait, je n'ai pas les codes sur ce postes mais au travail !

merci

kenny #18
Messages postés
116
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
30 août 2006

hoi murrigane,

merci pour ton code ! je l'ai un peu "bidouiller" à ma sauce et sa marche nickel, c'est pourquoi j'ai mis réponse acceptée !

encore merci !

kenny #18