webForumDet fria alternativet

Skriver ut bilder som inte finns.

PHP

3 svar · 756 visningar · startad av tanten

Medlem sedan nov. 20051 596 inlägg
Frågan#1
<?php if($ol['coverMime']) { ?>
<img src="polCover.php?ol=<?=$ol['polID']?>" alt="porträtt"><?php } else { ?><? } ?>

Om det finns ett porträtt så skriver den ut nästa kod även om där inte finns någon bild. 
Finns det ingen porträttbild så skriver nedre koden bara ut existerande bilder och if fungerar.

<?php if($r['coverMime']) { ?>
        <p><img src="visaCover.php?pol=<?=$r['gjortID']?>" alt=""></p>
 <?php } else { ?><? } ?>

Tips på hur man ska kunna lösa detta vore väldigt tacksamt :)

Medlem sedan juni 2012581 inlägg
#2

Vi behöver nog LITE mera kod. Vad finns i $r['coverMime'] och $ol['coverMime']? Hur sätts de? Hur ser arrayerna ut i övrigt?

Medlem sedan nov. 20051 596 inlägg
#3

Filen jag har ser ut så här: ursäkta att koden inte är indenterad... den försvann.

<?php
include('includes/common.inc.php');
$polID = (int)$_REQUEST['polID'];
$q = $conn->query("SELECT  *
FROM politiker 
WHERE polID =$polID
");
$ol = $q->fetch(PDO::FETCH_ASSOC);
$q->closeCursor();
$q = null;
if(!$ol) {
	showHeader('Error');
echo "Något är fel, försök senare!";
showFooter();
exit;
}

showHeader("$ol[namn]");
?>
<div id="bild">
<h1><?=htmlspecialchars($ol['firstName'])?> <?=htmlspecialchars($ol['lastName'])?>(<?=htmlspecialchars($ol['parti']) ?>)</h1>

<?php if($ol['coverMime']) { ?>
<img src="polCover.php?ol=<?=$ol['polID']?>" alt="porträtt"><?php } else { ?><? } ?>

<p>
Ort:<?=htmlspecialchars($ol['ort'])?><br>
Tel:<?=htmlspecialchars($ol['tel'])?><br>
Mail:<?=htmlspecialchars($ol['mail'])?><br>
<?php if ($ol['link']) { ?>FB.sida: <a href="<?=htmlspecialchars($ol['link'])?>">länk</a><br><?php } else { ?><? } ?>
Lite anteckningar:<?=($ol['anteckning'])?></p></div>
<h2>Uttalanden m.m.</h2>

<?php
$sql = "SELECT G. * , P. *
FROM gjort G
INNER JOIN politiker P ON P.polID = G.polID
WHERE P.polID =$polID
ORDER BY datum DESC";
$q = $conn->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);

while($r = $q->fetch())
{
?>
 <div class="box">
 <h4><?=htmlspecialchars("$r[datum]")?> </h4>

<?php if($r['coverMime']) { ?>
        <p><img src="visaCover.php?pol=<?=$r['gjortID']?>" alt=""></p>
 <?php } else { ?><? } ?>

<?=stripslashes($r['kommentar'])?>
<?php if ($r['kalla']) { ?>
	<p><a href="<?=htmlspecialchars($r['kalla'])?>">Källa</a> </p>
 <?php } else { ?><? } ?>
</div>
<?php
}

?>

<?php
showFooter();
Medlem sedan jan. 2005953 inlägg
#4

Det här har ingenting med ditt problem att göra, men tänkte bara påpeka att du har tomma else-satser på några ställen i koden

else { ?><? }

Detta är totalt onödigt och gör bara dina filer större.

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)