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 :

Onclick sur balise <a> pour traitement php


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut Onclick sur balise <a> pour traitement php
    Bonjour, et bonne année !!

    Je réalise actuellement un mini site de ventes en lignes, et mon problème est que je souhaite pouvoir exécuter différentes requêtes sql (via php) en fonction des critères de choix de l'utilisateur (via un menu, exemples : action / aventures ...etc). Ce qui me pousse à utiliser du javascript est que j'aimerais ne pas avoir à créer plusieurs fichiers.php, mais plutôt réinitialiser une partie de la page en question au clique de l'utilisateur sur le sous-titres du menu correspond à son critère de tri.
    Je ne coince pas sur les requêtes mais plutôt sur le fait de transmettre l'information de cette manière.

    J'avais pensé au début à placer de évènements onclick sur mes balises <a>, mais visiblement ce n'est pas la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <li>
    	<a onclick="this.innerHTML='<?php $_POST['genre']='Action'; ?>'" href="Tuto.php"><img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;"/>
    	Action 
    	</a>
    </li>
    <li>
    	<a href="#">
    	<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;" onclick="this.innerHTML='<?php $_POST['genre']='Aventure'; ?>'"/>
    	Aventure
    	</a>
    </li>
    Peut-être dois-je faire en sorte d'appeler une fonction à part à chaque fois, mais bon je pèche un peu ...

    Je ne touche jamais au javascript habituellement, donc désolé si la question semble stupide .
    Surtout que je suis persuadé que c'est pas si compliqué que ça, je continue de chercher.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Points : 358
    Points
    358
    Par défaut
    Le code PHP de la page n'est interprété qu'une fois lors de l'affichage de la page. Pour recharger une partie de la page avec une nouvelle requête il faut utiliser ajax.
    Ici il faut lors du clic sur un élément faire appel en javascript à un fichier php qui va exécuter la requête en lui passant le paramètre de tri afin qu'il retourne les bon résultat qu'il faut ensuite afficher dans la page.

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Merci numew .
    Je vais travailler là-dessus ...
    Pas facile tout ça

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Considère php comme une machine à ecrire du code html css js .
    Une fois le code généré par php il est expédié vers la navigateur du client.
    Ce que tu as codé c'est comme si tu tentais de modifier sur ta machine à écrire "Bonjour Monsieur" en "Bonjour Madame" quand le courrier arrive au destinataire ...

    Pour modifier des éléments sur la page avec php tu dois obligatoirement le faire coté serveur, soit avant le départ de la page
    Soit dans ton cas en rechargeant la page pour revenir sur le serveur puisqu'il s'agit d'un onclick (action coté client)
    Soit encore avec ajax qui permet une conversation client serveur sans rechargement de page.

    Attention toutefois avec le type d'évènement déclenchant choisi, le onclick d'une balise a si tu passe par ajax, n'oublie pas d'inhiber le href ..

  5. #5
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Je reviens vers vous ,

    Bon j'ai trouvé dans un premier temps ce que je voulais ce matin, (après avoir passer 2 heures la nuit dernière à faire ce que je peux finalement faire en 10sc ).

    Donc, je voulais en gros envoyé une variable qui me permettra d'exécuté la requête souhaité (si possible sans recharger la page, mais chaque chose en son temps sachant que je n'arrivais pas à même pas à le faire avec le rechargement de la page ...), or pour ça pas du tout besoin de passer par javascript.
    Il suffit d'utiliser la méthode $_GET pour récupérer une variable passer dans l'url de la page.

    Je sais que je suis sur le forum dédié à javascritp mais sais-t-on jamais ça peut servir :
    Exemple ->
    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
     
     
    // sous-titres du menu en question
    					        <li>
    								<a href="Tuto.php?genre=Action">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;"/>
    								Action 
    								</a>
    							</li>
    					        <li>
    								<a href="Tuto.php?genre=Aventure">
    								<img src="Images/fleche.png" alt="fleche" id="fleche" style="width:20px; height:20px;"/>
    								Aventure
    								</a>
    							</li>
    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
     
     
    				<div id="liste_produit">
    					<h2>Nouveautés</h2>
    					<?php
                                            
                                            connectMaBase();
                                            
                                            if( empty($_GET['genre']) ) // Si la variable 'genre' est vide (dans notre cas, inexistante ...)
                                            {
                                                    $sql = 'SELECT * FROM produits';
                                                    $requete = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                                            }
                                            else // Si la variable 'genre' existe
                                            {
                                                    $sql = 'SELECT * FROM produits WHERE genre= "'.htmlentities(trim($_GET['genre'])).'" ';
                                                    $requete = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());                                  
                                            }
                                            
                                            echo ' <div id="produit"> ';
                                            while( $result = mysql_fetch_array( $requete ) )
                                            {
                                                    // Faites votre traitement
                                            }
                                            
                                            echo '</div>';
                                            
                                            ?>
    Je vais maintenant regardé du côté de l'Ajax pour étudier véritablement la question du rafraichissement de la page.
    Je reviendrai si j'ai quelque chose de concret

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

Discussions similaires

  1. Récupérer $POST de formulaire créer par JAVASCRIPT pour traitement PHP
    Par rodblochon dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/03/2010, 06h14
  2. onclick sur balise <a>
    Par papouuu86 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/10/2009, 18h36
  3. IE6 onclick sur balise <a>
    Par jep33 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 29/05/2009, 07h53
  4. onclick sur balise button
    Par sallemel dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/02/2009, 10h58
  5. [DOM] onClick sur balise Script
    Par electro38 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 01/07/2008, 08h31

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