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 :

Afficher code PHP selon choix [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut Afficher code PHP selon choix
    Bonjour le forum, jsute une petite question, s'il vous plait :

    Je cherche a afficher dans un seul div overflow, différents code PHP, chacun sera choisi selon un lien externe au div.

    Exemple :

    Lien 1 /// Lien 2

    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
    29
    30
    31
    32
    33
    34
    35
    <DIV style='overflow: auto; height: 250; width: 179; scrollbar-face-color: #EAEDF4; scrollbar-highlight-color: #EAEDF4; scrollbar-shadow-color: #EAEDF4; scrollbar-3dlight-color: #EAEDF4; scrollbar-arrow-color: #5F107C; scrollbar-track-color: #EAEDF4; scrollbar-darkshadow-color: #EAEDF4' ''>
    <p style="margin-top: 0; margin-bottom: 0">
    <font color="#6801F5" face="Verdana" size="1">
     
    ///// le lien 1 correspondrait a ça :
     
    <? 
    $res = mysql_query("SELECT `NOM` FROM joeurs WHERE SEX=HOMME order by nom") or die(mysql_error());
    while (
    $ligne = mysql_fetch_assoc($res)) { 
       switch ($ligne['RESULTAT']) { 
          case '1': $nom_image = "Niveau3";break; 
          case '2': $nom_image = "Niveau2";break; 
          case '3': $nom_image = "Niveau1";break; 
       } 
      echo '<img src="/images/'.$nom_image.'.gif" alt="'.$nom_image.'" title="'.$nom_image.'" /><a href="#" onClick="window.open(\'http://www.mon-domaine.com/fiche.php?NOM='.$ligne['NOM'].'\',\'popup1\',\'toolbar=no,status=no,width=780,height=615,scrollbars=no,location=no,resize=no,menubar=no\')"></A><br/>';}
    ?>
     
     
     
    ///// le lien 2 correspondrait a ça :
     
    <? 
    $res = mysql_query("SELECT `NOM` FROM joeurs WHERE SEX=FEMME order by nom") or die(mysql_error());
    while (
    $ligne = mysql_fetch_assoc($res)) { 
       switch ($ligne['RESULTAT']) { 
          case '1': $nom_image = "Niveau3";break; 
          case '2': $nom_image = "Niveau2";break; 
          case '3': $nom_image = "Niveau1";break; 
       } 
      echo '<img src="/images/'.$nom_image.'.gif" alt="'.$nom_image.'" title="'.$nom_image.'" /><a href="#" onClick="window.open(\'http://www.mon-domaine.com/fiche.php?NOM='.$ligne['NOM'].'\',\'popup1\',\'toolbar=no,status=no,width=780,height=615,scrollbars=no,location=no,resize=no,menubar=no\')"></A><br/>';}
    ?>
     
    </div>
    Mais je ne veux pas le mettre comme ça je cherche a faire apparaitre l'un ou l'autre en fonction du choix du lien ET NON faire apparaittre les deux dans un autre div overflow avec signet.

    Avez vous une idée s'il vous plait?

  2. #2
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    En effet il ya moyen de faire ça plus "propre"

    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
    <?
    $req = "SELECT `NOM` FROM joeurs WHERE SEX=";
    switch($tavar) // $tavar issue du lien par exemple index.php?req=h    $tavar=$_GET['req']
    {
    case 'homme': $req .= " HOMME"; break;
    case 'femme': $req .= " FEMME"; break;
    default:break;
    }
     
    $req /= " order by nom";
     
     
    $res = mysql_query($req) or die(mysql_error());
    while (
    $ligne = mysql_fetch_assoc($res)) {
    switch ($ligne['RESULTAT']) {
    case '1': $nom_image = "Niveau3";break;
    case '2': $nom_image = "Niveau2";break;
    case '3': $nom_image = "Niveau1";break;
    }
    echo '<img src="/images/'.$nom_image.'.gif" alt="'.$nom_image.'" title="'.$nom_image.'" /><a href="#" onClick="window.open(\'http://www.mon-domaine.com/fiche.php?NOM='.$ligne['NOM'].'\',\'popup1\',\'toolbar=no,status=no,width=780,height=615,scrollbars=no,location=no,resize=no,menubar=no\')"></A><br/>';}
    ?>
    Je pense que ça devrait faire l'affaire
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut
    Merci pour cette réponse mais j'ai un doute sur ma précédente explication.

    On parle bien de 2 liens (ou plus) qui sont certes externe au DIV mais qui sont quand meme sur la meme page.

    Je dis ça car en regardant vite ton code, j'ai l'impression qui tu parles d'un accés via l'URL de la page, et dans ce cas, je suis désolés de mon explication pas précise, mais je ne voulia spas passer par l'url de la page.

    Maintenant avant de t'embeter, je vais quand meme essayer ton code.

    a tout de suite

  4. #4
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    J'ai pas pris en compte ton histoire de div mais juste le traitement de ta requête qui est juste semblable à un mot pres.
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut
    ça ne marche pas....

    J'ai bien compris ton code, mais Je reprends mon explication en rajoutant une info :

    Imaginons 3 choix que je retrouve dans ma BDD
    choix 1 -> Tous (Case SEX est vide)
    choix 2 -> Homme (Case SEX affiche H)
    choix 3 -> Femme (Case SEX affiche F)

    Sur la page, s'affiche par défaut le choix 1 avec la liste de tous les joueurs quelques soient leurs sexes:

    Ensuite sur cette page, on donne le choix d'afficher soit la liste complete (Tous) soit la liste des H soit la Liste des F.

    Voici l'erreur :
    Warning: Division by zero in /home/clients/www/mon-domaine.com/www/fiche.php on line 235
    Query was empty

    Alors qu'ils existent bien des fiches deja dans la BDD avec la mention H ou F ou vide ????

    Merci de votre patience

  6. #6
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Dans ce cas si il ya un 3eme choix il faut modifier le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $req = "SELECT `NOM` FROM joeurs ";
    switch($tavar) // $tavar issue du lien par exemple index.php?req=h    $tavar=$_GET['req']
    {
    case 'homme': $req .= " WHERE SEX=HOMME"; break;
    case 'femme': $req .= " WHERE SEX=FEMME"; break;
    default:break;
    }
    Ton erreur est due au fait que la requête n'est pas prise en compte, il faut que tu regardes comment rentrer dans le switch($tavar), si c'est une case cochée par formulaire alors ça sera un truc du style $tavar = $_POST['sexe']
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  7. #7
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    La balise code (#) serait peut être plus appropriée que citation ...

    Utilise un if en récupérant la variable passé dans l'url (on a pas beaucoup d'info pour te repondre ...) ou tu teste avec un regex si le lien est le 1 ou le 2 et tu fait en conséquence

    EDIT : grilled

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

Discussions similaires

  1. [WD-2000] Afficher un texte selon choix d'une liste déroulante
    Par wyzer dans le forum VBA Word
    Réponses: 11
    Dernier message: 13/12/2017, 11h12
  2. [Toutes versions] Afficher un contenu selon choix de liste déroulante
    Par GroFlo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/01/2013, 19h30
  3. [AC-2007] Afficher un état selon choix dans un formulaire
    Par maid dans le forum IHM
    Réponses: 4
    Dernier message: 09/12/2009, 13h21
  4. Réponses: 12
    Dernier message: 09/06/2009, 11h26
  5. [PHP-JS] Afficher code PHP dans page JSP
    Par metatron dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/08/2006, 10h36

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