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

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    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 expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    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
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 981
    Points
    2 981
    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

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    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

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    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

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    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

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    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

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    Par défaut
    Citation Envoyé par guitou12
    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']
    Non ça ne fonctionne pas, d'autant que tu ne peux pas déclarer $tavar=$_GET['req'] dans ton switch mais il faut le faire avant.

    Voici le code résumé que j'ai tapé

    <a href="fiche.php>Tous</a>
    <a href="fiche.php?req=H">Homme</a>
    <a href="fiche.php?req=F">Femme</a>
    <?
    $tavar=$_GET['req']
    $req = "SELECT `NOM` FROM joueurs ";
    switch($tavar)
    {
    case '': $req .= ""; break;
    case 'H': $req .= " WHERE SEX=HOMME"; break;
    case 'F': $req .= " WHERE SEX=FEMME"; break;
    default:break;
    }
    $res = mysql_query($req) or die(mysql_error());
    while (
    $ligne = mysql_fetch_assoc($res)) {
    switch ($ligne['RESULTAT']) {
    case '1': $nom_image = "niveau1";break;
    case '2': $nom_image = "niveau2";break;
    }
    echo '<img src="/images/'.$nom_image.'.gif" alt="'.$nom_image.'" title="'.$nom_image.'" />'.$ligne['NOM'].'<br/>';}
    ?>
    Cela ne fonctionne pas.
    Désolés, et merci sincérement pour toute l'aide

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Non ça ne fonctionne pas, d'autant que tu ne peux pas déclarer $tavar=$_GET['req'] dans ton switch mais il faut le faire avant.
    La déclaration devait être faite avant là c'était dans le commentaire à titre d'exemple.

    Ensuite si tu affiches ta requête et que tu la testes dans phpmyadmin ça te ramène quelque chose, parceque à y réfléchir le WHERE SEX=HOMME ou FEMME à mon avis il manque des quotes autour de HOMME ou FEMME

    Il faut bien évidemment aussi que tu aies une variable dans ton url appelée req sinon le $_GET['req'] ne servira à rien mais tu peux le transposer avec un $_POST si c'est une variable de formulaire qui t"intéresse plutôt
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    Par défaut
    Je comprends pas.

    Le select complet fonctionne trés bien sous phpmyadmin
    j'ai fait un echo "'$tavar'"; j'ai bien le H ou le F qui s'affiche donc l'url contient bien la requete et la récupére bien.
    et pourtant il continue a me dire qui il y a une erreur

    'H'
    You have an error in your SQL syntax near ' WHERE SEX='HOMME'' at line 1


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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Pour y voir un peu plus clair remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = mysql_query($req) or die(mysql_error());
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = mysql_query($req) or die("Rien de va plus !!<br />".$req."<br />".mysql_error());
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    Par défaut
    J'ai refais un code plus simple :

    Ex : requete : fiche.php?req=H

    <?
    $tavar=@$_GET['req'];
    echo "'$tavar'";
    $req = "SELECT `NOM` FROM joueurs ";
    switch($tavar)
    {
    case 'H': $req = " WHERE SEX='H'" or die(mysql_error());break;
    case 'F': $req = " WHERE SEX='F'" or die(mysql_error());break;
    }
    $result = mysql_query($req) or die("Rien de va plus !!<br />".$req."<br />".mysql_error());
    while($ligne = mysql_fetch_array($result)) {
    $id = $ligne["NOM"];
    echo "'.$id.'";
    }
    ?>

    Réponse :

    'H'
    Rien de va plus !!
    and SEX='H'
    You have an error in your SQL syntax near 'and SEX='H'' at line 1

    Si j'enleve le switch, le select complet SELECT `NOM` FROM joueurs WHERE SEX='H' fonctionne trés bien..............


    BIZARRE

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Wouh didiou didiou à recopier les codes à moitié voilà ce qui arrive

    Cf ma signature

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    case 'H': $req .= " WHERE SEX='H'";break;
    case 'F': $req .= " WHERE SEX='F'";break;
    Sinon pas besoin du or die après ton affectation dans le switch
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Points : 183
    Points
    183
    Par défaut
    Bordel il a fallut que ça tombe sur moi .

    Le pire c'est que je l'ai lu avant de répondre la premiere fois, que je l'ai noté dans mon tuto que je me suis fait.

    MMMAAAIIISSS pourquoi faut il toujours que je serve d'exemple.............
    Ok c'est bon, je vais me poser la question

    Bon je t'invite a donner l'URL de ce post a chaque fois que quelqu'un oubliera ce foutu point pour qu'il voit combien de temps inutiliement on peut faire perdre au sympatiques personnes comme toi qui consacrent de leur temps pour aider les indisciplinés et étourdis comme MOI.

    Je te présente toutes mes excuses, et te remercie sincérement car tout fonctionne trés bien.

    Trés bonne journée a toi, et encore désolés

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Y a pas de mal la problématique du départ n'était pas due à l'absence de point donc a bien résolu ton problème.

    @+
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

+ 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, 10h12
  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, 18h30
  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, 12h21
  4. Réponses: 12
    Dernier message: 09/06/2009, 10h26
  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, 09h36

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