[PHP] Enlever un caractère d'une cellule

Résolu
MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   -  
.Zoro. Messages postés 285 Statut Membre -
Bonjour,
Alors voilà, j'ai un petit problème qui me perturbe pour continuer ma suite.
Tout d'abord dans ma base de donnée, j'ai une cellule "items" qui ajoute au furé à mesures des objets. C'est objets pour les identifié sont séparé avec des " | ". Je voudrais en PHP ne pas prendre le |, et ensuite séparer chaque nombre qui sont entre les |. Je vous donne un exemple pour être très clair !
1|2|6|7|8|9|

Merci d'avance, si je n'ai pas été assez précis, veuillez me demander des questions!

Cordialement Antoine



--
░░░░▒▒▒▒████ ♠ MastercroW ♠ ████▒▒▒▒░░░░

6 réponses

  1. .Zoro. Messages postés 285 Statut Membre 33
     
    utilise la fonction explode
    http://php.net/manual/fr/function.explode.php
    1
  2. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    Et sa donne quoi avec la requête suivant ?
    	$objets = $donnees['objets'];
    	$selection = mysql_query('SELECT * FROM items WHERE guid = "'.$objets.'" ');
    

    Désolé je ne connais pas du tout cette fonction x_x
    0
  3. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    Avec la fonction explode soit :
    $str = ''.$objets.'';
    print_r(explode('|', $str, 2));
    

    J'obtiens un Array ( [0] => )
    0
  4. .Zoro. Messages postés 285 Statut Membre 33
     
    essaye :

    $objets = $donnees['objet'];
    $objets2 = explode('|', $objets);

    foreach($objets2 as $line)
    {
    echo $line.'<br />';
    }

    ce petit code devrait afficher un nombre par ligne
    0
    1. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      Bizarre sa n'affiche rien. Help me =(
      0
    2. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      Rien dis, ma table était vide xD, sinon comment fait-on pour prendre les nombres qui seront sortis par ligne ? Dois-je mettre un if ?
      0
    3. .Zoro. Messages postés 285 Statut Membre 33
       
      quand tu dis "prendre un nombre"

      c'est pour dire utiliser les nombres ?

      si c'est le cas
      remplace seulement "echo $line.'<br />';"
      par les instructions de ton choix dans "foreach"

      foreach est une fonction sefvant a explorer les variables sous forme de tableau
      https://www.php.net/manual/fr/control-structures.foreach.php
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    J'ai essayer voici ce que sa donne, et sa ne marche pas =$
    <?php
    $objets2 = explode('|', $objets); 
    $requete1 = mysql_query ("SELECT * FROM items WHERE guid='$objets2'");
    $requete2 = mysql_fetch_array ($requete1);
    foreach($objets2 as $requete2) 
    if ($requete2['pos'] == 12) 
    {
    ?>
    Format 12
    <?php
    }
    ?>
    
    0
    1. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      Je le connais déjà ce site, et pour ce qui est codage, on ne fait avec ce que l'on peux.
      Ensuite il n'y a rien de tout sa, dans le site du zéro. Plutôt essayer de me faire comprendre que de me faire envoyer sur un site de nuls xD.
      Après, tu n'es pas tout seul à savoir coder sur ccm (et heureusement) si tu n'as pas envie de m'expliquer et ben tu le fais pas.
      0
    2. .Zoro. Messages postés 285 Statut Membre 33
       
      je ne dis pas sa pour te faire passer pour un nul

      bref,
      il faudrai que tu me dise ce que tu veut faire avec tes nombres
      0
    3. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      Okai, j'ai une cellule nommé objets avec des nombre par exemple 1|2|6|7|8|9|. Ensuite j'ai une table comme tu as pu le constaté " items ". Ces nombres sont ensuite dans cette table (items) qui sont en GUID. Puisque l'on a les nombres sans | nous pouvons les sélectionner la ligne, et dire quelle est le nombre de la pos.
      As-tu compris ?
      0
    4. .Zoro. Messages postés 285 Statut Membre 33
       
      $objets = $donnees['objet'];
      $objets2 = explode('|', $objets);

      foreach($objets2 as $line)
      {
      $requete1 = mysql_query ("SELECT pos FROM items WHERE guid='.$line.'");
      $requete2 = mysql_fetch_array ($requete1);

      if($requete2['pos'] == 12)
      {
      echo 'pour guid = '.$line.'. le format est 12<br />';
      }
      }
      0
  7. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    Bonsoir Zoro,
    Voici ce que j'obtiens lorsque je met ton nouveau code :
    la variable objets contient : "2|3|4|5|6|7|8|11|12|13|14|16|17|19|20|22|23|"
    pour objets2 egal a : "2", pos vaut : "", le format est incorrect
    pour objets2 egal a : "3", pos vaut : "", le format est incorrect
    pour objets2 egal a : "4", pos vaut : "", le format est incorrect
    pour objets2 egal a : "5", pos vaut : "", le format est incorrect
    pour objets2 egal a : "6", pos vaut : "", le format est incorrect
    pour objets2 egal a : "7", pos vaut : "", le format est incorrect
    pour objets2 egal a : "8", pos vaut : "", le format est incorrect
    pour objets2 egal a : "11", pos vaut : "", le format est incorrect
    pour objets2 egal a : "12", pos vaut : "", le format est incorrect
    pour objets2 egal a : "13", pos vaut : "", le format est incorrect
    pour objets2 egal a : "14", pos vaut : "", le format est incorrect
    pour objets2 egal a : "16", pos vaut : "", le format est incorrect
    pour objets2 egal a : "17", pos vaut : "", le format est incorrect
    pour objets2 egal a : "19", pos vaut : "", le format est incorrect
    pour objets2 egal a : "20", pos vaut : "", le format est incorrect
    pour objets2 egal a : "22", pos vaut : "", le format est incorrect
    pour objets2 egal a : "23", pos vaut : "", le format est incorrect
    0
    1. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      Or, tu as une petit problème je pense dans ton codage :
      $requete1 = mysql_query ("SELECT pos FROM items WHERE guid='.$line.'"); 

      Remplacé par :
      $requete1 = mysql_query("SELECT * FROM items WHERE guid='" . $line . "'");

      Et j'obtiens enfin :
      pour objets2 egal a : "4", pos vaut : "12", le format est 12 (bien-sûr le reste ci dessus)
      0
    2. .Zoro. Messages postés 285 Statut Membre 33
       
      mais tu n'a changé que la requete ???

      et en mettant un *
      la code apporte le resultat attendu ???
      0
    3. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      Oui, voilà, une autre question, je ne peux pas mettre 2 fois la même chose dans la page web ?(toute la requête PHP)
      0
    4. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
       
      Rien qu'en changeant la valeur du if($requete2['pos'] == 6)
      0
    5. .Zoro. Messages postés 285 Statut Membre 33
       
      bah si
      tu peut faire la meme chose avec des valeurs differentes

      en definissant des variables
      0