Help sur une requete : Récupérer un nombre limité de caractère

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Help sur une requete : Récupérer un nombre limité de caractère

par supercanard » 27 sept. 2007, 14:56

Euh.. juste pour être sur par rapport à ce que tu dis... dans ta requête avec LEFT(), ton champ "texte" n'est pas modifié, c'est "short_texte" qui doit contenir les 2 premiers caractères :)

Et si tu récupères un id, je pense qu'il y a peu de chance que tu ais des doublons, le distinct n'est donc peut être pas utile...
Ah oui non je viens de capter mais DISTINCT effectivement j'en ai pas besoin.
Mais je comprends toujours pas :

Code : Tout sélectionner

$req_news= mysql_query("SELECT id,titre,texte, LEFT(texte,2) AS short_texte FROM grunge_news");
Ensuite
while ($data_news= mysql_fetch_array($req_news)) {
echo '<h2>'.$data_news['titre'].'</h2>'.$data_news['short_texte'].'<p>'.$data['auteur'].'</p>';
}
?>
Ou est l'erreur ? :shock:

Edit : trouvé 'texte'

par Ryle » 27 sept. 2007, 14:44

Euh.. juste pour être sur par rapport à ce que tu dis... dans ta requête avec LEFT(), ton champ "texte" n'est pas modifié, c'est "short_texte" qui doit contenir les 2 premiers caractères :)

Et si tu récupères un id, je pense qu'il y a peu de chance que tu ais des doublons, le distinct n'est donc peut être pas utile...

par supercanard » 27 sept. 2007, 14:21

Alors en fait non j'ai pas besoin de tout donc :

Code : Tout sélectionner

$req_news= mysql_query("SELECT DISTINCT id,titre,texte, LEFT(texte,2) AS short_texte FROM grunge_news");
Mais ça ne fait rien, ma donnée texte s'affiche toujours en entier :?

Je vais tenter avec SUBSTRING()



:wink:

Re: Help sur une requete : Récupérer un nombre limité de car

par Sedril » 27 sept. 2007, 13:54

Code : Tout sélectionner

$req_news= mysql_query("SELECT * DISTINCT LEFT (texte,2) AS texte FROM grunge_news");
Eh bien, ta requête a en effet un problème...

Il faut écrire

Code : Tout sélectionner

SELECT DISTINCT *, LEFT(texte,2) AS short_texte FROM grunge_news
Tu as vraiment besoin de tout les champs (*) et de dédoublonner (DISTINCT) ?

Je te conseille de ne mettre que la liste des champs nécessaire (séparés par des virgules) et si le DISTINCT ne s'impose pas de le supprimer. Il est souvent préférable de mettre un clause de restriction qui va éliminer les doublons plutôt que d'utiliser DISTINCT.

par Cyrano » 27 sept. 2007, 13:35

Regarde dans la doc les informations sur la fonction SUBSTRING() qui devrait répondre à ton problème

Help sur une requete : Récupérer un nombre limité de caractè

par supercanard » 27 sept. 2007, 13:08

Bonjour,

Voilà j'ai cherché sur le net la solution... je crois que j'y suis presque mais la je sèche. Je voudrais récupérer dans une table, tous mes champs, mais sur mon champt texte je voudrais ne récupérer qu'un nombre limité de caractères.

Déjà la partie correspondant à la limite de caractère ne fonctionne pas avec tous mes champs, mais en plus récupérer tous les autres champs dans la même requête là je suis perdu...

Voici ce que j'ai pour l'instant, bien entendu c'est faux :

Code : Tout sélectionner

$req_news= mysql_query("SELECT * DISTINCT LEFT (texte,2) AS texte FROM grunge_news");
J'espère que vous pourrez éclairer ma lanterne :wink: