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

Langage PHP Discussion :

Manipuler les chaînes de caractère. [PHP 5.6]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Montpellier
    Inscrit en
    Janvier 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Montpellier

    Informations forums :
    Inscription : Janvier 2016
    Messages : 15
    Par défaut Manipuler les chaînes de caractère.
    Bien le bonjour


    Suite à un petit soucis je viens poster mon petit problème sur le forum .
    Voici une petite partie de mon code.


    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
     
    function C_get_Products_BDD($Products)	
    {
     
      $Products_Nb = count($Products);
      $resultat = "(";
     
     
      foreach ($Products as $Product_Item)
            {
              $resultat = $resultat . ", " . $Product_Item;
            }
            $resultat = $resultat . $Product_Item = ")";
     
     
    }
    Lorsque j' affiche se que contient ma Variable $resultat celle çi m' affiche "(, 3, 2, 1)".
    J' aimerais donc trouver un moyen de pouvoir retirer le second caractére qui correspond à ",".
    J' ai testé plusieurs moyen
    (strlen et trim), mais aucun succés donc je me retroune auprés de vous .

  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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function C_get_Products_BDD($Products)	
    {
        return '(' . implode(',', $Products) . ')'; 
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Femme Profil pro
    Montpellier
    Inscrit en
    Janvier 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Montpellier

    Informations forums :
    Inscription : Janvier 2016
    Messages : 15
    Par défaut
    Merci pour ta réponse rapide, je n'ai pas réellement compris le fonctionnement de execution de cette fontion dans mon code(même avec la doc ) mais en tout cas ça a résolu mon problème il semblerait.
    Si jamais ta une petite explication je suis preneur.

    Bon aprés de nombreux test ça ne fonctionne pas dommage pour moi j' ai du louper un truc. je vais tenter d' expliquer un peu tout.


    ma variable $Products renvois les données array(3) { [0]=> string(1) "3" [1]=> string(1) "2" [2]=> string(1) "1" } de base.

    Ma premiére fonction me sert à récuperer mes elements de ma variable $Products, et de les envoyer dans mon $resultat via une rêquete SQL qui se trouve dans ma class Model pour récuperer des elements precis de ma BDD

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	function C_get_Products_BDD($Products)
    { 
          $Products_Nb = count($Products);
          $resultat = "(";
          foreach ($Products as $Product_Item)
            {
               $resultat = $resultat . ", " . $Product_Item;
            }
            $resultat = $resultat . $Product_Item = ")";
            $Model = New Products_Model;
    	$Products_ID = $Model->M_get_Products_BDD($resultat);
            }
    Voiçi ma seconde Function

    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
     
      function M_get_Products_BDD($resultat)
          {
            try
            {
            $req =  BDD::getConnect()->prepare("SELECT * FROM `_products` WHERE `ProductID` IN " .$resultat);
     
            $req->execute();
            $Product_ID = $res->fetchAll();
            return $Product_ID;
            }
            catch (Exception $e)
              {
                die($e->getMessage());
              }
          }
    le soucie lorsque j' envois ma $Resultats je 'n arrive pas à envoyer une chaine de caractére correct elle représente actuuellement = "(, 3, 2, 1)".

  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
    Par défaut
    Tu nous remets le même code qu'au début et tout nous dis que ça ne fonctionne toujours pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function C_get_Products_BDD($Products)
    { 
            $resultat = '(' . implode(',', $Products) . ')'
            $Model = New Products_Model;
    	$Products_ID = $Model->M_get_Products_BDD($resultat);
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Femme Profil pro
    Montpellier
    Inscrit en
    Janvier 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Montpellier

    Informations forums :
    Inscription : Janvier 2016
    Messages : 15
    Par défaut
    Je t' avourais que j' ai passé plus de 10 heures à tenter de réaliser une partie de mon programme hier, et j' etais totalement épuisé et trés enervé :'(, et par miracle se matin devant mon petit thé et mon journal j' ai eu la révélation de comprendre mon erreur, utilisation de celle çi dans mon code et de ta fonction php, et la par miracle effectivement j' ai les bonnes informations qui sont envoyé dans ma requête sql et je devrais pouvoir faire fonctionner tout ça à present je te remercie grandement pour ton aide et ton eclaircisement

  6. #6
    Membre averti
    Femme Profil pro
    Montpellier
    Inscrit en
    Janvier 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Montpellier

    Informations forums :
    Inscription : Janvier 2016
    Messages : 15
    Par défaut
    Petite Info .

    J' avais un problème avec ta function implode(), celle çi me renvoyait une chaîne de caractère, et ma requête SQL planter du coup, vue qu'elle s'attendait à recevoir un entier aprés le IN et non pas une chaîne de caractére.

    Pour remédier à ce problème j' ai dans un premier temps utilisé la function SUBSTR() pour avoir la bonne chaîne de caractère et retirer la ,.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $resultat = substr($resultat,0,1) .substr($resultat,2);
    et j' ai ensuite fait un Foreach de mon résultat pour récupérer les $key.

    En tout cas merci pour ton aide, je connaissais pas cette function implode() et elle me servira pour plus tard.

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

Discussions similaires

  1. MFC + Manipuler les chaînes de caractères
    Par mqsi dans le forum MFC
    Réponses: 2
    Dernier message: 15/11/2006, 16h24
  2. Manipulation de chaînes de caractères
    Par sbeprod dans le forum Access
    Réponses: 15
    Dernier message: 28/07/2006, 14h33
  3. Réponses: 3
    Dernier message: 07/12/2005, 10h09
  4. Etat - Manipulation de chaînes de caractères
    Par migaleb dans le forum Access
    Réponses: 3
    Dernier message: 07/12/2005, 09h55

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