comment ne pa afficher 0

Eléphant du PHP | 162 Messages

16 janv. 2014, 16:02

salut à tous et bonne année.
j'ai crée une requête et je voudrais que quand la requête renvoi 0 rien ne s'affiche , donc un résultat doit s'afficher que celui ci est strictement supérieur a 0.
voici ma requête :
$q1 = mysql_query("SELECT *
         FROM bulletin WHERE id_get  = '".$id."' AND type_sal = 'Journalier' AND salaire_brut <= 3231  AND periode_etabl_bulletin = 'JANVIER' ") or die('Erreur SQL !<br>'.$q1.'<br>'.mysql_error());
		 $rs1 = mysql_num_rows($q1);
if($rs1 < 0){
		 echo '';} else { echo $rs1;}

Mammouth du PHP | 2278 Messages

16 janv. 2014, 16:09

salut à tous et bonne année.
$q1 = mysql_query("SELECT *
         FROM bulletin WHERE id_get  = '".$id."' AND type_sal = 'Journalier' AND salaire_brut <= 3231  AND periode_etabl_bulletin = 'JANVIER' ") or die('Erreur SQL !<br>'.$q1.'<br>'.mysql_error());
		 $rs1 = mysql_num_rows($q1);
if($rs1 < 0){
		 echo '';} else { echo $rs1;}
Je me demande si un AND de plus ne suffirait pas.
Mais je me demande aussi:
Ca fait sens un salaire inférieurbou égal à 0?
Mysql DOIT être aandonné au profit de mysqli ou pdo. (mysql obsolete sera abandonné à terme)
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 162 Messages

16 janv. 2014, 16:28

je comprend rien dans votre réponse je demande une aide

ViPHP
xTG
ViPHP | 7331 Messages

16 janv. 2014, 16:40

Tu n'affiches rien dans le cas d'un strictement inférieur à 0.
Il te suffit de le modifier par un inférieur ou égal.

Mais de même je m'interroge sur le fait qu'on puisse avoir un cas de salaire égal à 0.

Enfin le driver mysql est obsolète et ne reçoit plus de mise à jour de sécurité.
La bonne mesure serait donc de migrer ton code vers le driver mysqli ou bien la bibliothèque PDO.
A noter qu'un jour le driver ne sera peut être plus du tout accessible, et donc le code renverra que la fonction mysql_query n'existe pas.

Eléphant du PHP | 162 Messages

16 janv. 2014, 16:55

ça m'affiche toujours 0 au lieu du vide
voici le code:
	$q1 = mysql_query("SELECT *
         FROM bulletin WHERE id_get  = '".$id."' AND type_sal = 'Journalier' AND salaire_brut <= 3231  AND periode_etabl_bulletin = 'JANVIER' ") or die('Erreur SQL !<br>'.$q1.'<br>'.mysql_error());
		 $rs1 = mysql_num_rows($q1);
if($rs1 <= 0){echo '';} else{ echo $rs1;}

ViPHP
xTG
ViPHP | 7331 Messages

16 janv. 2014, 17:59

C'est donc que le zéro provient d'un autre code ou bien que ta requête renvoie des enregistrements.
Affiches la et exécutes la dans une console mysql ou bien via phpmyadmin.

Mammouth du PHP | 2278 Messages

16 janv. 2014, 20:23

C'est donc que le zéro provient d'un autre code ou bien que ta requête renvoie des enregistrements.
Affiches la et exécutes la dans une console mysql ou bien via phpmyadmin.
Bien sûr : $rs1 est le nombre de lignes de la réponSE: pas grand chose à voir avec le salaire.

Je persiste:
1) éclaircissement
$requete = "SELECT *
FROM bulletin WHERE id_get = '".$id."' AND type_sal = 'Journalier' AND salaire_brut <= 3231 AND SALAIRE_BRUT > 0 AND periode_etabl_bulletin = 'JANVIER' ";
en disant que ce serait beaucoup mieux en mettant des variables dans les conditions pour avoir une requete réutilisable.
2) Conseil fort
passer à mysqli au début d'un développement entraîne moins de changement que si on attend d'avoir fini et qu'il faut, sous la pression d'un changement de comportement prévisible de php, tout modifier en urgence.
Tout progr'ammeur digne de ce nom sait que ce qui est signalé obsolète ou deprecated dans un langage est une fonction ou un groupe de fonctions qui sont conservées pour permettre le fonctionnement d'applications conçues quand elles existaient, et qu'il ne faut jamais utiliser dans des développements nouveaux.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD