Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/11/2011, 15h08   #1
Invité de passage
 
Inscription : novembre 2009
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 12
Points : 3
Points : 3
Par défaut Problème AJAX-MYSQL en MVC

Bonjour et tout d'abord merci pour vos futures réponses.
Le problème est le suivant :
- 2 menu déroulant (<select>)
-Domaine
-Sous-Domaine
- mettre à jour Sous-Domaine quand Domaine est modifié.

J'utilise déja une requête qui marche parfaitement dans une autre page de mon logiciel. Mais quand j'appelle la meme action sur une 2eme page, il m'affiche une erreur que je comprends absolument pas.
Voivi mon code :
- fonctions.js

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function dom(){
				var xhr = getXhr();
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						leselect = xhr.responseText;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById('id_sousDomaine').innerHTML = leselect;
					}
				}
 
				// Ici on va voir comment faire du post
				xhr.open("POST","ajaxsousdomaine",true);
				// ne pas oublier ça pour le post
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id du domaine
				sel = document.getElementById('id_domaine_java');
				iddomaine = sel.options[sel.selectedIndex].value;
				xhr.send("id_domaine="+iddomaine);
			}
IndexController.php

Je rappelle que cette action marche parfaitement sur creerrex.phtml.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
	function ajaxsousdomaineAction()
		{
			echo "<select name='id_sousDomaine'>";
			if(isset($_POST["id_domaine"])){
				mysql_connect("localhost","root","");
				mysql_select_db("rex");
				$res = mysql_query("SELECT id_sousDomaine,desc_sousDomaine FROM sous_domaine 
					WHERE id_domaine=".$_POST["id_domaine"]." or id_domaine='0' ORDER BY desc_sousDomaine");
				while($row = mysql_fetch_array($res)){
					echo "<option value='".$row["id_sousDomaine"]."'>".utf8_encode($row["desc_sousDomaine"])."</option>";
				}
			}
			echo "</select>";
		}
code de la vue afficher.phtml

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<tr>
 
// partie domaine
				<td>Domaine d'intervention  :</td><td><select name="id_domaine" id="id_domaine_java" onChange="dom()">
				<?php foreach($this->domainesql as $dom){ ?>
				<option value=<? echo $dom->id_domaine; 
								if($dom->id_domaine==$this->rapport->id_domaine)
								{echo ' selected=selected';}?>><? echo $dom->desc_domaine; ?></option>
				<? }?>
				</select></td></tr>
// partie sous-domaine
 
			<tr>
				<td>Sous-Domaine d'intervention :</td><td>
				<div id='id_sousDomaine' style='display:inline'>
				<select name='id_sousDomaine'><?php foreach($this->sousdomainesql as $ssdom){ ?>
				<option value=<? echo $ssdom->id_sousDomaine; 
								if($ssdom->id_sousDomaine==$this->rapport->id_sousDomaine)
								{echo ' selected=selected';}?>><? echo $ssdom->desc_sousDomaine ?></option>
				<? }?>
				</select></td></tr>
L'erreur qu'il m'affiche est la suivante :
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ajaxsousdomaine' in 'where clause''

en gros j'ai l'impression qu'il considere l'action ajaxsousdomaine comme une colonne mysql dans fonctions.js
Code :
xhr.open("POST","ajaxsousdomaine",true);
... obvious me direz vous... mais quelques choses m'échappe.

Merci les gars et j'espère avoir été clair dans mes explications.
makn0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h58.


 
 
 
 
Partenaires

Hébergement Web