Traiter les absences de données dans une base

Traiter les absences de données dans une base - PHP - Programmation

Marsh Posté le 29-11-2009 à 17:59:16    

Bonjour,
 
Je suis entrain de monter une base sous phpmyadmin que j'importe depuis un csv...
 
Dans cette base, j'ai par exemple un champs "population" dans lequel il y a certaines données absentes. J'écris non dans la cellule "Non disponible".
Cependant, mon champs "population" est en décimal (pour y faire des calculs), donc quand j'importe mon csv les "Non disponible" se transforme en "0".
 
Ma question est la suivante : comment traiter l'absence de ces données ?
   - est-il possible qu'un champs sous phpmyadmin contienne des valeurs numériques et du texte, et permette les calculs ?
   - est ce que je dois laisser ces cellules "nulles" et lors de ma requête php ($query = sprintf), il faire comprendre que si le champs est vide avec imprimer "Non disponible" ? (si oui, comment ?
 
Merci par avance,

Reply

Marsh Posté le 29-11-2009 à 17:59:16   

Reply

Marsh Posté le 29-11-2009 à 19:00:35    

oui NULL c'est bien

Reply

Marsh Posté le 29-11-2009 à 20:48:20    

Merci, je m'en doutais un peu !
 
Maintenant la deuxième étape serait d'imprimer "Absence de données" si le case es nulle.
 
Voici mon code, tout simple :

Code :
  1. $query = sprintf("SELECT population"
  2. while($stat = mysql_fetch_array($statistiques))
  3. {  echo 'Population : '.number_format($stat['population'], 2, ',', '.').'   ';}


 
Il faudrait que je rajoute quelque chose du genre "ifnull( population, 'Pas de données')" mais ou ?
 

Reply

Marsh Posté le 30-11-2009 à 07:17:52    

"select population" tout court, ça m'étonnerait que ça marche :D
Tout dépend de ton SGBD, avec mysql par exemple tu peux utiliser les fonctions présentées ici : http://dev.mysql.com/doc/refman/5. [...] tions.html


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 30-11-2009 à 10:11:19    

ouai ca va etre juste,  
 
SELECT table WHERE population NOT NULL

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed