[RESOLU] requête SQL difficile à formuler

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] requête SQL difficile à formuler

Re: requête SQL difficile à formuler

par caema » 05 janv. 2014, 12:11

bonjour,
(dans le cas où je veux les images du slider d'id 2 par exemple)
si tu souhaites afficher les images du slider dont l'id est 2 :
SELECT images.id, images.name, images.slider_id
FROM images
 INNER JOIN sliders ON sliders.id = images.slider_id
WHERE sliders.id = 2;
C'est bien de cette manière que je dois formuler ma requête, il faut juste que
WHERE sliders.id = 2;
soit rendu dynamiquement maintenant, afin que le slider d'id 1 se place bien sur la bonne page ;-)

Re: requête SQL difficile à formuler

par yann18 » 04 janv. 2014, 20:33

bonjour,
(dans le cas où je veux les images du slider d'id 2 par exemple)
si tu souhaites afficher les images du slider dont l'id est 2 :
SELECT images.id, images.name, images.slider_id
FROM images
 INNER JOIN sliders ON sliders.id = images.slider_id
WHERE sliders.id = 2;

Re: requête SQL difficile à formuler

par caema » 04 janv. 2014, 20:22

Je viens de tester votre requête dans phpMyAdmin, et j'obtiens exactement le même résultat qu'avec la requête précédente...
Est-ce normal?

Néanmoins, merci de vous pencher sur le sujet, c'est très aimable

Re: requête SQL difficile à formuler

par niuxe » 04 janv. 2014, 19:33

mais cela sélectionne en fait TOUTES les images présentes dans ma table images.
d'où le left join ou right join

ta requête est largement plus simple à faire :
SELECT
	i.id,
	i.name, 
	i.slider_id
FROM 
	images i,
	sliders s
WHERE
	s.id = i.slider_id

requête SQL difficile à formuler

par caema » 04 janv. 2014, 17:40

Bonjour à tous,

Je viens à vous car j'ai du mal à concevoir ma requête SQL pour les besoins d'un slider administrable en PHP.
Je vous expose vite fait ce que j'ai mis en place:

Je souhaite avoir une gestion dynamique des sliders pour le futur administrateur du site.
Il pourra donc ajouter/modifier/supprimer un slider à une page.
Pour cela, j'ai 2 tables:

table images
  • id
  • name: nom de l'image
  • slider_id: id du slider dans lequel l'image se trouvera
table sliders
  • id
  • name: nom de mon slider
  • page_id: id de la page sur laquelle sera présent le slider
J'ai ensuite écrit cette requête:
SELECT images.id, images.name, images.slider_id
FROM images
LEFT JOIN sliders ON sliders.id = images.slider_id
J'espérais qu'elle me permette de sélectionner toutes les images contenues dans un slider,
mais cela sélectionne en fait TOUTES les images présentes dans ma table images.

Donc en gros, j'ai ce résultat:
id name slider_id
1 30.jpg 1
2 31.jpg 1
3 32.jpg 1
4 33.jpg 2
5 34.jpg 2

Alors que je voudrais:
id name slider_id
4 33.jpg 2
5 34.jpg 2
(dans le cas où je veux les images du slider d'id 2 par exemple)

Voilà, j'espère avoir bien exposé mon problème, j'avoue que ce n'est pas facile d'aller au plus simple lol
Pourriez-vous m'aider à résoudre ce problème?

D'avance merci à vous!