Test sur un champ vide en sql

Résolu
polactu39 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
polactu39 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Pour un carnet d'adresse de mon site, je fais une requête pour chaque lettre. Quand la liste est vide je veux faire apparaître un message.
J'ai tenté :
$sql = "SELECT * FROM annuaire WHERE designation_nom LIKE 'B%'";
//exécution de la requête
$requete = mysql_query($sql, $cnx)
?>
<table style="border: 2px solid black" >
<?php
if ( $requete==NULL)
{
echo 'Aucune adresse à cette lettre';
}
else
{
//affichage des données
while ( $result = mysql_fetch_array( $requete ))
{
?>
Çà m'affiche bien les données quand il yen a mais je dois me gourer pour le test NULL.
Faut-il utiliser Empty?
Merci à l'avance
Dom
A voir également:

2 réponses

varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
Bonjour,

Personnelement j'ai eu un probleme similaire il y a quelque jour:

je devait recuperer les info d'une requete (900 lignes), mais ignorer les lignes qui avaient un attribut vide (NULL)

Sauf que =='NULL' ou =='null' ou ==NULL ou ==null ne marcjait pas, et j'ai résolu mon probleme en faisant ceci:

$InfoMarqueurs = $Marqueur->GetInfoMarqueurs($this->MarqueurCode);
$this->nbMarqueur = count($InfoMarqueurs);
for ($i = 0; $i < $this->nbMarqueur; $i++)
{
	if ($InfoMarqueurs[$i]->GetDonnee("TypeMarqueur"))
	{
		$this->MarqueurType[$i]		 = $InfoMarqueurs[$i]->GetDonnee("TypeMarqueur");
		if ($InfoMarqueurs[$i]->GetDonnee("NomMarqueur"))
		{
			$this->MarqueurNom[$i] 		 = $InfoMarqueurs[$i]->GetDonnee("NomMarqueur");		// Nom du Marqueur
			if ($InfoMarqueurs[$i]->GetDonnee("Longitude"))
			{
				$this->MarqueurLongitude[$i] = $InfoMarqueurs[$i]->GetDonnee("Longitude");	// Lattitude du Marqueur
				if ($InfoMarqueurs[$i]->GetDonnee("Latitude"))
				{
					$this->MarqueurLatitude[$i] = $InfoMarqueurs[$i]->GetDonnee("Latitude");	// Longitude du Marqueur
				}else
				{
					$i--;
					$this->nbMarqueur--;
				}
			}else
			{
				$i--;
				$this->nbMarqueur--;
			}
		}else
		{
			$i--;
			$this->nbMarqueur--;
		}
	}else
	{
		$i--;
		$this->nbMarqueur--;
	}
}


en gros je compte le nombre de ligne, et si un attribut est null, je decremente le nombre de ligne (nbMarqueur--), et je recule d'un pas dans ma boucle (i--) pour ré-ecrire sur cette ligne.

Donc a chaque récuperation d'attribut pour une ligne, je verifie que l'attribut existe bien, s'il existe bien on continue, sinon on fait la decrementation.

Pour verifier qu'il existe, je fait juste if(données) et cela renvoi vrai si il y a qqch, et faux si NULL ou vide
0