Hoi,
Ik probeer alle tekst op mijn site vanuit de database te halen.
Nou wil ik een controle inbouwen dat als er geen data is, er een melding wordt weer gegeven dat er geen data is.
Dat heb ik als volgt geprobeerd:
<?php
// data exists
if($query) {
while($result = mysql_fetch_array($query)) {
echo $result['bericht'];
}
}
// no data excists
else {
echo 'Op dit moment zijn er nog geen gegevens beschikbaar.';
}
?>
Hier heb ik vervolgens een functie van gemaakt, maar dat werkt nog niet zoals het helemaal moet.
Ik wil namelijk de eerste echo, de echo waarmee ik dus het resultaat uit de database haal, als het ware variabel maken. Ik wil namelijk de functie meerdere keren aanroepen, eerst voor de titel, dan bericht, en vervolgens op datum en bron.
Als je meer informatie wilt, zegt u t maar, ik weet het niet meer... :S
Werkt die afhandeling gegevens/geen gegevens wel naar behoren op deze manier?
Of is het probleem dat je niet weet welke variabele je op wilt halen?
1) Controleren of er gegevens in je result (hetgeen mysql_query terug geeft) zitten kan op meerdere manieren. Een gemakkelijke manier is mysql_num_rows():
<?php
$exec = mysql_query( 'SELECT * FROM table WHERE id = 1');
if(mysql_num_rows( $exec ) > 0){
// ja, er zijn gegevens, hier fetchen
}else{
// nee geen gegevens, echo'en maar
}
?>
2) Je wilt meerdere variabelen ophalen uit je database? Ja dat kan. In de SELECT query kun je aangeven welke kolommen er opgehaald worden. "*" voor alle kolommen, anders de kolomnaam specificeren, gescheiden door een komma, zoals SELECT id, name, title FROM table.
Daarna kunnen deze gegevens opgehaald worden met mysql_fetch-array():
<?php
while($data = mysql_fetch_array( $exec )){
echo $data[ 'title' ]; // kolomnaam 'title' in de DB
echo $data[ 'message']; // kolomnaam 'message' in DB
// etc.
}
?>
@SanThe:
die if($query) { sloeg op hierop, was ik vergeten in te voegen.
<?php
$query = mysql_query("SELECT titel,bericht,datum,link FROM tekst WHERE id='". $id ."'");
?>
Ik ben beginnend, wil t graag goed leren, kun je mij vertellen welke controles ik moet inbouwen? of anders een linkje geven, spit ik t zelf door.
@ Dave:
Jou script komt volgens mij aardig overeen met het doel wat ik met dat van mij voor ogen had, alleen waar het me om gaat is dat ik dit script in een functie wil stoppen, en vervolgens de gegevens, wanneer die bestaan, op een andere plek echoen.
EDIT:
Ik wil dus de kolomnaam als het ware variabel maken. Dat ik dus wanneer ik de functie aanroep een andere kolomnaam kan gebruiken.
Na heel veel edits hier in deze topic, en heel veel gepruts meer van mij, kan ik de blijde mededeling doen dat ik 'er uit' ben. Graag wat feedback (bijvoorbeeld van SanThe, jij gaf aan dat er meer controle moest komen)
of de controles goed zijn, en of er geen fouten in zitten.
Dit heb ik er van gemaakt, en het werkt hier vlekkeloos: