Avatar billede the_kloster Nybegynder
09. oktober 2009 - 00:10 Der er 6 kommentarer og
1 løsning

Igen igen lidt php hjælp.

Hejsa :)

Jeg har fået noget frækt database, hvor jeg kan uploade et billede, eller en hvilken som helst anden fil.

min database gemmer fint nok billedets navn (inkl. hvilken type fil det er; jpg, gif osv.)

Nu er det bare at jeg skal have den til at vise mit billede men det er den ikke så meget for, min kode er:

<?php
if( isset( $_GET['id'] ) )
$id = $_GET['id'];
else
$id = null;

@include('fetchrow.php'); # Database connect
$query = mysql_query("select * FROM biler where id = '$id'") or die("Der er sket en fejl. Fejlnr. ".mysql_errno());
while ( $row = mysql_fetch_array($query)) {


$headline = stripslashes($row[headline]);
$news = stripslashes($row[news]);
$news = nl2br($text);
?>

Her er selve koden til at hente billedet ud:


<img src="./Biler/<? echo '$row[image]' ?>"/>


Kan ikke se hvad det er jeg gør forkert, IE viser bare en rød kasse med et FED kryds i! :(
Avatar billede Gudiik Nybegynder
09. oktober 2009 - 00:17 #1
Prøv at højre kli på krydset, og vælg egenskaber, så kan du se hvad adressen du prøver at finde billedet på er. Så kan du lige skrive herinde hvad der står af adresse, og hvilke adresse det burde hentes på..
Avatar billede the_kloster Nybegynder
09. oktober 2009 - 01:55 #2
Der henter fra:

http://www.dkdkdkdk.dk/Biler/

og det burde den også

Den burde hente filen fra samme mappe?

Jeg har serverroot/Biler

og inden i mappen der, billederne ligger oppe på serveren, har tjekket :)

Never mind, fik det til at virke, min kode var forkert :)

den skulle være:

<img src="./Biler/<?php echo "$row[image]" ?>"/>

og ikke:

<img src="./Biler/<? echo '$row[image]' ?>"/>
Avatar billede Slater Ekspert
09. oktober 2009 - 07:36 #3
Den skal faktisk være:

<img src="./Biler/<?php echo $row['image'] ?>"/>

- Det andet vil virke, men det er dårlig kode og tager en helvedes masse unødvendig tid at udføre. Vi snakker selvfølgelig millisekunder, men det er stadig komplet unødvendigt.
Avatar billede Slater Ekspert
09. oktober 2009 - 07:43 #4
Og for at uddybe, så du kan se problemet, så laver du to "fejl":

For det første sætter du en variabel i en streng, når der ikke er andet i strengen. $var er det samme som "$var" i praksis, men:

echo $var;
- Udskriver variablen $var.

echo "$var";
- Indlæser tekststrengen.
- Tjekker om der er variabler i, der skal hentes ud.
- Deler strengen op i bidder før og efter variablen.
- Indlæser første del af strengen.
- Indlæser variablen $var.
- Indlæser sidste del af strengen.
- Sætter delene sammen igen, nu med variablens værdi i.
- Udskriver den nye streng.


~

Den anden fejl du gør, er mere almindelig.

$var[image] og $var['image'] fungerer også ens i praksis, men forskellen er:

echo $var['image'];
- Udskriver arrayet $var ved position 'image';

echo $var[image];
- Leder efter en konstant ved navn image;
- Finder at der ingen konstant er ved navn image;
- Laver image om til en tekststreng, 'image'.
- Udskriver arrayet $var ved position 'image';


Du kan nok selv se forskellen
Avatar billede the_kloster Nybegynder
09. oktober 2009 - 13:05 #5
Ja det må man sige, tak :)

pst svar så du kan få point, :)
Avatar billede Slater Ekspert
09. oktober 2009 - 13:36 #6
Gerne, men du svarede jo selv på spørgsmålet. Jeg kom bare med lidt ekstra input :)
Avatar billede the_kloster Nybegynder
09. oktober 2009 - 14:41 #7
og det er da væsentligt (;
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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