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 :

Séparer une chaine de caractères dans ma table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut Séparer une chaine de caractères dans ma table
    bonjour,
    Bonjour, je n'arrive pas a trouvé une methode judicieuse pour remplire ma table avec une chaine de caractère.
    voici mon script:
    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
     
    <?php 
    session_start();
    $panier=$_SESSION['monpanier']; //session mon panier contient 1,2
    $panierfourn=$_SESSION['panierfourn'];
    include("../inc.php");
    mysql_connect($erv,$log,"");
    mysql_select_db($base);
    $req="INSERT INTO `facture`(idclient,idprest,idpiece) VAlUES (".
    "'".$_SESSION['idclient']."','$panier','$panierfourn')";
    echo $req;
    $resultat=mysql_query($req);
    $id = mysql_insert_id();
    mysql_close();
    echo "<h1> vous avez cree le devis numero $id </h1>";
    ?>
    mon problème est qu'il enregistre $panier comme des chiffres qui se suivent sans qu'il y a de virgule entre eux, si je lit ma table j'aurais par exemple
    12 mais je voudrais avoir comme résultat 1 , 2 car les chiffre 1
    correpond a par exemple une pomme et le 2 une poire.
    merci de vos 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
    mon problème est qu'il enregistre $panier comme des chiffres qui se suivent sans qu'il y a de virgule entre eux
    il n'enregistre pas "comme si c'etait", il enregistre ce que c'est.
    il faut revoir la facon dont tu construis ta variable $panier car "1234" c'est 12,34 ? 1,234 ? 123,4 ?

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    merci de ta réponse
    voici mon panier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php 
    header("location: xxxx");
    session_start();
    include("../inc.php");
    if(!isset($_SESSION['monpanier'])) $_SESSION['monpanier']=array();
    $_SESSION['monpanier'][]=$_REQUEST['id'];
    ?>
    pour crée ce panier
    1 je cherche le prduit que je veux mettre dans le panier;
    2 je récupère l'id du produit voulu;
    3 je sauvegade l'id de ce produit dans mon panier dans un array;

    est ce la bonne methode ou il faut procédé autrement ?

    en fait si j'enregistre par exemple
    1 pomme (id=7)
    1 poire(id=5)

    dans ma table on il faudra enregistrer
    (7,5) pour que si je lit la case il me retransmet 7,5 et pas 75 car ce n'est ni une pomme ni une poire
    dans ma table j'ai mis smal INT? il faut peut être mettre autre chose
    varchar?

  4. #4
    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 y a quelque chose qui ne colle pas entre ce que tu décris et le code que tu nous montres.

    si $panier est un tableau php, tu te trouverais avec "Array" ou 0 dans ta base, pas les valeurs du tableau collées les une autres.

    tu devrais faire un print_r($panier); avant ta requete.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    j'ai fait un print_r voici ce qu'il dit
    (print_r ($_SESSION['monpanier'])
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [0] => 2 [1] => 1 [2] => 3 [3] => 2 )

  6. #6
    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
    et que vaut $req dans ce cas ?

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    cela vaut un array
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [0] => 2 [1] => 3 [2] => 3 [3] => 1 ) INSERT INTO `facture`(idclient,idprest,idpiece) VALUES ('2','Array','Array')

    j'ai essayé cela mais ca l'aire d'enegistrer que la permière chaine

    $panier=implode(',',$_SESSION['monpanier']);


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    2,3,3,1INSERT INTO `facture`(idclient,idprest,idpiece) VALUES ('2','2,3,3,1','2,2')
    merci a toi j'ai résolu mon problème
    il fallait aussi que je mette tous les champs en type varchar 64

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

Discussions similaires

  1. [AC-2007] Recherche d'une chaine de caractères dans une table
    Par yfchauer dans le forum IHM
    Réponses: 5
    Dernier message: 24/03/2013, 18h00
  2. Réponses: 3
    Dernier message: 25/05/2012, 16h53
  3. rechercher une chaine de caractères dans une table
    Par jnmab dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/09/2010, 10h27
  4. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51
  5. recherche d'une chaine de caractère dans une données text
    Par jdeheul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 17/06/2004, 16h35

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