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

JavaScript Discussion :

Créer une ancre en JavaScript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 164
    Par défaut Créer une ancre en JavaScript
    Bonjour à tous !

    Je reviens avec un nouveau défit ! Avant tout, sachez que j'ai cherché mais... hélas Toutes mes tentatives furent infructueuses. Je ne sais même pas si ce que je veux faire se fait en java ou en php !

    Voila, j'ai une liste de restaurants. Grâce à Java, quand le l'utilisateur clique sur un restos, alors en dessous apparaît sa fiche en un clic. A la première ouverture de la page, nous voyons le message SÉLECTIONNER UN RESTAURANT. Voici le code de cette page (j'ai juste mis le code qui nous intéresse :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
     <script type="text/javascript">
    	function afficher_cacher(id)
    {
    if(document.getElementById(id).style.visibility=="hidden")
        </script>
        </head>
     
    <?php include("include/entete.php");?>
    <?php include("include/menu.php");?>
    <?php include("include/connect.php");?>
     
     
     
     
     
    <form clASs="note" method="post" action="fiche.php">
     
    <h4>Pour quel restaurant voulez-vous consulter la fiche ?</h4>
     
    <p><select name="choix_restos" id="choix_restos" selected="selected" onchange="javAScript:submit(this)" required >
     
    <?php
    $selected = $_POST['choix_restos'];
     
    $reponse = $bdd->query('SELECT * FROM restos ORDER BY nom'); ?>
    <option value="o">--</option>
    <?php
     
    while ($choix = $reponse->fetch())
    {
        $selected = ($choix['nom'] == $_POST['choix_restos']) ? ' selected' : '';
     
        echo '<option value="'.$choix['nom'].'"'.$selected.'>'.$choix['nom'].'</option><br />';   
    }
    $reponse->closeCursor();
    ?>
    </select>
    </form>
     
     
    <?php
    //Premier chargement de page Test variable, inexistante pour le moment, $_POST['choix_restos'].
    if (isset($_POST['choix_restos']) AND ($_POST['choix_restos']<>'o'))
    {
    //Récupération des données du formulaire
    $_POST['choix_restos'];
    //Création de variables pour affichages
    $tiret="- ";
    $vact1=false;
    $vact2=false;
    $vact3=false;
    $vact4=false;
     
     
    ?>
     
    <?php
     
     
    $req = $bdd->prepare('SELECT ID, nom , adresse, telephone, horaire, emporte, livre, spe1, spe2, spe3, spe4 FROM restos WHERE nom = ?');
    $req->execute(array(
    $_POST['choix_restos']));
     
    while ($donnees = $req->fetch())
    {
    ?>	
        <div id="reponse">
    	<h4>Fiche Restaurant</h4>	
    	<p><strong>Nom</strong> : <?php echo $donnees['nom']; ?></p>
        <p><strong>Adresse</strong> : <?php echo $donnees['adresse']; ?></p>
    	<p><strong>Téléphone</strong> : <?php echo $donnees['telephone']; ?></p>
    	<p><strong>Horaire</strong> : <?php echo $donnees['horaire']; ?></p>
    	<p><strong>Emporte</strong> : <?php echo $donnees['emporte']; ?></p>
    	<p><strong>Livre</strong> : <?php echo $donnees['livre']; ?></p>
    	<p><strong>Activité</strong> :</br>
    A côté de ça... J'ai une page de recherche qui affiche les restaurants selon les critères d'activités. Sur la réponse, j'ai crée un lien qui retourne vers fiche.php, la première feuille.

    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
    36
    37
    38
    39
    40
     
    <div id="new_cherche">
    <p><a href="recherche.php">Faire une nouvelle recherche</a></p>
    </div>
     
    <div id="result">
    <p class="fiche_restos"><?php if(isset($results)){
          foreach($results as $result){
          //même nom que les champs de ta base
              ?>
     
          </br>Nom du restaurant : <a href="fiche.php#<?echo $result['nom'];?>"><span class="name_restos"><?php echo $result['nom'];?></span></a> </br>
    class="name_restos"><?php echo $result['nom'];?></span></a> </br>
    	  Activité : <?php echo $result['spe1'];?> 
    	  <?php echo $result['spe2'];?> 
    	  <?php echo $result['spe3'];?> 
    	  <?php echo $result['spe4'];?> <br/>
    	  Prestation "A emporte" : <?php echo $result['emporte'];?><br/>
    	  Prestation "A livrer" : <?php echo $result['livre'];?> </br>
          <?php
              }
        } ?></p>
    <?php
                //fermeture de la connexion
                $db=NULL;
    }
    else {
    ?>
     
    <div>
    <p class="critere">Vous n'avez sélectionner aucun critère. </p>
    </div>
     
    <div id="new_cherche">
    <p><a href="recherche.php">Faire une nouvelle recherche</a></p>
    </div>
    <?php
    }
                    
    ?>
    Je pense que avez compris ce qu'il se passe... Dès que je clique sur un nom de resto, je retourne bien à la page fiche.php mais... comme le $_POST est vide, alors j'ai le gentil message : "Merci de sélectionner un restaurant" alors que je souhaite crée une ancre sur le restaurants choisi...

    J'ai essayé avec #<?php echo...> mais comme vous le voyez, ça ne fonctionne pas vu que $_POST est vide !

  2. #2
    Membre éclairé Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Par défaut
    Salut,

    <a href="fiche.php#<?echo $result['nom'];?>">
    Dans ton fichier fiche.php, quelle valeur dois-tu transmettre pour afficher le resto ?
    Selon ton premier code, tu envoies comme paramètre "choix_restos", c'est bien ca ?

    Alors dans ce cas tu dois envoyer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="fiche.php?choix_restos=<?echo $result['nom'];?>">
    Mais il ne faut pas travailler avec le nom. Il faut travailler avec l'id...

  3. #3
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,

    dans ce cas la (voir message de bourvil), tu dois recuperer ta valeur (choix_restos) en GET et non pas en POST :
    $_GET['choix_restos']

    ps : tu confonds ancre (#) et parametre (?)

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Je ne sais même pas si ce que je veux faire se fait en java ou en php
    Euh... oui, mais là c'est le forum JavaScript !

    Pour info, Java != JavaScript...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 164
    Par défaut
    Merci à tous.

    J'ai justement posté ce message sur Javascript car c'est un code Java qui masque la page fiche puis qui l'affiche quand je sélectionne un restos !

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 164
    Par défaut Quoi prendre en compte ? $_GET ou $_POST ou les deux ?
    Citation Envoyé par Lorenzo77 Voir le message
    salut,

    dans ce cas la (voir message de bourvil), tu dois recuperer ta valeur (choix_restos) en GET et non pas en POST :
    $_GET['choix_restos']

    ps : tu confonds ancre (#) et parametre (?)
    J'ai essayé ta solution et celle de Bourvil. Pour répondre à plusieurs question :

    - Dans le fichier fiche.php, c'est bien $_POST['choix_restos'] qui est appelé.
    - Où dois-je écrire $_GET['choix_restos'] ? Dans le fichier fiche.php ? Et si oui,
    comment dire "à la réponse" qu'elle doit accepter deux, soit $_GET ou $_POST ?

    J'ai essayé les deux solutions proposées et ça ne fonctionne pas. Je reviens toujours sur "Merci de sélectionner un restaurant".

  7. #7
    Membre éclairé Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Par défaut
    utilses Quand tu ne sais pas si c'est POST ou GET

  8. #8
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     <script type="text/javascript">
    	function afficher_cacher(id)
    {
    if(document.getElementById(id).style.visibility=="hidden")
        </script>
        </head>
    c'est censé être du javascript ???

    un peu de sérieux SVP js est un langage de programmation pas une poubelle

    A+JYT

Discussions similaires

  1. Stopper le scroll sur une ancre avec javascript
    Par rocketter dans le forum Général JavaScript
    Réponses: 23
    Dernier message: 07/05/2014, 15h10
  2. poser une ancre en javascript
    Par skyangel20 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/10/2007, 14h10
  3. Créer une ancre
    Par MayOL69bg dans le forum ASP.NET
    Réponses: 1
    Dernier message: 05/06/2007, 17h21
  4. [XSL~FO][FOP] Créer une ancre
    Par caro. dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/04/2007, 14h16
  5. [DIV][Javascript] créer une DIV sur onmouseover
    Par pmartin8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/08/2006, 15h10

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