Jointure de tables PHP/MySQL
Résolu
Delphine97224
Messages postés
99
Date d'inscription
Statut
Membre
Dernière intervention
-
imw Messages postés 233 Date d'inscription Statut Membre Dernière intervention -
imw Messages postés 233 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais créer une galerie pour mon site web. Je veux faire une page avec seulement des icones et des catégories et en cliquant sur l'image où le nom de la galerie on aurait accès à la page avec les photos de cette catégorie.
Un exemple : Sur la page avec la liste des catégories, il y a animaux de savanes, portraits dans la ville. Je veux qu'en cliquant sur l'icone ou "animaux de savanes" que l'internaute accède aux photos des animaux.
Voilà ce que j'ai fait pour l'instant mais ça ce ne passe pas.
<ul class="liste_icones">
<?php
$solution = mysql_query('SELECT * FROM categorie, images where images.id_categorie = categorie.id');
while ($resultats = mysql_fetch_array($solution));
{
?>
<li>
<?php echo '<a href="galerie-par-categorie.php?id_categorie=' .$resultats['id'] . '">'; ?>
<img src="images/galerie/icones/<?php echo $resultats['icone']; ?>.png" alt="" />
<br /><span class="font-icone"><?php echo $resultats['nom']; ?></span>
</a>
</li>
<?php
}
?>
</ul>
Je vous remercie pour votre précieuse aide
Je souhaiterais créer une galerie pour mon site web. Je veux faire une page avec seulement des icones et des catégories et en cliquant sur l'image où le nom de la galerie on aurait accès à la page avec les photos de cette catégorie.
Un exemple : Sur la page avec la liste des catégories, il y a animaux de savanes, portraits dans la ville. Je veux qu'en cliquant sur l'icone ou "animaux de savanes" que l'internaute accède aux photos des animaux.
Voilà ce que j'ai fait pour l'instant mais ça ce ne passe pas.
<ul class="liste_icones">
<?php
$solution = mysql_query('SELECT * FROM categorie, images where images.id_categorie = categorie.id');
while ($resultats = mysql_fetch_array($solution));
{
?>
<li>
<?php echo '<a href="galerie-par-categorie.php?id_categorie=' .$resultats['id'] . '">'; ?>
<img src="images/galerie/icones/<?php echo $resultats['icone']; ?>.png" alt="" />
<br /><span class="font-icone"><?php echo $resultats['nom']; ?></span>
</a>
</li>
<?php
}
?>
</ul>
Je vous remercie pour votre précieuse aide
A voir également:
- Jointure de tables PHP/MySQL
- Tables des matières word - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Tables ascii - Guide
- Expert php pinterest - Télécharger - Langages
7 réponses
Si dans ta requête sql tu précise une catégorie, alors tu n'aura que celle là.
pour le reste c'est normal qu'il ne trouve pas catégorie si tu ne lui fait pas passer l'info :
nomdetapage.html?categorie=17
pour éviter les problème tu peux faire ça :
Comme ça, il te sors toutes les photos ... sauf si tu précise une catégorie !
pour le reste c'est normal qu'il ne trouve pas catégorie si tu ne lui fait pas passer l'info :
nomdetapage.html?categorie=17
pour éviter les problème tu peux faire ça :
$catsql = (!empty($_REQUEST['categorie'])) ? 'AND categorie.id="'.intval($_REQUEST['categorie']).'"'; $solution = mysql_query("SELECT * FROM categorie, images where images.id_categorie = categorie.id $catsql");
Comme ça, il te sors toutes les photos ... sauf si tu précise une catégorie !
exact ... c'est l'opérateur ternaire, j'ai oublié la fin ...
$catsql = (!empty($_REQUEST['categorie'])) ? 'AND categorie.id="'.intval($_REQUEST['categorie']).'"' : '';
voir :
https://www.commentcamarche.net/contents/787-php-structures-conditionnelles
Pour le reste, si j'ai bien compris, tu veux une première page ou on affiche la liste des catégories. et ensuite en cliquant sur l'une d'entre elle, on arrive aux photos de cette catégorie.
Pour la page 2, bien sur, tu complète le echo par ce que tu veux afficher.
Comme d'habitude, je ne l'ai pas testé, alors si y'a des erreurs, tu cherche d'où ça viens ...
$catsql = (!empty($_REQUEST['categorie'])) ? 'AND categorie.id="'.intval($_REQUEST['categorie']).'"' : '';
voir :
https://www.commentcamarche.net/contents/787-php-structures-conditionnelles
Pour le reste, si j'ai bien compris, tu veux une première page ou on affiche la liste des catégories. et ensuite en cliquant sur l'une d'entre elle, on arrive aux photos de cette catégorie.
page 1 : <ul class="liste_icones"> <?php $categories = mysql_query('SELECT * FROM categorie'); while ($resultats = mysql_fetch_array($categories)) { echo "<li><a href='galerie-par-categorie.php?id_categorie=$resultats[id]'><img src='images/galerie/icones/$resultats[icone].png' alt='' /> <br /><span class='font-icone'>$resultats[nom]</span> </a></li>"; } ?> </ul> page 2 : $images = mysql_query("SELECT * FROM images where id_categorie = ".intval($_REQUEST['id_categorie']); while ($resultats = mysql_fetch_array($categories)) { echo $resultat['nom'] ; }
Pour la page 2, bien sur, tu complète le echo par ce que tu veux afficher.
Comme d'habitude, je ne l'ai pas testé, alors si y'a des erreurs, tu cherche d'où ça viens ...
il faut juste que tu précise la catégorie recherchée dans la requête ...
$cat = $_REQUEST['cat'] // récupère la catégorie sélectionnée par l'utilisateur
et dans la requête ajoute à la fin :
AND categorie.id='$cat'
ça suffit pour ne sortir que les images de cette catégorie
$cat = $_REQUEST['cat'] // récupère la catégorie sélectionnée par l'utilisateur
et dans la requête ajoute à la fin :
AND categorie.id='$cat'
ça suffit pour ne sortir que les images de cette catégorie
Je te remercie pour ta réponse.
J'ai mis ça :
<ul class="liste_icones">
<?php
$categorie = $_REQUEST['categorie']
$solution = mysql_query('SELECT * FROM categorie, images where images.id_categorie = categorie.id AND categorie.id="$categorie"');
while ($resultats = mysql_fetch_array($solution));
{
?>
<li>
<?php echo '<a href="galerie-par-categorie.php?id_categorie=' .$resultats['id'] . '">'; ?>
<img src="images/galerie/icones/<?php echo $resultats['icone']; ?>.png" alt="" />
<br /><span class="font-icone"><?php echo $resultats['nom']; ?></span>
</a>
</li>
<?php
}
?>
</ul>
ça me renvoie ça :
Parse error: parse error, unexpected T_VARIABLE in C:\Program Files\EasyPHP 2.0b1\www\galerie\mes-photos.php on line 27
à la ligne où il y a ma requête
J'ai mis ça :
<ul class="liste_icones">
<?php
$categorie = $_REQUEST['categorie']
$solution = mysql_query('SELECT * FROM categorie, images where images.id_categorie = categorie.id AND categorie.id="$categorie"');
while ($resultats = mysql_fetch_array($solution));
{
?>
<li>
<?php echo '<a href="galerie-par-categorie.php?id_categorie=' .$resultats['id'] . '">'; ?>
<img src="images/galerie/icones/<?php echo $resultats['icone']; ?>.png" alt="" />
<br /><span class="font-icone"><?php echo $resultats['nom']; ?></span>
</a>
</li>
<?php
}
?>
</ul>
ça me renvoie ça :
Parse error: parse error, unexpected T_VARIABLE in C:\Program Files\EasyPHP 2.0b1\www\galerie\mes-photos.php on line 27
à la ligne où il y a ma requête
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je te remercie encore, ça me dit maintenant :
Notice: Undefined index: categorie in C:\Program Files\EasyPHP 2.0b1\www\galerie\mes-photos.php on line 26
pour la ligne où il a $categorie = $REQUEST['categorie'];
Là c'est la page où j'ai mis les categories, est-ce que je ne devrais pas mettre $categorie sur la page où il y a les photos de cette categorie ?
Autre chose, je n'ai plus toutes mes categories qui s'affichent mais seulement la première. :S
Je te remercie de m'aider car je galère un peu.
Notice: Undefined index: categorie in C:\Program Files\EasyPHP 2.0b1\www\galerie\mes-photos.php on line 26
pour la ligne où il a $categorie = $REQUEST['categorie'];
Là c'est la page où j'ai mis les categories, est-ce que je ne devrais pas mettre $categorie sur la page où il y a les photos de cette categorie ?
Autre chose, je n'ai plus toutes mes categories qui s'affichent mais seulement la première. :S
Je te remercie de m'aider car je galère un peu.
Je suis sur la page où il a toutes les catégories. Ce que je veux c'est que toutes les catégories s'affichent mais quand la personne cliquera sur l'icone ou le nom de cette catégorie, elle aura accès aux photos de cette catégorie.
Donc il faut toujours que toutes les catégories s'affichent.
Après le clic la personne arrive sur la page où il y a toutes les photos de la categorie A car elle a cliqué sur A. Voilà ce que je veux en fait.
Le code que tu m'as donné renvoie ça :
Parse error: parse error, unexpected ';' in C:\Program Files\EasyPHP 2.0b1\www\galerie\mes-photos.php on line 26
sur la ligne où il y a $catsql.
Désolée de t'embêter encore une fois :S
Donc il faut toujours que toutes les catégories s'affichent.
Après le clic la personne arrive sur la page où il y a toutes les photos de la categorie A car elle a cliqué sur A. Voilà ce que je veux en fait.
Le code que tu m'as donné renvoie ça :
Parse error: parse error, unexpected ';' in C:\Program Files\EasyPHP 2.0b1\www\galerie\mes-photos.php on line 26
sur la ligne où il y a $catsql.
Désolée de t'embêter encore une fois :S