Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/04/2008, 12h47   #1
Membre régulier
 
Inscription : mars 2002
Messages : 204
Détails du profil
Informations personnelles :
Localisation : Tunisie

Informations forums :
Inscription : mars 2002
Messages : 204
Points : 77
Points : 77
Par défaut [Zend_Controller] Comportement bizarre d'une requête

J'ai écrit ce code dans mon controleur:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
		    $TpsCadenceIM = new cTempsCadence();
		   	$resultat = $TpsCadenceIM->fetchRow($TpsCadenceIM->select()->where('prod_version = ?',$ver,' and statut= ?', 'A'));
		   	if ($resultat) {
		   		$this->view->TpsCadenceIM=$resultat;
		   		$this->view->TpsImexists=TRUE;
		   	}else {
		   		$this->view->TpsImexists=FALSE;
		   	}
 
		   	$TpsCadenceTest = new cTempsCadence();
			$resultat2 = $TpsCadenceTest->fetchrow($TpsCadenceTest->select()->where('statut= ?','A',' and processus = ?','ICT', 'and prod_version = ?',$ver));
			$this->view->message=$resultat2->processus;
		   	if ($resultat2) {
		   		$this->view->TpsCadenceTest=$resultat2;
		   		$this->view->TpsTestexists=TRUE;
		   	}else {
		   		$this->view->TpsTestexists=FALSE;
		   	}
Ensuite dans ma vue :
Code :
1
2
3
4
5
6
<tr class="lignePaire" align="center">
<td><?php echo $this->escape($this->TpsCadenceTest->processus);?></td>
<td><?php echo $this->escape($this->TpsCadenceTest->nb_cartes);?></td>
<td><?php echo $this->escape($this->TpsCadenceTest->tps);?></td>
<td><?php echo $this->escape($this->TpsCadenceTest->cadence);?></td>
</tr>
La requête $TpsCadenceIM renvoie un bon résultat alors que que $TpsCadenceTest renvoie toujours le premier enregistrement de ma table qui ne correspone pas du tout aux critère de la clause where
Est-ce qu'il y a une erreur dans mon code?
merci
ZIED est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2008, 13h58   #2
Rédacteur/Modérateur
 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 183
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 39
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 183
Points : 6 470
Points : 6 470
Bonjour,

que donne

Code :
1
2
3
 
 
Zend_Debug::dump($resultat2)
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2008, 14h19   #3
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
Salut,

Je trouve étrange ton utilisation de la fonction where sur ton objet select. Pour avoir plusieurs critères WHERE liés par AND, utilise, comme indiqué dans la doc, plusieurs fonctions where à la suite.

Code :
$resultat = $TpsCadenceIM->fetchRow($TpsCadenceIM->select()->where('prod_version = ?',$ver)->where(' and statut= ?', 'A'));
Vérifies également les données de ta base pour voir si tes where sont corrects.

Bon courage.
Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2008, 15h06   #4
Membre régulier
 
Inscription : mars 2002
Messages : 204
Détails du profil
Informations personnelles :
Localisation : Tunisie

Informations forums :
Inscription : mars 2002
Messages : 204
Points : 77
Points : 77
oui tout à fait, j'aurai dû être plus concentré en lisant la doc.
Merci
ZIED est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h18.


 
 
 
 
Partenaires

Hébergement Web