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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Concaténer 2 colonnes mysql


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut Concaténer 2 colonnes mysql
    Bonjour,

    Par retour d'un champ de formulaire, je voudrais que le résultat de ce champs récupère les données de deux colonnes de ma bdd
    c'est à dire, que le résultat de mon champs est le résultat de mes deux colonnes
    ex: resultat du champ = Paul Dubois colonne 1 = Paul colonne 2 = Dubois

    j'ai utilisé la fonction CONCAT() mais je ne sais pas si je fais bien car rien ne se passe


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    }else if(!empty($_GET['chien']) && !empty($_GET['aff']) && empty($_GET['lof']) && empty($_GET['nomaff']){	
    					$result = mysql_query("SELECT LOF, NOM, AFF, SEX, DNAIS, TRES, RADC, NRADC, RADH, NRADH, PUC, TAT, MLOF, PLOF FROM Chien WHERE CONCAT (NOM,' ',AFF)  like '$nomaff' ;");
    			$nombreLignes = mysql_num_rows($result);
    			$nombreColonnes = mysql_num_fields($result);
    			echo "<table>";
    			echo "<thead>";
    			echo "<th>Lof</th>";
    			echo "<th>Nom</th>";
    			echo "<th>Affixe</th>";
    			echo "<th>Tatouage / Puce </th>";
    			echo "<th>Généalogie</th>";
    			echo "</thead>";
    			echo "<tbody>";
    			for($i = 0; $i < $nombreLignes; $i++){
    				echo "<tr>";
    				echo "<td>".mysql_result($result, $i, 0)."</td>";
    				echo "<td>".mysql_result($result, $i, 1)."</td>";
    				echo "<td>".mysql_result($result, $i, 2)."</td>";
    				echo "<td>".mysql_result($result, $i, 10).mysql_result($result, $i, 11)."</td>";
    				echo "<td><a href='http://*******/absolu?chien=&tat=&lof=".mysql_result($result, $i, 0)."'>Voir ce chien</a></td>";
    				echo "</tr>\n";
    			}

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as peut être oublié de définir $nomaff.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    $result = mysql_query("SELECT LOF, NOM, AFF, SEX, DNAIS, TRES, RADC, NRADC, RADH, NRADH, PUC, TAT, MLOF, PLOF
                                             FROM Chien
                                             WHERE CONCAT (NOM,' ',AFF)  = '" . mysql_real_escape_string($_GET['nomaff']) . "'";
     
    echo "<table>";
    			echo "<thead>";
    			echo "<th>Lof</th>";
    			echo "<th>Nom</th>";
    			echo "<th>Affixe</th>";
    			echo "<th>Tatouage / Puce </th>";
    			echo "<th>Généalogie</th>";
    			echo "</thead>";
    			echo "<tbody>";
    while($row = mysql_fetch_assoc($result)) {
    				echo "<tr>";
    				echo "<td>".$row['LOF']."</td>";
    				echo "<td>".$row['NOM']."</td>";
    				echo "<td>".$row['AFF']."</td>";
    				echo "<td>".$row['TAT'].$row['PUC']."</td>";
    				echo "<td><a href='http://*******/absolu?chien=&tat=&lof=".$row['LOF']."'>Voir ce chien</a></td>";
    				echo "</tr>\n";
    }
    Au passage l'extension mysql est obsolète et tu n'es pas limité à 3 caractères pour le nom des colonnes
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Merci Sabotage,

    Pour l'extension mysql tu as raison, on m'a demandé de rajouter un champ à ce qui existait déjà, du coup autant faire un travail propre et refaire ce code, je n'ai pas encore testé ta solution, merci pour ton aide, je ne mets pas la discussion encore en résolu. Par contre pour la limitation des 3 caractères je n'y peux rien car d'autres feuilles utilisent cette vieille bdd.

    Merci encore

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Bonjour et dernière question sur le sujet,

    si je veux les enregistrements qui contiennent ['nomaff'] dans leur valeur.
    comment dois-je mettre mes %?

    Merci

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Avant et après.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE CONCAT (NOM,' ',AFF)  = '%" . mysql_real_escape_string($_GET['nomaff']) . "%'";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    C'est bien ce que j'ai fait mais rien apparait

    En fait dans ma colonne affixe de la bdd j'ai exemple du clos saint hil, rec....
    je voudrais que lorsque l'utilisateur tape par exemple du clos saint hil cela sorte c'est pour cela que j'avais pensé au %

    mais là rien ne se passe

    Merci

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que tu pourrais être plus précis dans ta exemple parce que là je ne comprends rien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Oui pardon,

    donc dans ma bdd pour les colonnes concatener (NOM et AFF) qui correspondent au résultat de mon GET ['nomaff']
    je voudrai si c'est possible afficher mon résultat même si tout ce qu'il y a dans la colonne AFF n'est pas rentré dans mon champ

    Exemple:
    Dans ma colonne NOM j'ai :fidji, dans ma colonne AFF j'ai : du clos, rec, korung

    actuellement pour que cela s'affiche je doit entrer dans mon champ de recherche ['nomaff'] : fidji du clos, mec, korung

    je souhaiterais qu'il s'affiche si l'on entre : fidji du clos

    En fait je souhaiterais faire apparaitre tous les enregistrements qui contiennent ce qui est entré dans mon champ ['nomaff']

    Merci

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il manque peut être seulement le LIKE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE CONCAT (NOM,' ',AFF) LIKE '%" . mysql_real_escape_string($_GET['nomaff']) . "%'";
    Attention ça ne fonctionnera pas, par exemple, si on cherche "fidji korung"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Oui c'est ça il manquait le LIKE, en fait j'avais fait un essai mais like n'était pas en majuscule.

    Merci beaucoup

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    like / LIKE c'est pareil en SQL.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    j'ai du oublier autre chose, cela fonctionne maintenant grace à vous, un grand merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Concaténer 2 colonnes de 2 tables différentes ?…
    Par Mister Paul dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/10/2008, 11h19
  2. [MySQL] Concaténer plusieurs colonnes d'une table temporaire
    Par kryogen dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 27/08/2008, 10h56
  3. Concaténer une colonne
    Par aigleborgne dans le forum Développement
    Réponses: 3
    Dernier message: 07/05/2008, 15h02
  4. [MySQL] nombre de colonnes mysql
    Par nocoment dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/05/2007, 16h51
  5. Réponses: 10
    Dernier message: 29/08/2006, 16h47

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