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 :

syntaxe pas évidente à mettre en place [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Par défaut syntaxe pas évidente à mettre en place
    bonjour à tous

    je ne sais pas trop par quel bout m'y prendre donc je vous explique ce que j'ai besoin de réaliser et mes premiers bouts de code...

    j'ai une liste écrite sous la forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste = "abstrait, art brut, art naïf, autres (mosaïque, avant garde)";
    j'ai une liste longue avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste_longue = "abstrait, art brut, art naïf, nu, image, autres";
    ces 6 éléments sont 6 checkbox

    je veux qu'à chaque fois qu'un élément est dans liste, il soit coché dans mes checkbox

    comment dois-je procéder car j'ai des mots composés (avec un blanc dedans) et je veux qu'à chaque fois que "autres" est dans $liste alors il me rajoute une cache en input pour y mettre la valeur qui se trouve entre parenthèses...

    je pars du principe:
    - qu'il faut que je fasse un traitement préalable sur tous les champs de $liste pour leur enlever le caractère blanc lorsqu'on est entre virgules donc:
    $tuple_sansblanc = str_replace($substitutions, "blanc", $liste);

    - qu'ensuite je découpe $liste (en prenant pour unite de découpage ", ") pour avoir chacune des valeurs dans un tableau:
    $liste_decoupe = explode(", ", $tuple_sansblanc);

    du coup j'obtiens donc dans $liste_decoupe les 4 valeurs suivantes:
    abstrait
    art brut
    artblancnaïf
    autres (mosaïqueblancavant garde)

    à partir de là je dois donc vérifier par une boucle générale qui va dérouler tous les éléments de $liste_longue (récupération sur ma base mysql de $liste_longue)
    donc j'ai un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($data = mysql_fetch_assoc($req))   {
    qui va passer un à un tous les éléments de la liste_longue
    pour en faire afficher des checkbox classiques, qui ne seront pas cochés par défaut

    et c'est maintenant que ça ne va plus... je n'arrive pas à traiter tous les cas...
    car il faut que dans $liste_longue je complète ce fameux caractère blanc que j'ai entre 2 mots par exemple avec "art brut", que si l'élément ainsi transformé est égal à l'une des valeurs se trouvant dans $liste_decoupe alors le bouton sera checked et que si on trouve "autres" alors on récupère la valeur entre parenthèses et que à la fin à l'affichage j'ai bien des valeurs notées sans "blanc" donc avec un espace entre les 2 mots lorsqu'ils faisaient partie d'un même item...

    voilà....
    j'en suis là... je ne m'en sors pas...
    si quelqu'un peut m'aider...

    merci beaucoup

  2. #2
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Salut, j'ai eu un problème similaire de caractère "espace" qui marche sur un serveur windows mais pas sur linux...

    Je te donne ma solution (qui ne sera peut etre pas la tienne)...

    Dans mon code, j'utilisais "_" a la place d'un " "... --> exemple:

    "la plage" devenait "la_plage"... Pour que l'utilisateur ne voit pas ce subterfuge (correct ortho?), je n'affichais pas les "_" mais utilisait deux fonctions pour coder:decoder les strings...

    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
    24
    25
    26
    27
    28
     
    function stringToLinuxString($string)
    {
    	$res = str_replace(" ", "_", $string);
    	$res = str_replace("é", "eaigu", $res);
    	$res= str_replace("è", "egrave", $res);
    	$res= str_replace("à", "agrave", $res);
    	$res= str_replace("ê", "ecirc", $res);
    	$res= str_replace("â", "acirc", $res);
    	$res= str_replace("î", "icirc", $res);
    	$res= str_replace("û", "ucirc", $res);
     
    	return $res;
    }
     
    function linuxStringToString($string)
    {
    	$res = str_replace("_", " ", $string);
    	$res = str_replace("eaigu", "é", $res);
    	$res= str_replace("egrave", "è", $res);
    	$res= str_replace("agrave", "à", $res);
    	$res= str_replace("ecirc", "ê", $res);
    	$res= str_replace("acirc", "â", $res);
    	$res= str_replace("icirc", "î", $res);
    	$res= str_replace("ucirc", "û", $res);
     
    	return $res;
    }
    Voilà, donc pour creer une checkbox avec des mots ne contenant pas les caractères inconnus pour unix...

    Je sais, je n'ai pas répondu a ta question mais je t'aurais peut etre aiguillé ...

    ++
    JC

  3. #3
    Membre éclairé Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Par défaut
    merci jc_cornic

    tes explications et scripts ne m'ont pas donné la solution en effet, mais m'ont permis de remettre d'équerre tout cela...
    j'ai mis en BDD des données sans blanc et non accentuées et c'est à l'affichage que j'effectue désormais, avec ton idée, la décodification

    @+

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

Discussions similaires

  1. [UML] Je ne vois pas où mettre la vue !
    Par le Daoud dans le forum MVC
    Réponses: 12
    Dernier message: 19/03/2006, 09h31
  2. 2 requêtes pas évidentes à différencier
    Par trotters213 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/03/2005, 15h57
  3. Réponses: 5
    Dernier message: 28/07/2004, 11h39
  4. Réponses: 1
    Dernier message: 02/06/2004, 13h59
  5. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01

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