Bonjour tout le monde,

Je fais appelle à une fonction pour voir si un champ contient la valeur 0 ou 1.

Je dois passer trois paramètres à cette fonction.

1) la requête n'est pas bonne alors que (je pense que) ça devrait l'être :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$cours_cloture = 'SELECT inscrits_en.MNEMONIC,inscrits_en.TYPE_DE_COURS,inscrits_en.CATEGORIE WHERE inscrits_en.ID = '.$LesDonnees['1'];
l'echo me donne ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT inscrits_en.MNEMONIC,inscrits_en.TYPE_DE_COURS,inscrits_en.CATEGORIE WHERE inscrits_en.ID = 2
La structure de ma table est la suivante :

Champ Type Null Défaut Commentaires
ID int(11) Non
MATRICULE_ET varchar(255) Non
MNEMONIC varchar(255) Non
ANNEE_ACADEMIQUE varchar(255) Non
CATEGORIE varchar(255) Non
NOTE text Oui NULL
DECISION_ANNEE varchar(255) Oui NULL
SESSION int(11) Non
TYPE_DE_COURS varchar(255) Non
Dans PHPMyAdmin, je copie/colle la requête, j'obtiens ce message d'erreur :

Erreur

requête SQL: Documentation

SELECT inscrits_en.MNEMONIC, inscrits_en.TYPE_DE_COURS, inscrits_en.CATEGORIE
WHERE inscrits_en.ID =2

MySQL a réponduocumentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE inscrits_en.ID = 2' at line 1
Les messages d'erreurs que j'obtiens sont :

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Excel\Import\Dernier\example.php on line 54
Requete invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE inscrits_en.ID = 2' at line 1
La ligne 54 est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
while ($tab_req_cours_cloture = mysql_fetch_assoc($req_cours_cloture))
Voici une bonne partie du 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
$cours_cloture = 'SELECT inscrits_en.MNEMONIC,inscrits_en.TYPE_DE_COURS,inscrits_en.CATEGORIE WHERE inscrits_en.ID = '.$LesDonnees['1'];
								echo $cours_cloture;
								$req_cours_cloture = mysql_query($cours_cloture);
								while ($tab_req_cours_cloture = mysql_fetch_assoc($req_cours_cloture))
									{
										//je vérifie ici si le cours est clôturé, car autrement, on pourrait mettre à jour un cours via excel même si il est clôturé !!!
									   if(check_cloture($tab_req_cours_cloture['MNEMONIC'],$tab_req_cours_cloture['TYPE_DE_COURS'],$tab_req_cours_cloture['CATEGORIE'] ) == 0)
										{
											$sql = 'UPDATE inscrits_en SET NOTE = ' .$LesDonnees['5'].' WHERE inscrits_en.ID = ' .$LesDonnees['1']; 
											//je  mets directement a jour la base de données 
											$result = mysql_query($sql);
											$ok = false;
											$compteur_ok +=1;
											// Vérification du résultat
											// Ceci montre la requete envoyée a MySQL ainsi que l'erreur. Utile pour déboguer.
										}
										else
										{
											echo 'cours clôturé !';
											exit();
										}
									}
						}
						else
						{
							$compteur_pas_ok+=1; //nombre d'enregistrement(s) qui n'ont pas été ajoutés dans la bd
						}
Ainsi que le code de ma fonction check_cloture :

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
<?php
function maFonction($MNEMONIC, $TYPE,$CATEGORIE)
{ 
	session_start();
	include('../connexion.php');
	//var_dump($_POST);
 
	$Desactiver_Bouton_Cloture = "SELECT * FROM `cours` WHERE cours.MNEMONIC = '".$MNEMONIC."' AND cours.TYPE_DE_COURS = '".$TYPE."' AND cours.CATEGORIE = '".$CATEGORIE."'";
 
	//echo $Desactiver_Bouton_Cloture;
 
	$query_Desactiver_Bouton_Cloture = mysql_query($Desactiver_Bouton_Cloture);
 
	$nombre = mysql_num_rows($query_Desactiver_Bouton_Cloture);
 
	//echo "nombre ".$nombre;
 
 
	while ($tab = mysql_fetch_array($query_Desactiver_Bouton_Cloture))
	{
 
		if($tab['Cloture'] != 1)  
		{
			return 1;
		}
		else
		{
			return 0;	
		}
 
	}
} 
?>
Je vous remercie d'avance pour votre aide.

beegees