[RESOLU] Bouton image action code php

Petit nouveau ! | 8 Messages

22 janv. 2015, 20:29

Bonsoir,

Je dispose d'une page qui exécute une requête sql lorsqu'on clique sur le bouton recherche en fonction des données d'une liste.
Lorsque la requête est exécuté celle ci liste les données dans un tableau et dans ce tableau j'aimerais rajouter un bouton supplémentaire pour effectuer une action en fonction de cette ligne.

Deux contraintes :
- La page ne doit pas être rechargé
- Le code exécuté doit s'afficher en dessous de la ligne concernée.

Voici un bout du code :

Code : Tout sélectionner

<form name='form' method='post' action='xxxxx.php'> Categorie : <select width='50' name='liste'>"; $connect = mysqli_connect("xxxxxx", "xxxx", "", "xxxx"); $result = mysqli_query($connect, "SELECT * FROM `blabla`"); While ($row = mysqli_fetch_array($result, MYSQL_NUM)){ echo "<option>".$row[1]."</option>"; } mysqli_close($connect); echo " </select>&nbsp;&nbsp; <br> <br> <input type='Submit' style='width: 250px;' value='Recherche' name='Search'><br> </form> if (isset($_POST['Search'])) { $cat=$_POST['liste']; $connect = mysqli_connect("xxxxxxx", "xxxxxx", "", "xxxxxx"); $result = mysqli_query($connect, "SELECT * FROM `gplan` WHERE `Categorie` = '$cat' "); While ($row = mysqli_fetch_array($result, MYSQL_NUM)) { // ICI JAFFICHE MON TABLEAU et a la suite les BOUTONS DACTION // ICI BOUTON DACTION <form action='bonplan.php' method='POST'><input name='seefb' type='image' img src='images/voir_feedback.png' width='25' height='25'>&nbsp;<input name='add_fb' type='image' img src='images/add_feedback.png' width='25' height='25'></center> </div>; } mysqli_close($connect); } If (isset($_POST['seefb_x'])) { echo "J'ai cliqué sur mon bouton d'action et j'affiche ça !!!"; }

Donc voila, avec ce code l'action en cliquant sur le bouton fonctionne mais il recharge ma page du coup ce que j'ai dans le tableau disparait car la page est rechargé donc la requête non exécuté.
Comment faire pour ne pas rechargé la page et exécuter le code juste après ?


Cordialement

Mammouth du PHP | 688 Messages

22 janv. 2015, 20:36

en ajax, le plus simple est surement avec jquery qui appelle une page php sur le serveur, script qui fait la requete et retourne les données, qui seront affichés à l'aide de javascript.
voir faq-tutoriels/introduction-ajax-t34763.html

Petit nouveau ! | 8 Messages

23 janv. 2015, 06:40

Bonjour,

Si la personne désactive Javascript , ma portion de code ne fonctionnera plus non ?
Il n'y a vraiment aucune méthode en Php pour réaliser cela ?

Cordialement

Eléphant du PHP | 290 Messages

23 janv. 2015, 23:27

Bonsoir,

Si tu veux envoyer une requête asynchrone, DONC via ajax, pour qu'elle soit exécutée avant
tout rechargement de la page active il faut bien que ton utilisateur ait activé Javascript
sur son navigateur car un programme ajax c'est entièrement écrit en Javascript
(même si ce dernier renvoit à une page de réponse du serveur écrite par exemple en php).
Donc en cas de désactivation de Javascript sur le navigateur de l'utilisateur, pourquoi ne
pas simplement l'avertir de cette désactivation et l'inviter à une réactivation pour
naviguer sur ton site?