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 :

[SQL] Ajout dans un même champ


Sujet :

PHP & Base de données

  1. #1
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut [SQL] Ajout dans un même champ
    Bonjour,
    Est-il possible dans une table d'avoir un champ dans lequel on peut enregistrer des données ?
    J'ai une table avec 4 champs : id, user, text1, text2 ; le 1er membre va enregistrer son texte dans text1 et son pseudo dans user, le deuxième lui va enregistrer son texte dans text2 mais je n'arrive pas à rajouter son pseudo dans user à côté du premier membre.
    Est-ce possible, avez-vous des exemples, ou une piste ?
    Merci !

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    tu peux concaténer des string en SQL avec '+'
    UPDATE table SET user = user + $user2 WHERE id=$id

    La logique de ton système est bizzare, si tu te sers d'une ou plusieurs tables, en théorie tu n'as pas besoin de stocker plusieurs informations dans un même champ.
    A+

  3. #3
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, merci pour la piste mais je n'y arrive toujours pas, ce que j'ai essayé :
    pseudo=pseudo||'$pseudo',
    pseudo=pseudo+'$pseudo',
    A chaque fois ca m'inscrit dans le champ '0'.

  4. #4
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut,

    Si tu utilises MySQL, l'opérateur || ne réalise pas de concaténation par défaut. Il faut utiliser la fonction CONCAT(ch1, ch2, ...).

  5. #5
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, merci pour vos réponses, j'ai enfin trouvé :
    SET pseudo=CONCAT(pseudo,',$pseudo'),
    --
    Je met le post en résolu !

  6. #6
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, j'ai enlevé le résolu, parce que j'aurai une autre question ; tout d'abord voici le code :
    function test() {
    echo "test : <select name='id_cat' size='1'>\n";
    $select=mysql_query("select id_cat, categorie from g_categories order by id_cat");
    while(list($id_cat,$categorie)=mysql_fetch_array($select)) {
    echo "<option value='".$id_cat."'>".$categorie."</option>\n";
    echo"$categorie";
    }
    echo "</select>\n";
    echo "<input type=\"hidden\" name=\"auteur\" value=\"$categorie\">";
    }
    Cette fonction enregistre dans la table l'id, $id_cat récuperé par le déroulant et la catégorie, c'est cette derniere qui ne s'enregistre pas, je n'arrive pas à amener la catégorie choisie par le déroulant dans l'input de la catégorie.
    J'ai du mal à trouver dans google parce que je ne sais pas trop comment formulé ma demande.
    Si vous aviez une idée ou un lien merci !

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    A mon avis tu dois avoir la dernière catégorie dans ton input.

    Ce qu'il faudrait faire, c'est effectuer un probable test dans le while afin de savoir si l'id choisi est le même, tu le stockes dans une variable intermédiaire.

    Et il te reste plus qu'à mettre dans ton input


    PS: il faudrait déjà savoir comment tu récupères la catégorie choisie

  8. #8
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, effectivement ca me marque la dernière catégorie suivant ou je le place, et l'id_cat est différente ; le code pour voir le fonctionnement je l'ai fait comme ca :
    function test() {
    echo "<select name='id_cat' size='1'>\n";
    $select=mysql_query("select id_cat, categorie from g_categories order by id_cat");
    while(list($id_cat,$categorie)=mysql_fetch_array($select)) {
    echo "<option value='".$id_cat."'>".$categorie."</option>\n";
    echo"$categorie";
    }
    echo "</select>\n";
    echo "<input type=\"hidden\" name=\"auteur\" value=\"$categorie\">";
    }

    switch($subop) {
    case "ajout":
    //$update = "INSERT INTO g_annonces VALUES ('', '".$id_cat."', '".$auteur."', '".$text."', '0')";
    echo "'', '".$id_cat."', '".$auteur."', '".$text."', '0')";
    mysql_query($update) or die(mysql_error());
    if ($update) redirect_url ("".$ThisRedo."");
    break;
    }
    Avec une variable intermédiaire j'ai fait comme ceci, c'est la 1ere fois donc je ne sais pas si c'est comme ca :
    echo "<select CLASS=\"TEXTBOX_STANDARD\" name='id_cat' size='1'>\n";
    $select=mysql_query("select * from g_categories order by id_cat");
    while($e=mysql_fetch_array($select)) {
    echo "<option value='".$e[id_cat]."'>".stripslashes($e[categorie])."</option>\n";
    if ($sel=="$id_cat") {
    $sel="".stripslashes($e[categorie])."";
    echo $sel;
    }
    }
    echo "</select>\n";
    echo "<input type=\"hidden\" name=\"auteur\" value=\"$sel\">";
    }

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    id_cat c'est un entier ? SI oui comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           if ($sel == $id_cat) {
    echo $sel = $categorie;
    }
    Et si $sel est issu du POST :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           if ($_POST['sel'] == $id_cat) {
    echo $sel = $categorie;
    }

  10. #10
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    slt, id_cat est un entier et $sel n'est pas issu du POST.
    Ca ne fonctionne pas ; desole de t'embeter avec ca mais je suis sec !

  11. #11
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ok donc teste comme ceci (mon code était pour la premiere version avec list)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                                   echo "<select CLASS=\"TEXTBOX_STANDARD\" name='id_cat' size='1'>\n";
       $select=mysql_query("select * from g_categories order by id_cat");
       while($e=mysql_fetch_array($select)) {
          echo "<option value='".$e['id_cat']."'>".$e['categorie']."</option>\n";
          if ($sel == $e['id_cat']) {
             $sel=$e['categorie'];
            echo $sel;
          }
       }
       echo "</select>\n";
       echo "<input type=\"hidden\" name=\"auteur\" value=\"$sel\">";
    }
    Sinon es-tu sur que ton $sel de départ est défini (avant le test) .?

  12. #12
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, non ca ne marche pas, pour le $sel j'ai fait :
    $quer="select categorie from g_categories where id_cat='$id_cat'";
    $sel=mysql_query($quer);
    $sel=mysql_fetch_array($sel);
    $categorie=$sel[categorie];
    Pour récupérer la catégorie suivant l'id_cat.

  13. #13
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Dans ce cas c'est normal car tu compares un tableau (array) et un entier...Il faudrait directement mettre $categorie dans le test.

    Humm $id_cat sort d'où ??

  14. #14
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, il sort d'ou, je ne sais plus, ma feuille est remplie de code en activité et inactif, voila ce que j'ai fait :
    echo "<select CLASS=\"TEXTBOX_STANDARD\" name='id_cat' size='1'>\n";
    $select=mysql_query("select * from g_categories order by id_cat");
    while($e=mysql_fetch_array($select)) {
    echo "<option value='".$e['id_cat']."'>".$e['categorie']."</option>\n";
    //recup de la catégorie
    $sel="'".$e['id_cat']."'";
    $categorie=$sel[categorie];
    if ($sel == $e['id_cat']) {
    $sel=$e['categorie'];
    echo $sel;
    }
    }
    echo "</select>\n";
    echo "<input type=\"hidden\" name=\"auteur\" value=\"$sel\">";
    }
    Avec ca, il mécrit pour l'input du name l'$id_cat du dernier sans prendre en compte la selection, c tjrs le dernier. Pourtant j'ai l'impression qu'on est pas mal : avec le sel on prend l'id_cat ($sel="'".$e['id_cat']."'" puis la categorie ($categorie=$sel[categorie]

  15. #15
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    On va refomater tout ca pour bien y voir
    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
     
    echo '<select class="TEXTBOX_STANDARD" name="id_cat" size="1">'."\n";
    $select = mysql_query('select * from g_categories order by id_cat') or die('erreur : '.mysql_error());
    while( $res = mysql_fetch_array($select) ) 
    {
        echo '<option value="'.$res['id_cat'].'">'.$res['categorie'].'</option>'."\n";
       //recup de la catégorie
       $categorie = $sel['categorie'];
       if ($categorie == $res['id_cat']) 
       {
          $sel = $res['categorie'];
          echo $sel;
       }
    }
       echo '</select>'."\n";
       echo '<input type="hidden" name="auteur" value="'.$sel'">';

  16. #16
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, vraiment navré mais non

  17. #17
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu n'as pas mis le code que je t'ai donné ?? Sinon il y aurait une parse error.

    Bon vérifies toutes tes variables et commence surtout par savoir d'où sortent certaines. On pourra pas avancer si toi meme tu sais pas d'ou elles viennent

    Mets des echo un peu partout pour voir si tes variables sont pas vides

  18. #18
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, j'ai mis ton code, ca me marque Query vide pour le champ catégorie.

    echo '<option value="'.$res['id_cat'].'">'.$res['categorie'].'</option>'."\n";
    on choisie la catégorie
    $categorie = $res['categorie'];
    On transforme la caté choisie par une variable
    if ($categorie == $res['id_cat'])
    On vérifie que l'id_cat choisie correspond bien à la catégorieS'il y a bien une catégorie
    {
    $sel = $res['categorie'];
    Variable pour l'appeler
    }

  19. #19
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Mais où ? Pour quel catégorie ? Il y a tellement de catégorie

  20. #20
    oim
    oim est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Points : 50
    Points
    50
    Par défaut
    Slt, et bien la catégorie choisie dans le menu déroulant :
    echo '<option value="'.$res['id_cat'].'">'.$res['categorie'].'</option>'."\n";

Discussions similaires

  1. Plusieurs valeurs dans un même champ
    Par fidecourt dans le forum Outils
    Réponses: 2
    Dernier message: 30/01/2013, 00h03
  2. Faire la différence d'une date dans un même champ
    Par Ludivine91 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 07/12/2007, 15h51
  3. [MS SQL]Ajouter et visionner des champs dans une table
    Par 5a573 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/10/2006, 16h10
  4. Réponses: 16
    Dernier message: 19/07/2006, 00h16
  5. Deux saisie dans un même champ?
    Par Kyrha dans le forum Access
    Réponses: 3
    Dernier message: 21/04/2006, 11h46

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