Aller au contenu

Extraire x mots d'un champs mysql


Sujets conseillés

Posté

Salut :)

j'ai la mémoire qui flanche ou il se fait tard mais je ne me rappel plus comment extraire d'un champs mysql une liste de mots séparés par des virgules :

dans le champs mysql : mot1, mot2, mot3, ...

je voudrais extraire et afficher les 10 premiers mots : mot1 mot2 mot3

quelle fonction php peut faire ca ?

merci :)

Posté

Tu fais d'abord un explode(',', $ta_liste_de_mots);

Et ensuite une boucle de 10 résultats pour sortir les 10 premiers éléments :

<?php
$liste = explode(',', $ta_liste_de_mots);
for($i=0; $i<=9; $i++)
echo $liste[$i];
?>

Posté

Bonjour,

Si tu souhaites faire ceci directement avec MySQL tu peux utiliser la fonction SUBSTRING_INDEX (MySQL >= 3.23).

L'usage de cette fonction se fera ainsi dans ton cas :

SELECT SUBSTRING_INDEX(champ_avec_tes_mots,',',10) FROM ta_table

Et tu peux tout à fait récupérer les autres champs en même temps ;)

Bonne continuation.

P.S.: La solution PHP est tout à fait valable et bien entendu si tu ne veux pas charger inutilement ton serveur de base de donnée (si toutefois c'est un autre serveur que celui s'occupant de l'interprétation du PHP), utilise la solution PHP. Enfin, j'ai quand même l'impression que la charge générée par cette fonction est minime :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...