afficher que le début du contenu d'une colone

Petit nouveau ! | 1 Messages

13 mai 2006, 02:48

J'ai une requete qui ressemble à ceci :

$result=mysql_query("SELECT * FROM products ORDER BY name ASC");
$row = mysql_fetch_row($result);
echo "$row[2]";

cependant, il y a beaucoup de texte dans la row2 et j'aimerais afficher que les quelques premiers mots. ( un peu à titre de "preview" )

Y'a t'il une facon de faire ?

Mammouth du PHP | 19672 Messages

13 mai 2006, 07:43

Oui, il y a une manière de faire, même deux.

J'y ajoute en bonus : commencer pas un "Bonjour", ça n'est ni mortel ni même dangereux pour la santé.

Première méthode : directement lors de la requête SQL en utilisant SUBSTR() dans une requête du type :

Code : Tout sélectionner

SELECT `champ1`, SUBSTR(`champ2`, 0, 25) FROM matable;
Cette requête renverra la valeur du champ1 et les 25 premiers caractères du champ2;

Seconde méthode : faire une requête normale sans le SUBSTR et traiter le texte en PHP avec substr() qui s'utilise quasiment de la même manière que la version SQL :
$extrait = substr($texte, 0, 25);
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 28 Messages

13 mai 2006, 12:09

Je rajouterai que si tu le veux dans les deux méthodes tu peux obtenir la taille de la chaine afin de savoir si elle est complete ou non. ;)