Récupérer seulement les x premiers caractères avec SELECT

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


medium69
WRInaute accro
WRInaute accro
 
Messages: 2182
Inscription: Sam Mai 07, 2005 9:36

Récupérer seulement les x premiers caractères avec SELECT

Message le Lun Oct 15, 2007 22:22

Je me rappelle avoir lu la semaine dernière une requête SQL pour récupérer seulement les x premiers caractères d'un champs.

Le problème est que je n'arrive pas à remettre la main dessus...

Qui peut me raffaichir la mémoire ??


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3062
Inscription: Jeu Sep 14, 2006 4:53

Message le Lun Oct 15, 2007 23:06

c'est plutôt une fonction php non ? un truc comme substr ou autre

nexxen
WRInaute discret
WRInaute discret
 
Messages: 68
Inscription: Jeu Déc 30, 2004 17:54

Message le Lun Oct 15, 2007 23:23

Tu peux essayer :

Code: Tout sélectionner
SUBSTR(nom_colonne, position_départ, longueur)


retourne une sous-chaîne de caractères extraite de la colonne spécifiée à partir d'une position de départ et jusqu'à une certaine longueur.


Source : www.laltruiste.com


bradeux
WRInaute impliqué
WRInaute impliqué
 
Messages: 385
Inscription: Mer Mai 18, 2005 12:51

Message le Lun Oct 15, 2007 23:46

Code: Tout sélectionner
<? echo substr($nom_champ, 0,200)."&hellip;";?>

ca permet de rajouter '...' à la fin du découpage
Au cas où... :D


medium69
WRInaute accro
WRInaute accro
 
Messages: 2182
Inscription: Sam Mai 07, 2005 9:36

Message le Mar Oct 16, 2007 5:50

Merci à vous, mais j'ai réussi à trouver tardivement...

En fait la requête devrait se présenter ainsi :
Code: Tout sélectionner
SELECT champ1, LEFT(champ2, 50) FROM maTable, WHERE mes conditions


Je me suis arraché les cheveux, car cela ne fonctionnait pas...

À force de creuser j'ai trouvé la solution.

Code: Tout sélectionner
SELECT champ1, LEFT(champ2, 50) as champ2 FROM maTable, WHERE mes conditions


Qui peut m'expliquer les raisons de ce « as » pour faire foncitonner la requête ?

Pour ceux qui m'ont proposer une solution PHP, je n'en voulais pas car il est inutile pour moi de mobiliser de la mémoire pour rien.

C'est comme si on prenait tout le contenu de la table pour ne sélectionner ce que l'on veut via PHP sans passer par WHERE.


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Message le Mar Oct 16, 2007 7:31

Le AS, c'est pour mettre une "étiquette" sur le résultat retourné de LEFT(champ2, 50) ;-)


bproductiv
WRInaute accro
WRInaute accro
 
Messages: 2843
Inscription: Lun Déc 27, 2004 16:29

Message le Mar Oct 16, 2007 7:32

le 'as' c'est qu'il faut qu'elle se nomme (ta colonne que tu tronque a 50 caractères).

boutdepapier
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 163
Inscription: Ven Aoû 04, 2006 16:32

Message le Mar Oct 16, 2007 13:00

Pour gagner en perf tu peux aussi faire un champ dans ta table contenant seulement les X premiers caractéres !

Sinon c'est selex nom from table where nom = exe% pour récupérer tous les éléments qui commencent pas exe. et aprés tu fais un substring en php pour récupérer la partie qui t'intéresse.

Voila :)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Website Optimizer

  • Trouver la position d'un site dans Google
    Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Google, pour certains mots-clés recherchés.
  • Trouver la position d'un site dans Yahoo
    Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Yahoo, pour certains mots-clés recherchés.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités