8800 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Pouvez-vous m'aider ?

Dans "boutique00.php", j'ai un script javascript qui envoie vers une autre page php "ajaxcategorie03.php".
Et c'est "$ind" de "ajaxcategorie03.php", que je veux renvoyer dans "boutique00.php"

Voici un code javascript dans "boutique00.php" :

// categorie03
function gocategorie03() {
	document.getElementById("loader03").style.display = "inline";
	getXhr();
	// On définit ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function() {
		// On ne fait quelquechose que si l'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 à la liste
			document.getElementById('td04').innerHTML = leselect;
		}
	}	
	// Ici on va voir comment faire du post
	xhr.open("POST","php/ajaxcategorie04.php",true);
	// Ne ps oublier ç pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// Ne ps oublier de poster les arguments
	// ici l'id de cat01
	sel = document.getElementById('categorie03');
	idcategorie03 = sel.options[sel.selectedIndex].value;
	xhr.send("ix="+idcategorie03);
	// Ouverture du tableau devis
	var selectValue = getSelectValue('categorie03');
	if (selectValue == "" || selectValue == "none") {
		hidden = 5;
	} else {
		hidden = 6;
	}
	document.getElementById("tr04").style.display = "";
	document.getElementById("tr05").style.display = "";
	document.getElementById("tr06").style.display = "";
	document.getElementById("tr07").style.display = "";
	document.getElementById("tr08").style.display = "";
	document.getElementById("tr09").style.display = "";
	document.getElementById("tr10").style.display = "";
	for (hidden=11; hidden<11; hidden++) {
		document.getElementById("tr0"+hidden).style.display = "none";
	}
	document.getElementById("loader03").style.display = "none";
}


Voici le fichier "ajaxcategorie04.php"

<?php
	require_once("connexionMysql.inc.php");
	if (isset($_REQUEST['ix'])) {
                $ind= $_REQUEST['ix'];
		$query = mysql_query("SELECT * FROM shop_articles".
			" WHERE id=".$_REQUEST['ix']);
		while ($back = mysql_fetch_assoc($query)) {	
			$ref= "réf. ".$back['reference'];
			$com= "réf. ".$back['commentaire'];
		}
	}
	
?>


Et pour que votre info soit complète, voici maintenant, en tête de "boutique00.php" :

var xhr = null;
// XMLHttpRequest
function getXhr() {	
	if (window.XMLHttpRequest)
		//Firefox et autres
		xhr = new XMLHttpRequest();
	else 
		// Internet Explorer
		if(window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			// XMLHttpRequest non supporté par le navigateur
			alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
			xhr=false;
		}
}

Modifié par jytest (20 Nov 2011 - 12:39)
Salut,

je ne suis pas rentré dans les détails du code, c'est trop dégueulasse. Et tu n'expliques pas quel est ton problème. Enfin bref, d'après ce que j'ai compris c'est que tu as une page PHP A qui charge du contenu avec de l'ajax en fonction de variables de A, mais ça ne marche pas.

Tu pourrais utiliser un framework JS (comme JQuery, au hasard Smiley lol ) qui permet de gérer très facilement l'ajax et les données retournées par la page appelée.

Si c'est pas ton problème, explicite le Smiley langue