Probleme de requete dans une fonction avec un switcha

Eléphant du PHP | 122 Messages

28 sept. 2009, 16:47

Bonjour j'ai inclus une requête mysql dans une fonction avec un switch comme suit. Cela est-il possible? Il ne me renvoie pas d'erreur mais arrête le code à la première itération. Comment l'améliorer et faire en sorte qu'il s'exécute correctement?

D'avance merci,

Cyrille
if (!function_exists("Allow_Object")) {
	function Allow_Object($theObject,$theType) {
		switch($theType) {
			case 1:
			$query_detail_object = sprintf("SELECT * FROM objectLEFT JOIN rang ON object_rang=rang_id WHERE object_id=%s",$theObject);
			$detail_object = mysql_query($query_detail_object, $connect);
			$row_detail_object = mysql_fetch_assoc($detail_object);
			$totalRows_detail_object = mysql_num_rows($detail_object);
			if($totalRows_detail_object==1) {
				if($row_detail_object['rang_ordre']>$_SESSION['user_rang_ordre']) {
					$theValue=1; break;
				} else {
					$theValue=0; break;
				}
			} else {
				$theValue=0; break;
			}
		}
		return $theValue;
	}
}
---
Commencer c'est essayer...
Et essayer, c'est parfois finir...

ViPHP
ViPHP | 2291 Messages

28 sept. 2009, 19:00

Salut,

C'est pas le dernière itération :?:

Parce que je ne voie pas de boucle 8-| a partir du moment ou tu dois récupérer plusieurs lignes dans ta table il faut faire une boucle "while" par exemple.
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 122 Messages

29 sept. 2009, 13:18

En fait la fonction est appelé dans une boucle mais la boucle s'arrête après premier execution de la fonction, sans doute car elle renvoie un code mysql nul. Pourtant, la requête est bonne (après l'avoir affichée via un echo). Mais la question est plutôt: comment intégrer une requête mysql dans une fonction avec un switch de ce type?
---
Commencer c'est essayer...
Et essayer, c'est parfois finir...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 sept. 2009, 15:20

Il faudrait que tu nous montres le code qui appelles cette fonction.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 122 Messages

05 oct. 2009, 18:23

Finalement le problème venait d'une mauvaise requête SQL qui faisait planter le switch. Je n'ai pensé à faire tous les tests nécessaires qu'à votre lecture...

Merci encore,

Cyrille
---
Commencer c'est essayer...
Et essayer, c'est parfois finir...