Avatar billede fredd Nybegynder
23. oktober 2004 - 15:59 Der er 16 kommentarer og
1 løsning

If then else

Hey jeg har en MySQl database, hvori der ligger nogle poster om forkellige ting til en hjemmeside...

Nogle af poster har billeder. I databasen er der et billede felt "billede" hvor man giver stien til billedet. Hvis ikke feltet er udfyldt skal den ikke åbne et img-tag...

Jeg er bedst til asp, og derfor giver jeg lige mit forslag i asp, og håber jeg der er noget der vil oversætte det til php...

if billede <> "" then response.write "<img src="%billede%" alt="%navn% class=""right"" />" else response.write ""

På forhånd tak!
/Fredd
Avatar billede Slettet bruger
23. oktober 2004 - 16:05 #1
if($row['billede'] != '') echo '<img src="' . $row['billede'] . '" alt="' . $row['navn'] . '" class="right" />';
Avatar billede michael_stim Ekspert
23. oktober 2004 - 16:05 #2
if($billede!=""){
echo "<img src=\"$billede\" alt=\"navn\" class=\"right\">";
}
Avatar billede fredd Nybegynder
23. oktober 2004 - 16:15 #3
Jeg kan ikke umidelbart få nogle af jeres script til at virke..
Mit scipt ser således ud:

$res = mysql_query($sql);
while ($aa = mysql_fetch_array($res)) {
?>
<h3><?php echo $aa[type] ?></h3>
    <p><b><?php echo $aa[navn] ?></b> - <a href="<?php echo $aa[link] ?>"><?php echo $aa[link] ?></a><br />
    <img src="<?php echo $aa[billede] ?>" alt="<?php echo $aa[navn] ?>" class="right" /><?php echo $aa[beskrivelse] ?></p>

<?php } ?>
Avatar billede michael_stim Ekspert
23. oktober 2004 - 16:16 #4
Glem ikke ; efter alle PHPsatser
Avatar billede michael_stim Ekspert
23. oktober 2004 - 16:17 #5
<?php echo $aa[navn]; ?></
Avatar billede michael_stim Ekspert
23. oktober 2004 - 16:21 #6
$res = mysql_query($sql);
while ($aa = mysql_fetch_array($res)) {
?>
<h3><?php echo $aa[type] ?></h3>
    <p><b><?php echo $aa[navn]; ?></b> - <a href="<?php echo $aa[link]; ?>"><?php echo $aa[link]; ?></a><br />
    <? if($aa[billede] !=''){?><img src="<?php echo $aa[billede]; ?>" alt="<?php echo $aa[navn]; ?>" class="right" /><?php } echo $aa[beskrivelse]; ?></p>

<?php } ?>
Avatar billede Slettet bruger
23. oktober 2004 - 16:22 #7
Jeg ville lave det sådan her:

$res = mysql_query($sql);
while ($aa = mysql_fetch_array($res)) {

echo '<h3>' . $aa['type'] . '</h3>';
echo '<p><b>' . $aa['navn'] . '</b> - <a href="' . $aa['link'] . '">' . $aa['link'] . '</a><br />';
if($row['billede'] != '') echo '<img src="' . $row['billede'] . '" alt="' . $row['navn'] . " class="right" />';
echo $aa['beskrivelse'] . '</p>';

}
?>
Avatar billede fredd Nybegynder
23. oktober 2004 - 16:27 #8
Jeg bare vil gerne have muligheden for at skrive "normal" HTML-kode - og indsætte php-tagsne, hvor jeg vil have dem... Så kan det ikke laves med en ?if bille <> "" echo "et eller andet" else echo "" ?
Avatar billede michael_stim Ekspert
23. oktober 2004 - 16:29 #9
Ja, og for at få det endnu mere overskueligt ville jeg lave variabler af det jeg träkker ud af tabellen.

$res = mysql_query($sql);
while ($aa = mysql_fetch_array($res)) {
$type=$aa['type'];
$navn=$aa['navn'];
$link=$aa['link'];
$billede=$aa['billede'];
$beskrivelse=$aa['beskrivelse'];
echo '<h3>' . $type . '</h3>';
echo '<p><b>' . $navn . '</b> - <a href="' . $link . '">' . $link . '</a><br />';
if($billede != '') echo '<img src="' . $billede . '" alt="' . $navn . " class="right" />';
echo $beskrivelse . '</p>';

}
?>
Avatar billede Slettet bruger
23. oktober 2004 - 16:32 #10
Jo det kan du godt, men det er ikke optimalt, da PHP så skal switche frem og tilbae mellem HTML og PHP, og parse hvert enkelt stykke kode.
Avatar billede michael_stim Ekspert
23. oktober 2004 - 16:34 #11
$res = mysql_query($sql);
while ($aa = mysql_fetch_array($res)) {
$type=$aa['type'];
$navn=$aa['navn'];
$link=$aa['link'];
$billede=$aa['billede'];
$beskrivelse=$aa['beskrivelse'];

?>
<h3><?php echo $type; ?></h3>
    <p><b><?php echo $navn; ?></b> - <a href="<?php echo $link; ?>"><?php echo $link; ?></a><br />
    <? if($billede !=''){?><img src="<?php echo $billede; ?>" alt="<?php echo $navn; ?>" class="right" /><?php } echo $beskrivelse; ?></p>

<?php } ?>
Avatar billede michael_stim Ekspert
23. oktober 2004 - 16:36 #12
Det har ikke så meget at sige når det ikke drejer sig om mere kode el_barto, men det er helt rigtigt hvad du siger. Personligt syntes jeg at det bliver mere overskueligt når man adskiller PHP og HTML.
Avatar billede fredd Nybegynder
23. oktober 2004 - 16:36 #13
Jeg har fået michael_stim's script til at virke ligesom jeg ville - derfor får han pointene...

Tak for hjælpen
/Fredd
Avatar billede fredd Nybegynder
23. oktober 2004 - 16:37 #14
(hvis du altså lige ville lægge et svar)...
Avatar billede michael_stim Ekspert
23. oktober 2004 - 16:40 #15
Bare giv el_barto halvdelen af pointene, for jeg er sikker på at hans også virker hvis man bytter $row[] ud med $aa[]. Og så er det faktisk den rigtige måde at göre det på.
Avatar billede Slettet bruger
23. oktober 2004 - 16:41 #16
Ellers tak :)
Avatar billede fredd Nybegynder
23. oktober 2004 - 16:41 #17
Okay.. Så læg du også et svar el_barto...
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