Les Allergies
Alimentaires
Posez votre question Signaler

[php/mysql] problème de requète [Résolu]

Dinheru 1019Messages postés 20 avril 2005Date d'inscription - Dernière réponse le 21 août 2008 à 14:48
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.
Lire la suite 

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

4 réponses
Réponse
+1
moins plus
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.
Ajouter un commentaire
Réponse
-1
moins plus
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 ?
Ajouter un commentaire
Réponse
-1
moins plus
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.
Alain_42- 21 août 2008 à 14:33
Plus haut dans ton code tu as:

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

il faudrait:
$conditionService = "AND p.idService = '$id' "
Ajouter un commentaire
Ce document intitulé « [php/mysql] problème de requète » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?