IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

ne pas afficher le résultat en entier [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Par défaut ne pas afficher le résultat en entier
    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 !

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    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 Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Par défaut
    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

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    On va supposer que ta colonne localisation contient, entre autres, la valeur 'Toulouse.jpg'.
    Longueur de la colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT LENGTH(localisation)
    FROM ta_table
    => Résultat : 12

    Je ne retiens que les 12 - 4 caractères de gauche de la colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT LEFT(localisation, LENGTH(localisation) - 4)
    FROM ta_table
    => Résultat : 'Toulouse'

    C'était quand même pas bien compliqué ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Par défaut
    Merci à toi !
    Mais j'ai un problème...
    Avec cette requête, rien ne s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_Recordset1 = "SELECT LEFT (situation_carte, LENGTH(situation_carte) -4) FROM lieux";
    (je m'étais gouré sur le nom du champ, c'était pas localisation)...

    J'ai vérifié sur une page vierge. Avec cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_Recordset1 = "SELECT situation_carte FROM lieux";
    et avec la boucle, s'affichent bien les noms de toutes les images.
    Mais avec la requête LEFT, page blanche...
    D'où ça peut venir à ton avis ? (si tu as le temps de me répondre...)

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Citation Envoyé par evevev Voir le message
    Avec cette requête, rien ne s'affiche :
    As tu un message d'erreur ?

    as tu fais un mysql_error() afin de voir l'eventuelle erreur ?

  7. #7
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT SUBSTRING(localisation, 0, LENGTH(localisation) - 4)

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT SUBSTRING(localisation, 0, LOCATE('.', localisation))

    EDIT: ben grillé^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Ne pas afficher décimales des nombres entiers
    Par NikoBe dans le forum Excel
    Réponses: 26
    Dernier message: 18/03/2025, 21h21
  2. [Batch] Ne pas affiché le résultat d'un REG QUERY
    Par Mammy Potter dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 30/05/2012, 22h38
  3. ne pas afficher le résultat d'un echo
    Par kineton dans le forum Langage
    Réponses: 3
    Dernier message: 15/04/2011, 16h43
  4. Ne pas afficher le résultat de mes requêtes
    Par euskal75 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 25/05/2007, 22h14
  5. ne pas afficher le résultat si c'est 0
    Par zorba49 dans le forum Excel
    Réponses: 11
    Dernier message: 23/03/2007, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo