8796 sujets

Développement web côté serveur, CMS

Bonsoir à tous, je cherche LA requête SQL qui permet d'afficher les 300 premiers caractères d'un champ d'une bdd lors d'une recherche

Je m'explique, j'ai une page avec un moteur de recherche, je souhaiterai pouvoir afficher les resultats de la recherche comme ceci:

Titre de l'article (ok je sais faire)
date de parution (ok je sais faire)
+ Le début de l'article (environ les 300 premiers caractères ou 25 premiers mots)

ça ne doit pas être super compliqué, mais je n'y arrive pas tout seul.

Merci d'avance à tous ceux qui pourront m'aider
Modifié par pareto (18 Mar 2010 - 18:08)
salut!
C'est avec la fonction substr
On met donc la variable à modifier, puis le 0 c'est qu'on commence à partir du caractere 0, puis on va jusqu'au 300eme caractere.
<?php substr($variable,0,300) ?>

et donc pour faire un truc sympa avec ... et une récupération de donnée ça fait:
<?php
echo "<p>".substr($data["contenu"],0,300)." ...</p>";
?>


voilà!
@+
Modifié par Baptiste08 (16 Mar 2010 - 19:35)
Un bon vieux explode sur ta chaine sur les espaces puis tu met le nombre de mots que tu veux.


function breakString($string, $nbMots)
{
    $string = 'Ma chaine de caractère à couper';

    $mots = explode(' ', $string);

    $string = '';
    for($i = 0; $i < $nbMots; $i++)
    {
        $string .= $mots[$i];
    }

    return $string;
}


A noter qu'on peut faire encore mieux avec la fonction preg_split() :

preg_split("/[\s,]+/", $string);

Modifié par moust (16 Mar 2010 - 19:46)
Salut,

moust a écrit :
RTFM
Ben en l'occurrence c'est plus facile quand on connaît le nom de la fonction. Smiley biggol

Sinon pour ce qui est du côté SQL c'est SUBSTRING ou dans ton cas plutôt LEFT.
Modifié par Heyoan (16 Mar 2010 - 19:46)
Je viens d'éditer mon message pour apporter une éventuelle amélioration avec la fonction preg_split() qui permet de couper sur expression rationnelle, prenant en compte les virgules, \n etc...

Heyoan -> au passage je m'était planté dans l'énoncé et la fonction que je donnais ne correspondait pas Smiley langue
Mais il n'empêche que la manuel regroupe toutes les fonctions applicables sur une string et qu'il suffit de les passer en revue pour trouver son bonheur Smiley cligne
moust a écrit :
Mais il n'empêche que la manuel regroupe toutes les fonctions applicables sur une string et qu'il suffit de les passer en revue pour trouver son bonheur
C'est vrai mais je ne trouve pas que php.net soit très intuitif et si tu ne sais pas du tout ce que tu cherches c'est pas évident de s'y retrouver. Smiley cligne