Avatar billede bas Forsker
04. februar 2004 - 14:49 Der er 4 kommentarer og
1 løsning

Undlad visning, hvis intet er indtastet ?

Hej

Jeg er igang med at lave en form for gæstebog i php,
og den virker sådan set fint nok.
Men kan jeg på en eller anden måde undgå at
der bliver vist noget, hvis tabellen ikke indeholder
data ? (at der ikke er indtastet noget).

Filen der viser indholdet ser således ud:

http://www.detour.dk/vis_blog.phps

Jeg tænker på, om man kan bruge noget med isset eller result

- f.eks. if !result echo intet

På forhånd tak.

Hilsen Martin
Avatar billede sukos Juniormester
04. februar 2004 - 15:08 #1
f.eks.

while($rows = mysqL_fetch_array($result)) {
if(empty($rows["text"])) {
continue;
}
echo $rows["text"] ."<br>\n";
}
Avatar billede bas Forsker
04. februar 2004 - 15:43 #2
Det ser ud til at virke, men kan
man så bare lave forskellige if-sætninger,
og så echo forskelligt som:

if(empty($rows["text1"])) {
continue;
}
}
echo $rows["text2"] ."<br>\n";
}

if(empty($rows["text2"])) {
continue;
}
}
echo $rows["text3"] ."<br>\n";
}


Hvis du forstår ?

/Martin
Avatar billede sukos Juniormester
04. februar 2004 - 17:52 #3
hmm, ja, men mon ikke man kunne lave det mere enkelt?
anyway,

while($rows = mysql_fetch_array($result)) {
if(!empty($rows["text1"])) {
echo $rows["text1"] ."<br>\n";
}

if(!empty($rows["text2"])) {
echo $rows["text2"] ."<br>\n";
}

if(!empty($rows["text3"])) {
echo $rows["text3"] ."<br>\n";
}

}

Her siger vi jo så at hvis den IKKE er tom, så vis indhold.

Nu ved jeg ikke hvad og hvordan, men man kunne jo så bruge en funktion sammen med visningen:

function show($var) {
//trim() fjerner space og linieskift. Hvis det f.eks. kun er en masse mellemrum, vil empty() ikke "sige" den er tom
if(trim($var) != "") {
echo $var ."<br>\n";
    }
}


while($rows = mysql_fetch_array($result)) {

show($rows["text1"]);

show($rows["text2"]);

show($rows["text3"]);

}
Avatar billede bas Forsker
04. februar 2004 - 18:29 #4
Jeg fik det til at virke med det du har skrevet med

while($rows = mysql_fetch_array($result)) {
if(!empty($rows["text1"])) {
echo $rows["text1"] ."<br>\n";
}

if(!empty($rows["text2"])) {
echo $rows["text2"] ."<br>\n";
}

if(!empty($rows["text3"])) {
echo $rows["text3"] ."<br>\n";
}

}

Men af en eller anden grund virker det ikke længere.

Jeg er ikke sikker på det med funktionen, men jeg roder nok lidt videre med
det.

Mind mig lige om at du skal have points, hvis der går for lang tid
Avatar billede sukos Juniormester
04. februar 2004 - 18:38 #5
EN GOD TING AT HUSKE PÅ når man tester, er bl.a. "vis kilde" i din browser.
En del fejl kan opdages på den måde :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester