als veld leeg is melden en rest record overslaan

Status
Niet open voor verdere reacties.

gast0671

Gebruiker
Lid geworden
3 aug 2005
Berichten
214
Ik heb een mySQL-database en wil testen of veld uitzending1 leeg is. Als ie leeg is, moet dat gemeld worden en kan de rest van het record worden overgeslagen.
 
Ik weet niet of ik het helemaal goed begrijp, maar bedoel je dit?
PHP:
$sql = "SELECT id, uitzending1, veld2, veld3, etc FROM tabel";
$res = mysql_query($sql);
$allegegevens = array();
while($gegevens = mysql_fetch_object($res)){
	if($gegevens->uitzending1 == ""){
		print "Het veld <b>uitzending1</b> van record <b>" . $gegevens->id . "</b> is leeg.<br />";
	} else {
		$allegegevens[$gegevens->id] = array("uitzending1" => $gegevens->uitzending1, "veld2" => $gegevens->veld2, "veld3" => $gegevens->veld3, "etc" => $gegevens->etc);
	};
};
print "<br />De volgende gegevens zijn uit de database gehaald:<pre>";
print_r($allegegevens);
print "</pre>";
De velden moet je zelf nog aanpassen. Ik weet niet zeker of het werkt, want ik heb het niet getest.
Je kunt velden uit de array $allegegevens halen door bijvoorbeeld dit te typen:

$allegegevens[3][veld2]

Dit is veld2 van het record met id 3.

Als je nog vragen hebt, zeg het maar.
 
Laatst bewerkt:
Ik moet eerlijk zeggen dat ik hier niet uit kom.
Laat ik beginnen met een vraag: om te kunnen testen of een veld leeg is, is het dan nog aan te bevelen om "NULL" als waarde te hebben of juist "" of maakt het helemaal niet uit?
 
Eerlijk gezegd weet ik dit niet. Ik gebruik altijd een lege string (""), maar NULL is denk ik ook goed. Logisch beredeneerd maakt het niet veel uit, denk ik...
Als ik je nu toch een advies zou geven, zou ik NULL gebruiken.

Als je het beide wilt gebruiken maak je van regel 5:
PHP:
	if($gegevens->uitzending1 == "" || is_null($gegevens->uitzending)){

En als je alleen NULL wilt gebruiken maak je ervan:
PHP:
	if(is_null($gegevens->uitzending)){
 
Ik heb van alles geprobeerd, maar het lukt niet echt.
Wie is bereid te helpen deze php-file (zie bijlage - naam gewijzigd in .txt) compleet te krijgen?
In de file zelf staat wat de bedoeling is.
 

Bijlagen

  • indexvv.txt
    2,9 KB · Weergaven: 22
Ik heb geprobeerd het bestand compleet te maken, maar soms was het niet helemaal duidelijk wat je bedoelde. Ik heb het ook niet kunnen testen (wel op syntax), ik weet niet 100% zeker of het goed werkt.
 

Bijlagen

  • indexvv.txt
    4 KB · Weergaven: 18
jeroendenoot zei:
Ik heb geprobeerd het bestand compleet te maken, maar soms was het niet helemaal duidelijk wat je bedoelde. Ik heb het ook niet kunnen testen (wel op syntax), ik weet niet 100% zeker of het goed werkt.

HARTELIJK DANK! Uiteraard moet er nog een en ander aan de lay-out worden gedaan, maar het werkt (http://www.samendienen.nl).
 
gast0671 zei:
Ik moet eerlijk zeggen dat ik hier niet uit kom.
Laat ik beginnen met een vraag: om te kunnen testen of een veld leeg is, is het dan nog aan te bevelen om "NULL" als waarde te hebben of juist "" of maakt het helemaal niet uit?
grappig :)
"NULL" is juist geen waarde, en "" daarentegen wel :D
 
NULL is inderdaad geen waarde, maar je kunt ook met lege strings werken. Dan gebruik je "".
 
PHP:
<?php

if ( '' != NULL )
{
  echo 'Ja, een lege waarde is iets anders dan NULL';
}

?>

NULL is echt, echt niks. '' is gewoon een lege waarde.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan