|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
Bonjour !
Désolée pour l'intitulé pas très clair, mais je ne sais pas comment dire. J'ai un champ localisation qui contient des noms d'images qui se terminent tous par .jpg (lieu1.jpg, lieu2.jpg...) Je cherche à afficher la liste des noms des images (et non pas les images elles-mêmes), mais sans .jpg Que l'on lise : lieu1, lieu2, etc C'est possible de faire ça ? Merci d'avance ! |
|
|
00
|
|
|
#2 |
![]() ![]() |
Il faut jouer avec les fonctions de chaînes de caractères de MySQL.
Si tous tes fichiers se terminent par .jpg, c'est facile ! Tu prends les N caractères de gauche, avec N = longueur du nom complet - longueur de '.jpg' (4). Sinon, si il n'y a toujours qu'un seul point dans le nom complet du fichier (celui avant 'jpg'), ce n'est guère plus compliqué. Tu prends les X caractères de gauche ou X est la position de '.' - 1. Sinon il faut inverser les caractères et rechercher de la même manière la position du premier point, prendre les caractères cette fois de droite et ré-inverser la chaîne. Tu peux aussi remplacer '.jpg' par une chaîne vide et récupérer la chaîne résultante. Tu essaies tout seul avant qu'on te donne éventuellement la solution si tu n'y arrives pas ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
Bonjour CinePhil, et merci de ta réponse !
Et je ne vais pas te raconter de bobards : je suis amateur ++ ! Je "travaille" avec DW et ai quelques toutes petites connaissances, mais pas du tout suffisantes pour comprendre ce que tu m'expliques ! Je me disais "pourvu que ce soit simple et que j'arrive à comprendre" Si tu peux me filer la solution, ce serait gentil, sinon tant pis pour moi ! Au cas où : oui, tous les fichiers ont la même extension, à savoir .jpg |
|
|
00
|
|
|
#4 | ||||
![]() ![]() |
On va supposer que ta colonne localisation contient, entre autres, la valeur 'Toulouse.jpg'.
Longueur de la colonne : Code :
Je ne retiens que les 12 - 4 caractères de gauche de la colonne : Code :
C'était quand même pas bien compliqué ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||
|
00
|
|
|
#5 | ||||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Bonjour,
ici tu as la liste des fonctions texte de MySQL. Dans ton cas de figure, si tu es sur de toujours avoir .jpg (et pas .jpeg) à la fin, tu peuxutiliser un substring par exemple : Code sql :
Cela va te sélectionner tout ton champs localisation moins les 4 dernières lettres donc le.jpg. Sinon, si tu t'apercois que tu as aussi des .jpeg, il faudra scinder ta chaine en fonction du . (point) : Code sql :
EDIT: ben grillé^^ |
||||
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
Merci à toi !
Mais j'ai un problème... Avec cette requête, rien ne s'affiche : Code :
$query_Recordset1 = "SELECT LEFT (situation_carte, LENGTH(situation_carte) -4) FROM lieux"; J'ai vérifié sur une page vierge. Avec cette requête : Code :
$query_Recordset1 = "SELECT situation_carte FROM lieux"; Mais avec la requête LEFT, page blanche... D'où ça peut venir à ton avis ? (si tu as le temps de me répondre...) |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
|
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
Bonjour Madfrix,
Et merci de ta solution, mais elle ne fonctionne pas non plus... Non, pas de message d'erreur Euh... je ne sais pas faire un mysql_error() ... ça s'écrit comment stp ?... |
|
|
00
|
|
|
#9 |
![]() ![]() |
Description de la table + jeu de données exemple + code PHP de la partie où il y a cette requête jusqu'à la soumission de la requête au serveur.
Si tu as phpMyAdmin, lance la requête directement dans un onglet SQL et regarde le résultat.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#10 | ||
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
Effectivement, dans phpMyadmin, j'ai cette erreur :
Code :
|
||
|
|
00
|
|
|
#11 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
HS : CHAR_LENGTH plutôt que LENGTH qui renvoie le nombre d'octets et non (nécessairement, suivant le jeu) de caractères ...
|
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Laurent S.Inscription : novembre 2010 Messages : 71 ![]() |
Salut,
je viens de regarder ton probleme et personnellement je ne vois pas de soucis particulier avec la requete SQL de CinePhil. Cependant étant donné que tu es débutant ++ comme tu dis, tu peux aussi choisir d'utiliser le php pour obtenir ce résultat : $query_Recordset1 = "SELECT situation_carte FROM lieux"; ... ... while($row_Recordset1){ echo substr($ma_var;0;-4); } bonne continuation |
|
|
00
|
|
|
#13 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
En mettant CHAR_LENGTH à la place de LENGTH : mêmes résultat : page blanche et erreur d'apostrophe ds phpmyadmin
|
|
|
00
|
|
|
#14 | ||
![]() ![]() |
Si tu as vraiment soumis exactement cette requête :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#15 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
Ah ben évidemment...
Alors, sans les guillemets, phpmyadmin m'affiche correctement tous les noms des images, sans .jpg, exactement ce que je veux ! Alors pourquoi en ligne ça veut pas ? |
|
|
00
|
|
|
#16 | |
![]() ![]() |
On ne peut pas te le dire sans ça :
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#17 | ||
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
là, y'a tout :
Code :
|
||
|
|
00
|
|
|
#18 | ||
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 338 ![]() |
Code :
__________________
Stay in Bed .. Save Energy |
||
|
|
00
|
|
|
#19 |
![]() ![]() |
Tu demande d'afficher ceci :
Regarde dans phpMyAdmin le nom de la colonne résultat ! Solution : Ajoute un alias à la colonne calculée : Code :
SELECT LEFT (situation_carte, LENGTH(situation_carte) -4) AS situation_carte FROM lieux
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#20 |
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 140 ![]() |
Ah ben... bon...
Merci BEAUCOUP à toi, à boo64 et aux autres !!! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com