Velden uit MySQL database verbergen indien leeg

Status
Niet open voor verdere reacties.

timo17

Gebruiker
Lid geworden
11 jun 2009
Berichten
375
Goedemiddag,

Ik ben momenteel bezig om mijn HTML pagina om te zetten naar PHP omdat dit toch veel meer functies bied, ookal weet ik bijna niets van PHP. Op een pagina heb ik een agenda staan en deze wil ik graag vullen via een database.
Dit gaat al prima met wat ik op internet heb gevonden. Ik loop nu alleen op het punt vast dat ik velden gebruik die niet altijd zijn gevuld. Ik krijg dat een lege ruimte op mijn pagina. Is hier iets aan te doen?

Het gaat om de velden Lezing en Muziek/zang die ik uit de database haal.

Onderstaand de code die ik momenteel gebruik. Gegevens voor de database connectie heb ik eruit gehaald.

PHP:
<?php
$servername = "******";
$username = "*****";
$password = "******";
$dbname = "Agenda";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
 } 

$sql = "SELECT * FROM Molenberg";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<li><h3>" . $row["Datum"]. " " . $row["Omschrijving"]. "</h3><br><br>"
		. $row["Lezing"]. "<br> Muziek/zang: &nbsp;"
		. $row["Muziek/zang"]. "<br><br>" 
		. $row["Tijd_1"]. " " . $row["Omschrijving_1"]. "<br>"
		. $row["Tijd_2"]. " " . $row["Omschrijving_2"]. "</li>";
    }
} else {
    echo "0 results";
}
 $conn->close();
 ?>

Alvast bedankt!
 
He Timo,

Wat moet er gebeuren met die "lege ruimte" weghalen of opvullen?
Op deze manier haal je de breaks (<br> deze dingen) weg wanneer het veld leeg is.
PHP:
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<li><h3>" . $row["Datum"]. " " . $row["Omschrijving"]. "</h3><br><br>";
		echo $row["Lezing"]==""?"":$row["Lezing"] . "<br>";
		echo "Muziek/zang: &nbsp;";
		echo $row["Muziek/zang"]==""?"":$row["Muziek/zang"] . "<br><br>";
        echo $row["Tijd_1"]. " " . $row["Omschrijving_1"]. "<br>"
        . $row["Tijd_2"]. " " . $row["Omschrijving_2"]. "</li>";
    }
} else {
    echo "0 results";
}


PHP:
echo $row["Lezing"]==""?"":$row["Lezing"];
Dit betekend wanneer $row["Lezing"] leeg is ECHO dan helemaal niets, is $row["Lezing"] niet leeg ECHO dan $row["Lezing"]
 
Laatst bewerkt:
He Timo,

Wat moet er gebeuren met die "lege ruimte" weghalen of opvullen?
Op deze manier haal je de breaks (<br> deze dingen) weg wanneer het veld leeg is.
PHP:
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<li><h3>" . $row["Datum"]. " " . $row["Omschrijving"]. "</h3><br><br>";
		echo $row["Lezing"]==""?"":$row["Lezing"] . "<br>";
		echo "Muziek/zang: *";
		echo $row["Muziek/zang"]==""?"":$row["Muziek/zang"] . "<br><br>";
        echo $row["Tijd_1"]. " " . $row["Omschrijving_1"]. "<br>"
        . $row["Tijd_2"]. " " . $row["Omschrijving_2"]. "</li>";
    }
} else {
    echo "0 results";
}


PHP:
echo $row["Lezing"]==""?"":$row["Lezing"];
Dit betekend wanneer $row["Lezing"] leeg is ECHO dan helemaal niets, is $row["Lezing"] niet leeg ECHO dan $row["Lezing"]

He Stefan,

Dit werkt helemaal prima. Is het ook mogelijk om de tekst
Code:
echo "Muziek/zang: &nbsp;";
zo te maken dat deze alleen verschijnt als het bijbehorende veld een waarde heeft?

Alvast bedankt!
 
PHP:
echo $row["Muziek/zang"]==""?"": "Muziek/zang: &nbsp;" . $row["Muziek/zang"] . "<br><br>";
 
He Stefan,

Bedankt!! Dit heeft me goed geholpen. Ik kan nu verder met de rest! :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan