8791 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,

J'ai ce code :

<?php
session_start();
//print_r($_POST);
	if(isset($_POST["MNEMONIC"]))
	{

		$conn = mysql_connect("localhost","root","mdp"); 
		$db=mysql_select_db("pharma", $conn);
		$res = "SELECT TYPE_DE_COURS FROM cours WHERE MNEMONIC IN (SELECT MNEMONIC FROM enseigner WHERE MATRICULE_PROF = '" . $_SESSION['Matricule'] . "') AND NOM_ANNEE = '" . $_POST["NOM_ANNEE"] . "'";
		$res = mysql_query($res, $conn); 
		
		echo'<script LANGUAGE="JavaScript">alert("'.$res.'");</SCRIPT>';
		

		
		$nombre = mysql_num_rows($res);
		
		

		while($row = mysql_fetch_assoc($res))
		{
		
			echo "<option value='".$row["TYPE_DE_COURS"]."'>".$row["TYPE_DE_COURS"]."</option>";
		}
	}
	else echo'<script LANGUAGE="JavaScript">alert("pas bon");</SCRIPT>';

?>


Le problème est que rien ne s'affiche, j'obtiens :

[QUOTE]Resource id #3[/QUOTE]

Alors que tout les noms des champs de ma table dans le code me semblent correcte.

Le code ci-dessus est associé à un autre code que voici :

/**
* Méthode qui sera appelée sur le changement de la liste déroulante annees
*/
function fnctcours(cours)
{
	//alert(cours);
	var xhr2 = getXhr();
	//alert(xhr2);
	// On défini ce qu'on va faire quand on aura la réponse
	xhr2.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		alert(xhr2.readyState);
			alert(xhr2.status);
		if(xhr2.readyState == 4 && (xhr2.status == 200 || xhr2.status == 0 ) )
		{
//alert('cool'); //cette alerte me permet de savoir qu'on arrive au moins à cet endroit du code
			alert(xhr2.status);
			
			//******  Je ne comprends pas comment le contenu de leselect2 est connu à cet endroit alors que xhr2.open("POST","Scripts/ajaxLivre.php",true); 
			//        se trouve plus bas 
			//*******
			
			
			leselect2 = xhr2.responseText;

			
			alert('xhr2.responseText vaut '+xhr2.responseText);
									alert(leselect2);
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById('select_Nom_types').innerHTML = leselect2; //ici, le nom du select devrait être générique !!!!
			//alert(leselect2);
			//alert('cool2');
		}
	}

	// Ici on va voir comment faire du post
	xhr2.open("POST","Scripts/ajaxTypes.php",true); //ici, on met le nom de la page php qui contient le requête sql

	// ne pas oublier ça pour le post
	xhr2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments
	// ici, l'id de l'auteur
	xhr2.send("MNEMONIC="+cours); //ici, NOM_ANNEE et annee devraient être génériques !!!!			
	
}


Voici la structure de ma table "cours" :

[QUOTE]ID int(11) Non
MNEMONIC varchar(255) Non
NOM_ANNEE varchar(255) Non
NOM_COURS varchar(255) Non
ECTS int(11) Non
PONDERATION int(11) Non
TYPE_DE_COURS varchar(255) Non
[/QUOTE]

Et voici la structure de ma table "enseigner" :

[QUOTE]MATRICULE_PROF varchar(255) Non
MNEMONIC varchar(255) Non
TYPE_DE_COURS varchar(255) Non
ENCODE tinyint(4)[/QUOTE]

Merci d'avance pour votre aide.

beegees
Modifié par beegees (12 Jan 2009 - 07:56)
Salut,

beegees a écrit :
$res = mysql_query($res, $conn);
echo'<script LANGUAGE="JavaScript">alert("'.$res.'");</SCRIPT>';
Tu ne peux pas faire echo $res directement après mysql_query (d'ailleurs que voudrais-tu afficher de cette façon ?).

Il faut extraire les résultats comme tu le fais plus loin avec mysql_fetch_assoc.
Salut Heyoan,

Un tout grand merci pour ta réponse toute à fait logique.

Merci et sorry pour cette question un peu bête.

beegees
De rien Smiley smile !

en passant c'est plutôt
<script type="text/javascript">...</script>
que
<script LANGUAGE="JavaScript">...</SCRIPT>


Et si tu considères que ce sujet est [Résolu] merci de l'indiquer en éditant ton premier post et en modifiant le titre. Smiley cligne