Johan Holst Nielsen wrote:
> Der ville isset() ikke gøre noget som helst ;) Udover at printe Info: ud
> hver gang.
- Gælder jo også lige om at forstå problemstillingen hehe...
Nemlig.. for variablen $gruppeinfo er jo sat.. (is set).
men en variabel der er tom (empty) er også falsk
$gruppeinfo = "";
if(!$gruppeinfo) == if(empty($gruppeinfo))
Dog kan variablen jo så indeholde
$gruppeinfo = " ";
og her vil både
if(!$gruppeinfo) og
if(empty($gruppeinfo))
fejle, da strengen jo ikke er tom.
Man kan desværre ikke lave en
if(empty(trim($gruppeinfo))
jvf. php.net/empty
Note: empty() only checks variables as anything else will result in a
parse error. In other words, the following will not work:
empty(trim($name)).
men man kan
if(!trim($gruppeinfo))
Dog skal man passe lidt på dette, da man jo egentlig ikke "kender"
databasens default værdi.
Fx vil et date felt i en MySQL database have default værdien 0000-00-00
(som egentlig er lidt forkert og burde vel være NULL, ligesom i andre
DBMS (MSSQL, PostgreSQL osv.)
Så metoderne kan være at
1: Fortælle PHP hvad default værdien er for feltet
2: Hente default værdien direkte fra databasen, altså noget ala
$sql = "DESCRIBE tabel";
$result = mysql_query($sql);
while ($myrow = mysql_fetch_array($result)) {
if ($myrow['Field'] == $gruppeinfo)
echo $gruppeinfo." har default værdien";
}
Selvfølgelig kender mange deres felts default værdi... men er der en
anden der har adgang til den, også gerne vil have en anden default værdi
(af en eller anden opskur grund) så ville en if(!is_null($felt)) bare
ikke virke mere, da feltet jo så ikke er null mere.
Kan du se hvad jeg mener? :)