Il est possible de faire un ORDER BY sur une chaine de caractère.
Est il possible de fairedans une requête pour avoir l'image suivante`img_url` < "'Bacacp.jpg'"
Il est possible de faire un ORDER BY sur une chaine de caractère.
Est il possible de fairedans une requête pour avoir l'image suivante`img_url` < "'Bacacp.jpg'"
salut,
cela va te faire des comparaisons sur les chaines de caractères. donc cette syntaxe devrait fonctionner
Après qu'appelles tu image suivante? sur quel critère tu te bases?
Si la colonne `img_url` contient par exemple 'abc.jpg', votre opération logique donnera un résultat. Mais elle retiendra toutes les url qui sont alphabétiquement placées avant 'Bacacp.jpg' et pas seulement celle placée immédiatement avant.
Mais définir une 'image suivante' n'a pas de sens en SQL sauf à définir un critère de classement basé par exemple sur un horodatage ou une numérotation séquentielle.
Les images ont des noms totalement aléatoire, par exemple :
- 1215443-068CA00A000005DC-257_964x642.jpg
- 123892925719.jpg
- place-de-opera_940x705.jpg
- 007y.jpg
J'aimerias les trier dans l'ordre 0..., puie 121..., 123..., place...
Un LIMIT 1 aurait du résoudre le problème, mais il me dit que la requête ne renvois pas de résultat.
Avant je définissait l'image suivante comme celle ayant l'id suivant (numéro unique dans la table)
pas de résultat?
tu peux nous mettre un petit jeu d'essai pour qu'on puisse reproduire le problème?
Merci
Requête :
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT `img_id`, `img_page`, `img_type`, `img_stype`, `img_sstype`, `img_ssstype`, `img_url` FROM `site_galerie_image` WHERE `img_page`="Capture" AND `img_type`="Fun" AND `img_stype`="2009.09.18" AND `img_url` < "273867d56590bd23997b21c07def138.jpg" ORDER BY `img_url` LIMIT 1
MySQL returned an empty result set (i.e. zero rows). (Query took 0.0003 sec)
ce qu'il nous faudrait, c'est aussi le code de création de la table, quelque insert et le résultat que tu attends afin qu'on puisse reproduire le problème
Normalement, on ne met pas les valeurs textuelles entre guillemets mais entre apostrophes.
Existe t-il vraiment dans la table une image répondant aux critères ?
Gratz, ta gagné .... honte sur moi.
Pour info :
Table :
Données
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CREATE TABLE `site_galerie_image` ( `img_id` int(11) NOT NULL auto_increment, `img_date` datetime NOT NULL default '0000-00-00 00:00:00', `img_date_m` datetime NOT NULL, `img_page` varchar(254) collate utf8_bin NOT NULL, `img_type` varchar(254) collate utf8_bin NOT NULL, `img_stype` varchar(254) collate utf8_bin NOT NULL, `img_sstype` varchar(254) collate utf8_bin NOT NULL, `img_ssstype` varchar(254) collate utf8_bin NOT NULL, `img_nom` varchar(255) collate utf8_bin NOT NULL default '', `img_url` varchar(254) collate utf8_bin NOT NULL default '', `img_url_m` varchar(254) collate utf8_bin NOT NULL default '', `img_hauteur` int(9) NOT NULL, `img_largeur` int(9) NOT NULL, `img_auteur` varchar(254) collate utf8_bin NOT NULL default '', `img_source` varchar(254) collate utf8_bin NOT NULL default '', `img_com` text collate utf8_bin NOT NULL, `img_visu` int(9) NOT NULL default '0', PRIMARY KEY (`img_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin PACK_KEYS=0 AUTO_INCREMENT=8 ;
Requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 INSERT INTO `site_galerie_image` (`img_id`, `img_date`, `img_date_m`, `img_page`, `img_type`, `img_stype`, `img_sstype`, `img_ssstype`, `img_nom`, `img_url`, `img_url_m`, `img_hauteur`, `img_largeur`, `img_auteur`, `img_source`, `img_com`, `img_visu`) VALUES (1, '2009-09-28 16:25:47', '2009-09-28 16:25:47', 0x43617074757265, 0x46756e, 0x323030392e30392e3138, '', '', '', 0x343938646335343734626366393133306131356164613032373932336365376232316436373931332e6a706567, 0x343938646335343734626366393133306131356164613032373932336365376232316436373931332e74682e6a706567, 100, 125, 0x4269646f75, 0x6269646f752e626464, '', 3), (2, '2009-09-28 16:25:47', '2009-09-28 16:25:47', 0x43617074757265, 0x46756e, 0x323030392e30392e3138, '', '', '', 0x39626266626238613266613937383538633831343063373264326532372e6a7067, 0x39626266626238613266613937383538633831343063373264326532372e74682e6a7067, 100, 125, 0x4269646f75, 0x6269646f752e626464, '', 1), (4, '2009-09-28 16:32:51', '2009-09-28 16:32:51', 0x43617074757265, 0x46756e, 0x323030392e30392e3138, '', '', '', 0x3435313338346271736c68686a6937716132322e676966, 0x3435313338346271736c68686a6937716132322e74682e676966, 100, 125, 0x4269646f75, 0x6269646f752e626464, '', 0), (5, '2009-09-29 11:20:00', '2009-09-29 11:20:00', 0x43617074757265, 0x46756e, 0x323030392e30392e3138, '', '', '', 0x323733383637643536353930626432333939376232316330376465663133382e6a7067, 0x323733383637643536353930626432333939376232316330376465663133382e74682e6a7067, 100, 125, 0x4269646f75, 0x6269646f752e626464, '', 11), (6, '2009-09-29 11:21:04', '2009-09-29 11:21:04', 0x43617074757265, 0x46756e, 0x323030392e30392e3138, '', '', '', 0x65467965642e6a7067, 0x65467965642e74682e6a7067, 100, 125, 0x4269646f75, 0x6269646f752e626464, '', 0), (7, '2009-09-29 11:34:50', '2009-09-29 11:34:50', 0x43617074757265, 0x46756e, 0x323030392e30392e3138, '', '', '', 0x343933353939356c672e6a7067, 0x343933353939356c672e74682e6a7067, 100, 125, 0x4269646f75, 0x6269646f752e626464, '', 0);
Ca fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT `img_id`, `img_page`, `img_type`, `img_stype`, `img_sstype`, `img_ssstype`, `img_url` FROM `site_galerie_image` WHERE `img_page`="Capture" AND `img_type`="Fun" AND `img_stype`="2009.09.18" AND `img_url` < "451384bqslhhji7qa22.gif" ORDER BY `img_url` LIMIT 1
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager