Executer une requete de modification de la base de donnée sur un clique d'un bou

magnamaitre - 30 avril 2013 à 09:51
 nicotontige - 30 avril 2013 à 16:30
Bonjour,

je sui entrain de réaliser une application pour traiter des demandes de logements et la je dois mettre à jour une image (rouge orange vert) en fonction de savoir si la demande a été traité ou non.

En gros j'ai deux fichier : index.php et demande.php

sur index.php on peut voir tout les dossier avec leur adresse genre:

(carré rouge) 3302151 2 rue de châteauroux

lorsque je clique sur le dossier j'arrive sur ma page demande.php et la je mets à jour ma base dès l'arrivé sur cette page et donc quand je reviens à ma page précédente on peut voir:

(carré orange) 3302151 2 rue de châteauroux

Ma question est la suivante : je possède un form de ce style :

Avez vous traitez le dossier? (et deux bouttons) OUI NON

Je voudrais lors du clique sur le oui lancé une requete de modification pour modifier ma colonne (LEGENDE) pour ce dossier (LKLO). Sachant que lors du clique on revient à la page index.php.

J'ai éssayé avec un "onclick" mais ça fonctionne pas;

Merci d'avance pour votre réponse.

Je met en dessous mon code pour les bouttons:

 COMMISSION D'ATTRIBUTION LOGEMENT DU <?php echo $DATCOM; ?> 

          

          
          ,
Veuillez choisir un dossier s'il vous plait 


          <Fieldset align="center">
              <legend align="center" >Réponse</legend>
              
Avez-vous fini de traité la demande?
              


              <FORM action="./index.php" name="reponse" method="GET" >
                
                
              </FORM>
              

            </Fieldset>



Magnamaitre pour vous servir

1 réponse

Bonjour,

C'est de l'ajax qu'il te faut dans le cas présent (et donc si, il faut un évènement onclick)
Tout d'abord une page PHP qui permet de modifier ta base de données, avec pour variable des $_POST de préférence (sécurité) et à l'intérieur des updates correspondant.
je te laisse cette partie, car tu seras plus apte que moi à le faire (c'est ta bdd après tout ).

Pour la partie ajax (je ne sais pas si tu connais => AJAX = PHP + javascript) je te laisse le code suivant :
Dans mon exemple, la page php que tu auras créer s'appellera update.php
function dossier_traitement(value, id) {
//ici le value correspondra à la réponse du bouton, ex : 1 pour oui / 0 pour non
//l'id correspondra à l'id de ton dossier
if (value == 1) { //si le user a cliqué sur oui
var XHR = XHR_creation();
XHR.open("POST","update.php",true); //ici POST ou GET, sachant que le post est plus sécurisant. Tout dépend de comment sera sont récupérer tes variables sur ta page php
XHR.setRequestHeader("Content-type","application/x-www-form-urlencoded");
XHR.onreadystatechange = function () { //action à faire quand on reçois une réponse de la page
if (XHR.readyState 4 && (XHR.status 200 || XHR.status == 0)) {
window.location.href ='index.php';
}
}
XHR.send("id=" + id); //on envoie le numéro id du dossier à la page PHP
} else {
//action à réaliser si appuie sur bouton NON
}
}


function XHR_creation() { //script de création d'objet pour l'ajax
var XHR = false; 
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
XHR = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
XHR = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
XHR = new XMLHttpRequest(); 
}
return XHR;
} else {
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return;
}
}


Bien entendu, ne pas oublier de mettre les onclick sur des boutons

                
0
Rejoignez-nous