IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

"Resource id #3" au lieu de l'affichage des données de ma base de données


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut "Resource id #3" au lieu de l'affichage des données de ma base de données
    Bonjour tout le monde,

    J'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    <?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 :

    Resource id #3
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    /**
    * 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" :

    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
    Et voici la structure de ma table "enseigner" :

    MATRICULE_PROF varchar(255) Non
    MNEMONIC varchar(255) Non
    TYPE_DE_COURS varchar(255) Non
    ENCODE tinyint(4)
    Merci d'avance pour votre aide.

    beegees

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    ça ressemble pas mal à cette question : http://www.developpez.net/forums/d66...rce-id-sharp5/

    Pour récupérer les résultats d'une requête SELECT exécutée avec mysql_query, il faut utiliser l'une des fonctions mysql_fetch_*, par exemple mysql_fetch_assoc
    Ou si j'essaie de le dire différemment, le retour de mysql_query n'est pas un résultat directement exploitable, mais une ressource qui doit être analysée par des fonctions spécifiques (celles qui commencent par mysql_fetch...).

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Bonjour,

    ça ressemble pas mal à cette question : http://www.developpez.net/forums/d66...rce-id-sharp5/



    Ou si j'essaie de le dire différemment, le retour de mysql_query n'est pas un résultat directement exploitable, mais une ressource qui doit être analysée par des fonctions spécifiques (celles qui commencent par mysql_fetch...).
    Bonjour Eusebe et merci pour ta réponse.

    C'est donc tout à fait normal si j'obtiens ce message :

    Resource id #3
    Ce n'est donc pas la source de mon erreur.

    Je te remercie pour ta réponse.

    Je vais devoir chercher autre part.

    Encore un grand merci à toi et bon Dimanche.

    beegees

  4. #4
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Ce que tu peux faire, c'est afficher ta requête SQL ($res, mais avant passage par mysql_query), pour voir si elle est correcte (par exemple en l'exécutant sur phpmyadmin).

    Déjà, un élément de sécurité : il faut que tu échappes les données récupérées d'un formulaire avec mysql_real_escape_string pour éviter les injections SQL.

    Par ailleurs, rien à voir, mais je suis étonné de la structure de tes tables.Le matricule d'un prof, son mnémonique et le nom de l'année sont vraiment des chaînes pouvant aller jusqu'à 255 caractères ?

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Ce que tu peux faire, c'est afficher ta requête SQL ($res, mais avant passage par mysql_query), pour voir si elle est correcte (par exemple en l'exécutant sur phpmyadmin).

    Déjà, un élément de sécurité : il faut que tu échappes les données récupérées d'un formulaire avec mysql_real_escape_string pour éviter les injections SQL.

    Par ailleurs, rien à voir, mais je suis étonné de la structure de tes tables.Le matricule d'un prof, son mnémonique et le nom de l'année sont vraiment des chaînes pouvant aller jusqu'à 255 caractères ?
    Re,

    Tes conseils portent fruit :

    ELECT TYPE_DE_COURS FROM cours WHERE MNEMONIC IN (SELECT MNEMONIC FROM enseigner WHERE MATRICULE_PROF = '07788') AND NOM_ANNEE = ''"
    Je vais regarder pourquoi je n'obtiens pas d'année.

    Un super grand et sincère merci pour ton aide, tu es vraiment très efficace.

    beegees

  6. #6
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    En effet, je viens de regarder ton code JavaScript, et tu passes un paramètre MNEMONIC, mais pas de paramètre NOM_ANNEE...

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    En effet, je viens de regarder ton code JavaScript, et tu passes un paramètre MNEMONIC, mais pas de paramètre NOM_ANNEE...
    ah, tu vois cela où stp ?

    ici :

    fnctcours(document.getElementById('select_Nom_mnemonics').value);
    Comment je peux passer le second paramètres stp ?

    Merci d'avance.

    beegees

  8. #8
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    A cette ligne là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr2.send("MNEMONIC="+cours);

  9. #9
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    A cette ligne là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr2.send("MNEMONIC="+cours);
    Merci pour ta réponse.

    J'ai tenté ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr2.send("MNEMONIC="+cours,"NOM_ANNEE="+annee);
    Sans succès.

    beegees

  10. #10
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    C'est normal, puisque la variable "annee" n'existe pas en javaScript dans ta fonction fnctcours.

    Mais son commentaire me parait bizarre :"Méthode qui sera appelée sur le changement de la liste déroulante annees"

    Cette méthode doit récupérer du serveur une listed'années ou une liste de cours ?

    Je suppose que tu cherches à faire des listes déroulantes liées qui se rafraîchissement en AJAX ? (une liste année, qui quand on choisit une année donne la liste des cours ?)

  11. #11
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Je suppose que tu cherches à faire des listes déroulantes liées qui se rafraîchissement en AJAX ? (une liste année, qui quand on choisit une année donne la liste des cours ?)
    Oui exactement

    Je lis le reste de ton message et j'applique.

    beegees

  12. #12
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Eusebe,

    Je suis complètement bloqué.

    annee correspond au nom d'une liste de sélection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form>
    		<select name='annee' id='annee' onChange='javascript:go(this.value)'>
    			<option value='-1'> (1) Choisissez une année </option>
    				<?php
    					while($row = mysql_fetch_assoc($query))
    					{
    						echo "<option value='".$row["NOM_ANNEE"]."'>".$row["NOM_ANNEE"]."</option>";
    					}
    				?>
    		</select>
     
     
    	</form>
    Qu'en penses-tu ?

    beegees

  13. #13
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Et qu'est-ce qu'il y a dans la fonction javascript go() ?

  14. #14
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Et qu'est-ce qu'il y a dans la fonction javascript go() ?
    Re,

    Voici le code de la fonction Go :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    function go(annee)
    {
    	//alert(annee);
    	var xhr = getXhr();
    	//alert(xhr);
    	// 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
    		//alert(xhr.readyState);
    		if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0 ) )
    		{
    			//alert('cool2'); //cette alerte me permet de savoir qu'on arrive au moins à cet endroit du code
     
    			//alert(xhr.status);
     
    			//******  Je ne comprends pas comment le contenu de leselect est connu à cet endroit alors que xhr.open("POST","Scripts/ajaxLivre.php",true); se trouve                          plus bas 
    			//*******
     
     
    			leselect = xhr.responseText;
    			//alert('xhr.responseText vaut '+xhr.responseText);
     
     
    			//alert(xhr.responseText);
    			//						alert(leselect);
    			// On se sert de innerHTML pour rajouter les options a la liste
    			document.getElementById('select_Nom_mnemonics').innerHTML = leselect; //ici, le nom du select devrait être générique !!!!
    			//ici j'appelle le onchange de la 3e liste déroulante et je lui passe la valeur choisie dans la 2e liste déroulante.
    			//document.getElementById('select_Nom_mnemonics') correspond au this de this.value
    			fnctcours(document.getElementById('select_Nom_mnemonics').value);
    			//alert(leselect);
    		}
    	}
     
    	// Ici on va voir comment faire du post
    	xhr.open("POST","Scripts/ajaxMnemonics.php",true); //ici, on devrait rend ajaxLivre générique !!!!
    	// 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 de l'auteur
    	xhr.send("NOM_ANNEE="+annee); //ici, NOM_ANNEE et annee devraient être génériques !!!!			
     
    }
    Merci pour ton dévouement.

    beegees

  15. #15
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Là il y a quelque chose que je ne suis plus

    Dans le script que tu donnes dans ton premier message, il faut que ta page reçoive en paramètre les variables POST "MNEMONIC" (mais pourquoi, ça je ne sais pas, peut-être une récupération d'un autre script ?) et "NOM_ANNEE" (pour ta requête SQL).

    Dans un second temps, tu me donnes un code SQL généré par ce code php qui correspond à une variable "MNEMONIC" renseignée (sinon, la requête SQL ne serait pas générée) mais à une absence de "NOM_ANNEE".

    Et après tout ça, tu me montres une fonction go() qui envoie bien une variable POST "NOM_ANNEE", mais pas de "MNEMONIC"... Et là j'ai l'impression que tu essaie de manipuler plusieurs bouts de codes en modifiant 2-3 variables sans bien les comprendre :/

    Reprenons depuis le début. Tu as une liste déroulante avec des années (celle que tu m'a montrée me semble ok). Quand une année est sélectionnée, tu exécutes la fonction javascript go() avec pour paramètre la valeur sélectionnée (=> ok).

    Dans ton code go(), tu fais une requête POST vers la page Scripts/ajaxMnemonics.php en passant en paramètre la variable "NOM_ANNEE" contenant la valeur sélectionnée (tout va bien jusqu'ici).

    Maintenant, dans ta page "Scripts/ajaxMnemonics.php", il ne faudrait pas que tu testes l'existence de "$_POST['MNEMONIC']", puisque tu ne la reçois pas et que tu n'en a pas besoin. A la place, il faudrait tester l'existence de $_POST['NOM_ANNEE']...

  16. #16
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Re,

    Merci pour ta réponse et surtout pour ta patience.

    Là il y a quelque chose que je ne suis plus
    J'ai moi même du mal à suivre

    j'ai l'impression que tu essaie de manipuler plusieurs bouts de codes en modifiant 2-3 variables sans bien les comprendre :/
    Tu as raison.

    Reprenons depuis le début. Tu as une liste déroulante avec des années (celle que tu m'a montrée me semble ok).
    Oui les années c'est BA1, BA2....

    Quand une année est sélectionnée, tu exécutes la fonction javascript go() avec pour paramètre la valeur sélectionnée (=> ok).
    OK, la valeur sélectionnée est la valeur de l'année

    Dans ton code go(), tu fais une requête POST vers la page Scripts/ajaxMnemonics.php en passant en paramètre la variable "NOM_ANNEE" contenant la valeur sélectionnée (tout va bien jusqu'ici).
    OK

    Maintenant, dans ta page "Scripts/ajaxMnemonics.php", il ne faudrait pas que tu testes l'existence de "$_POST['MNEMONIC']", puisque tu ne la reçois pas et que tu n'en a pas besoin. A la place, il faudrait tester l'existence de $_POST['NOM_ANNEE']...

    J'ai quelque chose "BA1" mais j'obtiens ceci :

    xhr2.responseText vaut <script LANGUAGE="JavaScript">alert("SELECT TYPE_DE_COURS FROM cours WHERE MNEMONIC IN (SELECT MNEMONIC FROM enseigner WHERE MATRICULE_PROF = '07788') AND NOM_ANNEE = ''");</SCRIPT>
    Donc actuellement, c'est bien le type de cours, la 3e liste déroulante qui ne se lie pas.

    beegees

  17. #17
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    cette requête sql vient bien de "ajaxMnemonics.php" ?

    Si à la place de tout le code de ce fichier, tu met simplement un "var_dump($_POST);", qu'est-ce que tu obtiens ?

  18. #18
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    cette requête sql vient bien de "ajaxMnemonics.php" ?

    Si à la place de tout le code de ce fichier, tu met simplement un "var_dump($_POST);", qu'est-ce que tu obtiens ?
    La requête provient bien de ajaxMneminics.php

    Si je mets var_dump($_POST);, je n'obtiens rien du tout.

    Voici le code de ma page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    //Ce code permet d'afficher le nom des mnémonics en faisant un choix dans la liste des années
    session_start();
    //print_r($_POST);
    	if(isset($_POST["NOM_ANNEE"]))
    	{
     
    		$conn = mysql_connect("localhost","root","mdp"); 
    		$db=mysql_select_db("pharma", $conn);
     
     
     
    $res = "SELECT DISTINCT MNEMONIC FROM cours WHERE MNEMONIC IN (SELECT DISTINCT MNEMONIC FROM enseigner WHERE MATRICULE_PROF = '" . $_SESSION['Matricule'] . "') AND NOM_ANNEE = '" . $_POST["NOM_ANNEE"] . "'";
     
     
     
    	$res = mysql_query($res, $conn); 
     
     
    		while($row = mysql_fetch_assoc($res)) 
    		{
    			echo "<option value='".$row["MNEMONIC"]."'>".$row["MNEMONIC"]."</option>";
    		}
    	}
    ?>
    Est-il possible de mettre online mon site afin que tu puisses voir ce qu'il se passe ?

    J'utilise WAMP et XP Pro.

    Merci pour ta patience.

    beegees

  19. #19
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Je vois que la chaine SLQ provient aussi de ce fichier :

    ajaxTypes.php

    Dont voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    <?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"] . "'";
    		//il faut faire echo'<script LANGUAGE="JavaScript">alert("'.$res.'")... AVANT mysql_query afin d'afficher la requête sql, une variable de session pourrait ne pas être reconnue, c'est une façon facile de le voir.
    		echo'<script LANGUAGE="JavaScript">alert("'.$res.'");</SCRIPT>';	
    		$res = mysql_query($res, $conn); 
     
     
     
     
     
     
    		$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>';
     
    ?>

  20. #20
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Re,

    Je viens de résoudre le problème en mettant dans une variable de session le nom de l'année lorsque celle-ci est sélectionnée dans la page ajaxMnemonics.php.

    Elle est ainsi disponible dans tout le site.

    Je ne comprends pas pourquoi le $_POST[Annee] ne me permettait pas d'utiliser ma variable.

    Tu connais la raison ?

    En tout cas, un super grand merci pour tes nombreuses réponses et pour le temps que tu y as consacré.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo