[php/mysql] problème de requète

Résolu
Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   -  
Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Alors voilà j'ai un problème avec une requète sql dans mon code php :
<?
	$dateJour = date("Y-m-d");
	$moy = 0;
	$nb = 0;
	
	if($niveau >= 2) $conditionService = "";
	else $conditionService = "AND p.idService = $id ";
	
	$query = "Select count(*) 
                          from patient 
                          where actif = 0 and (dateTransport = '$dateJour' OR dateSaisie = '$dateJour')
                          ".$conditionService."";
	$travailBD = new travailBD();
	$result = $travailBD->executerRequete($query);	
	$row = mysql_fetch_row($result);
	$nbTransAcq = $row[0];
	
	$query = "Select count(*) 
                          from patient 
                          where actif = 1 and (dateTransport = '$dateJour' OR dateSaisie = '$dateJour')
                          ".$conditionService."";
	$travailBD = new travailBD();
	$result = $travailBD->executerRequete($query);	
	$row = mysql_fetch_row($result);
	$nbTransNonAcq = $row[0];
	
	$query = "Select datesaisie,heuresaisie,dateappel,heureappel
				From patient p inner join journal j
				On p.idpatient = j.idpatient
				Where (p.dateTransport = '$dateJour' OR p.dateSaisie = '$dateJour') $conditionService
				And j.action = \"Mission acquitée\" ";
	echo $query."<br>";
	$travailBD = new travailBD();
	$result = $travailBD->executerRequete($query);
	while ($row = mysql_fetch_row($result))
	{
		$dateSaisie = $row[0];
		$heureSaisie = $row[1];
		$dateAppel = $row[2];
		$heureAppel = $row[3];
		echo "$dateSaisie $heureSaisie|$dateAppel $heureAppel";
		$nb = $nb + 1;
		
		$date1 = "$dateSaise $heureSaisie";
		$date2 = "$dateAppel $heureAppel";

		date_to_timestamp($date1);
		date_to_timestamp($date2);

		$moy = $moy + ( date_diff($date2,$date1) / 60 );
	}
?>

Les deux premières requètes s'exécutent sans problème, c'est la troisième qui bloque. Comme je l'affiche, je l'ai copié et exécuté sous phpMyAdmin et là j'ai des résultats, mais dans mon code ma variable $row est null.
La requète qui s'affiche :
Select datesaisie,heuresaisie,dateappel,heureappel
   From patient p inner join journal j 
   On p.idpatient = j.idpatient 
   Where (p.dateTransport = '2008-08-21' OR p.dateSaisie = '2008-08-21')
   And j.action = "Mission acquitée" 

Si vous voyez d'où peut venir ce problème, ça m'aiderais beaucoup.
Merci d'avance.
A voir également:

3 réponses

Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   67
 
Re,

C'est bon j'ai trouvé l'erreur : un problème d'accent...
Il fallait que je fasse un utf8_decode() de ma requète pour que ça marche.
Merci quand même d'avoir porté attention à mon problème.
1
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Et pourquoi pas comme ça:

$query = "Select datesaisie,heuresaisie,dateappel,heureappel
				From patient p inner join journal j
				On p.idpatient = j.idpatient
				Where (p.dateTransport = '$dateJour' OR p.dateSaisie = '$dateJour') $conditionService
				And j.action = 'Mission acquitée' ";


et que viens faire $conditionService tout seul sans test ?
-1
Dinheru Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   67
 
Bonjour,

J'avais déjà essayer, ça change rien...
J'ai changer mon code, et mainteant j'ai la confirmation ma varaible $row est null
$query = "Select datesaisie,heuresaisie,dateappel,heureappel
				From patient p inner join journal j
				On p.idpatient = j.idpatient
				Where (p.dateTransport = '$dateJour' OR p.dateSaisie = '$dateJour') $conditionService
				And j.action = 'Mission acquitée' ";
	echo $query."<br>";
	$travailBD = new travailBD();
	$result = $travailBD->executerRequete($query);
	if($result == null) echo "Result null";
	$row = mysql_fetch_row($result);
	if($row == null) echo "Row null";

Là ça affiche "Row null", et je vois pas pourquoi parce que la requète devrait renvoyer des résultats.
-1
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Plus haut dans ton code tu as:

$conditionService = "AND p.idService = $id "

il faudrait:
$conditionService = "AND p.idService = '$id' "
-1