J'ai réussi à envoyer ma variable dans le controller, alors ce que j'ai fais:
Dans la vue:
<input type="button" id="b2012" ?>" class="buttonTab" value="2012" onclick="date_selected();">
Donc onclick j'applique la fonction "date_selected()":
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
| function dates_selected() { //récupère les dates sélectionnés dans un tableau
var tab = new Array("donnée 1", "donnée 2", "donnée 3", "donnée 4");
scriptName = "http://localhost/.../index.php/c_consultation/recupvar";
var xhr_object = null;
// ### Construction de lobjet XMLHttpRequest selon le type de navigateur
// Cas des navigateurs de type Netscape (Firefore, Conqueror, etc.)
if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest(); // Cas du navigateur Internet Explorer
else if(window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); // Cas des navigateurs ne comprenant pas cette technologie (anciens navigateurs)
else{
// XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
// Fin construction de lobjet XMLHttpRequest
xhr_object.open("POST", scriptName, true); // Définition du comportement à adopter sur le changement détat de lobjet
// XMLHttpRequest
xhr_object.onreadystatechange = function(){
// Etat : requête terminée, réponse récupérée
if(xhr_object.readyState == 4){
document.write(xhr_object.responseText);
}
return xhr_object.readyState;
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr_object.send("latlng="+args);//je fais l envoi a php ici
} |
Je récupère ainsi ma variable tab dans le fonction recupvar de mon controller comme ceci:
1 2 3 4 5 6 7 8 9 10 11
| class c_consultation extends CI_Controller {
public function recupvar(){
$variable1 = array();
if((isset($_POST["latlng"]))&&(!empty($_POST["latlng"]))){
$variable1 = $_POST["latlng"];
}
else{
echo "FAIL";
}
return $variable1;
} |
Ensuite je veux envoyer cette variable vers mon modèle pour qu'elle change la valeur dans mon tableau comme ça:
1 2 3
| $annee = $this->recupvar();
$this->load->model('m_model');
$data['tab'] = $this->m_model->consult_un($annee); |
Et ce code me renvoie une page blanche. Je ne dois pas avoir la bonne méthode pour shunter la vue...
Je continue mes recherches.
Partager