IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PHP et Trim mysql


Sujet :

PHP & Base de données

  1. #1
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut PHP et Trim mysql
    Bonjour

    je veux lister une base qui contient des noms comportant des espaces devant ou derriere
    pour eviter de lister deux fois le même nom j'avais fait ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     $sqlprod= 'SELECT DISTINCT  (prod) FROM films  ORDER BY prod ';
    $resultatprod=mysql_query($sqlprod);
    while ($listeprod = mysql_fetch_assoc($resultatprod)){
     
     echo '<option value="'.trim($listeprod['prod']).'">'.trim($listeprod['prod']).'</option>';
    }?>
    </select>
    mais les espaces sont retirés dans l'affichage mais pas dans le distinct ce qui fait que j'ai des doublons.
    j'ai ensuite volu faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     $sqlprod= 'SELECT DISTINCT TRIM (prod) FROM films  ORDER BY prod ';
    $resultatprod=mysql_query($sqlprod);
    while ($listeprod = mysql_fetch_assoc($resultatprod)){
     
     echo '<option value="'.trim($listeprod['prod']).'">'.trim($listeprod['prod']).'</option>';
    }?>
    </select>
    mais je n'ai plus ma liste.
    peut être faut il faire un truc avec des alias mysql du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sqlprod= 'SELECT DISTINCT TRIM (prod)  AS prodFROM films  ORDER BY prod ';
    mais je ne sais pas comment les utiliser après.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    tu es sur la bonne voie.
    L'alias remplace le nom de ton champ.
    Donc au lieu d'avoir $listeprod['prod'] tu vas avoir : $listeprod['alias']
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql= 'SELECT DISTINCT TRIM (prod) AS clean_prod FROM films ORDER BY clean_prod ';
    $qry = mysql_query($sql);
    while($row = mysql_fetch_assoc($qry)) {
        echo '<option value="'.$row['clean_prod']).'">'.$row['clean_prod'].'</option>';
    }
    Par ailleurs, je pense que tu devrais nettoyer tes valeurs des espaces intempestifs à l'entrée en base et non à la sortie.
    Parce que tu es du coup obligé de les nettoyer à chaque fois que tu interroges ta table, t'imagines la charge que cela représente...

  3. #3
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    oui ça serait mieux et accessoirement faire un update sur les valeurs déjà dans ta table... ça évite de faire tous ces traitement...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

Discussions similaires

  1. Insérez variable PHP dans requête Mysql
    Par jeremie74 dans le forum Requêtes
    Réponses: 11
    Dernier message: 22/08/2006, 18h21
  2. [MySQL] Filtre via formulaire HTML/PHP dans Base mySQL
    Par Al3x dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/01/2006, 16h27
  3. [php / free ] Prb Mysql, je ne l'avais pas hier
    Par arnolem dans le forum Administration
    Réponses: 6
    Dernier message: 24/10/2005, 15h03
  4. Pb PHP 5 & support Mysql
    Par wdionysos dans le forum Installation
    Réponses: 2
    Dernier message: 18/10/2005, 16h59
  5. [SGBD] PHP et mysqli - MySQL 4.1
    Par meda dans le forum Outils
    Réponses: 5
    Dernier message: 09/01/2005, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo