Avatar billede b-jacobsen Nybegynder
26. oktober 2005 - 21:31 Der er 23 kommentarer og
1 løsning

Manglende billed gi'r kaos i opsætningen af annonce

Hej allesammen,
Jeg laver et udtræk fra min database af en annonce der indeholder billed, område/by, type annonce, id, dato, overskrift og annoncetekst. Jeg har sat det, synes jeg selv, pænt op i HTML. Alt ser pænt ud undtagen hvis der ikke er lagt billed ind i databasen til en annonce, i så fald kommer alt teksten til at ligne kaos. Problemet er sikkert ganske enkelt, men da jeg er helt grøn i PHP, kan jeg ikke lige overskue fejlen.
Håber der er en der gider hjælpe.

Med venlig hilsen B. Jacobsen

<?php
include('config.php');
$query = mysql_query("SELECT image,id,dag,type,omr,ovr,annonce FROM annoncer ORDER BY id DESC LIMIT 0,$range") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
if ($i++ != 0) echo '<hr class="spacer">';
echo empty($row['image']) ? '' : '<img src="files/'.$row['image'].'" class="image"><P></div>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-size:8pt; font-family:Arial; color:#000000" bordercolor="#111111" width="100%" bgcolor="#C0C0C0" height="18">
  <tr>
      <td width="40%"><b>'; echo 'Område/By:</b> '.$row['omr'].'</td>
      <td width="20%"><b>'; echo 'Type:</b> '.$row['type'].'</td>
      <td width="20%"><b>'; echo 'Sagsnummer:</b>&nbsp; '.$row['id'].'</td>
      <td width="20%"><b>'; echo 'Dato:</b> '.$row['dag'].'</td></tr></table>
<body topmargin="6" leftmargin="8" style="font-family: Arial; font-size: 10pt; color: #000000">
<p style="margin-bottom: -4; margin-top:0">';
echo '<b><font color="#000000" font size="3">'.$row['ovr'].'</font></b>';

echo '</p><p style="margin-top: 2" align="justify">'.$row['annonce'].'<br>';   
}
?>
Avatar billede jakobdo Ekspert
26. oktober 2005 - 21:39 #1
Det som jeg ser som problemet er følgende:
echo empty($row['image']) ? '' : '<img src="files/'.$row['image" class="image"><P></div>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-size:8pt; font-family:Arial; color:#000000" bordercolor="#111111" width="100%" bgcolor="#C0C0C0" height="18">
  <tr>
      <td width="40%"><b>';
Du tjekker om image er sat eller ej.
Hvis den er, laver du: '<img src="files/'.$row['image" class="image"><P></div>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-size:8pt; font-family:Arial; color:#000000" bordercolor="#111111" width="100%" bgcolor="#C0C0C0" height="18">
  <tr>
      <td width="40%"><b>';
Hvis ikke, sætter du "kun" '' <- Altså ingenting.

Prøv at ret til:

echo empty($row['image']) ? '' : '<img src="files/'.$row['image" class="image">';
echo '<P></div>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-size:8pt; font-family:Arial; color:#000000" bordercolor="#111111" width="100%" bgcolor="#C0C0C0" height="18">
  <tr>
      <td width="40%"><b>';
Avatar billede b-jacobsen Nybegynder
26. oktober 2005 - 21:43 #2
Tak, jeg prøver dit råd og vender hurtigt tilbage
Avatar billede b-jacobsen Nybegynder
26. oktober 2005 - 21:51 #3
Får følgende fejl - Parse error: parse error, unexpected ';', expecting ']' in /hsphere/local/home/janarpe/arpeogpartner.dk/annoncer.php on line 42

I den her linie -
echo empty($row['image']) ? '' : '<img src="files/'.$row['image" class="image">'
Avatar billede jakobdo Ekspert
26. oktober 2005 - 21:53 #4
Husk at smid ; efter image">';
Avatar billede nielle Nybegynder
26. oktober 2005 - 21:55 #5
Og ret $row['image" til $row['image']" :^)
Avatar billede b-jacobsen Nybegynder
26. oktober 2005 - 21:59 #6
Den var på, havde bare ikke fået kopieret den med over (SJUSK undskyld)
echo empty($row['image']) ? '' : '<img src="files/'.$row['image"; class="image">';


Parse error: parse error, unexpected ';', expecting ']' in /hsphere/local/home/janarpe/arpeogpartner.dk/annoncer.php on line 42
Avatar billede b-jacobsen Nybegynder
26. oktober 2005 - 22:11 #7
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /hsphere/local/home/janarpe/arpeogpartner.dk/annoncer.php on line 42

echo empty($row['image']" :^) ? '' : '<img src="files/'.$row['image'].'" class="image"><P></div>
Avatar billede jakobdo Ekspert
26. oktober 2005 - 22:12 #8
Har du rettet linien:
'<img src="files/'.$row['image"; class="image">';
til:
'<img src="files/'.$row["image"] . 'class="image">';
Avatar billede b-jacobsen Nybegynder
26. oktober 2005 - 22:16 #9
Sender lige det hele -
<?php
include('config.php');
$query = mysql_query("SELECT image,id,dag,type,omr,ovr,annonce FROM annoncer ORDER BY id DESC LIMIT 0,$range") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
if ($i++ != 0) echo '<hr class="spacer">';
echo empty($row['image']" :^) ? '' : '<img src="files/'.$row["image"] . 'class="image">';<P></div>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-size:8pt; font-family:Arial; color:#000000" bordercolor="#111111" width="100%" bgcolor="#C0C0C0" height="18">
  <tr>
      <td width="40%"><b>'; echo 'Område/By:</b> '.$row['omr'].'</td>
      <td width="20%"><b>'; echo 'Type:</b> '.$row['type'].'</td>
      <td width="20%"><b>'; echo 'Sagsnummer:</b>&nbsp; '.$row['id'].'</td>
      <td width="20%"><b>'; echo 'Dato:</b> '.$row['dag'].'</td></tr></table>
<body topmargin="6" leftmargin="8" style="font-family: Arial; font-size: 10pt; color: #000000">
<p style="margin-bottom: -4; margin-top:0">';
echo '<b><font color="#000000" font size="3">'.$row['ovr'].'</font></b>';

echo '</p><p style="margin-top: 2" align="justify">'.$row['annonce'].'<br>';   
}
?>

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /hsphere/local/home/janarpe/arpeogpartner.dk/annoncer.php on line 42
Avatar billede jakobdo Ekspert
27. oktober 2005 - 08:14 #10
Test dette:
<?php
include('config.php');
$query = mysql_query("SELECT image,id,dag,type,omr,ovr,annonce FROM annoncer ORDER BY id DESC LIMIT 0,$range") or die(mysql_error());
while ($row = mysql_fetch_assoc($query))
{
    if ($i++ != 0)
        echo "<hr class=\"spacer\">";
   
    echo isset($row["image"]) ? "<img src=\"files/".$row["image"] . "\" class=\"image\">" : "";
   
    echo '<P></div>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-size:8pt; font-family:Arial; color:#000000" bordercolor="#111111" width="100%" bgcolor="#C0C0C0" height="18">
  <tr>
      <td width="40%"><b>'; echo 'Område/By:</b> '.$row['omr'].'</td>
      <td width="20%"><b>'; echo 'Type:</b> '.$row['type'].'</td>
      <td width="20%"><b>'; echo 'Sagsnummer:</b>&nbsp; '.$row['id'].'</td>
      <td width="20%"><b>'; echo 'Dato:</b> '.$row['dag'].'</td></tr></table>
<body topmargin="6" leftmargin="8" style="font-family: Arial; font-size: 10pt; color: #000000">
<p style="margin-bottom: -4; margin-top:0">';
echo '<b><font color="#000000" font size="3">'.$row['ovr'].'</font></b>';

echo '</p><p style="margin-top: 2" align="justify">'.$row['annonce'].'<br>'; 
}
?>
Avatar billede b-jacobsen Nybegynder
27. oktober 2005 - 09:52 #11
Hej jakobdo, jo sørme du er inde på noget af det rigtige. Al teksten står som den skal nu, men til gengæld er der et rødt kryds der hvor billedet skulle have været, hvordan får man så det væk?
Avatar billede jakobdo Ekspert
27. oktober 2005 - 10:07 #12
Det er måske fordi stien til billedet er forkert.
Prøv at klik på billedet og vælg egeneskaber og se om stien så er korrekt?
Avatar billede b-jacobsen Nybegynder
27. oktober 2005 - 10:23 #13
Øh nu tror jeg vi snakker forbi hinanden, der skal jo netop ikke være noget billed, jeg har kun lagt tekst ind i DB til annoncen, intet billed.
Avatar billede jakobdo Ekspert
27. oktober 2005 - 10:38 #14
Nej, klik på krydset og vælg egenskaber.
Det kan være koden til billede peger forkert.
Avatar billede b-jacobsen Nybegynder
27. oktober 2005 - 10:42 #15
Type: Ikke tilgængelig
http://www.arpeogpartner.dk/files/
Størrelse: Ikke tilgængelig
Dimensioner: 28 x 30 pixel
Oprettet: Ikke tilgængelig
Ændret: Ikke tilgængelig
Avatar billede jakobdo Ekspert
27. oktober 2005 - 10:52 #16
Hvor ligger billedefilen?
Avatar billede b-jacobsen Nybegynder
27. oktober 2005 - 10:59 #17
Den ligger i mappen "files", men husk stadig på, at det har ikke været billedet der har været problemet, men teksten der blev kaos når der til annoncen ikke var lagt billed, men kun tekst i DB. Prøv at kik på siden http://www.arpeogpartner.dk Læs alle annoncer - de 2 øverste annoncer er lagt i databasen uden billeder, kun tekst.
Avatar billede jakobdo Ekspert
27. oktober 2005 - 11:06 #18
Indeholder $row["image"] noget?
Avatar billede b-jacobsen Nybegynder
27. oktober 2005 - 11:11 #19
Det burde den ikke gøre når DB feltet "Image" er tomt, og det har jeg undersøgt.
Avatar billede jakobdo Ekspert
27. oktober 2005 - 11:16 #20
Prøv at ret:
echo isset($row["image"]) ? "<img src=\"files/".$row["image"] . "\" class=\"image\">" : "";
til:
echo (empty($row["image"])) ? "" : "<img src=\"files/".$row["image"] . "\" class=\"image\">";
Avatar billede b-jacobsen Nybegynder
27. oktober 2005 - 11:20 #21
Fantastisk det virker!!! 1000 - 1000 tak for hjælpen. Smider du et svar?
Avatar billede jakobdo Ekspert
27. oktober 2005 - 11:31 #22
Svar!
Avatar billede b-jacobsen Nybegynder
27. oktober 2005 - 11:32 #23
Endnu engang mange tak for hjælpen!
MVH B. Jacobsen
Avatar billede jakobdo Ekspert
27. oktober 2005 - 11:34 #24
Takker for point!
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