Avatar billede silmarillion Juniormester
05. september 2009 - 15:24 Der er 28 kommentarer

Dynamisk visning af billede

Hej Eksperter,

Jeg har et lille script der ser ud som følger:

....

$i = 0;

echo "<form name='namestoupdate' method='post' action='update3.php'>\n";

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

  echo "<input type='hidden' name='billedeid[$i]' value='{$titler['billedeid']}' />";
  echo '<img src="smlthumbs/28a.jpg" width="100" height="150" />';
  echo "<p>{$titler['titel']}: <input type='text' size='40' name='titel[$i]' value='{$titler['titel']}' /></p>\n";

++$i;
}
echo "<input type='submit' value='submit' />";
echo "</form>";
mysql_close();

Som det er nu virker det fint, men jeg vil gerne have følgende linje:
echo '<img src="smlthumbs/28a.jpg" width="100" height="150" />';
til dymanisk at vise det billede der hører til titlen.

Jeg har forsøgt med {$titler['billednavn']} og $titler['billednavn'] og $rows['billednavn'] istedet for 28a.jpg, hvor billednavn er filnavnet der er registreret i databasen.

På forhånd tak for hjælpen :o)
Avatar billede erikjacobsen Ekspert
05. september 2009 - 16:02 #1
Hvis du har et felt, der hedder billednavn, og det indeholder det rigtige, så er det  {$titler['billednavn']}  der skal virke. Hvad står der i HTML-kode når du siger "Vis kilde" ?
Avatar billede silmarillion Juniormester
05. september 2009 - 17:22 #2
Siden kan bare ikke vises, når jeg skriver {$titler['billednavn']}
Jeg har et felt i min database, der hedder "billednavn", med filnavne fx. DSC_2065a.jpg
Avatar billede erikjacobsen Ekspert
05. september 2009 - 17:57 #3
"Siden kan bare ikke vises" - så må der være en fejlbesked på siden.
Avatar billede webweaver Praktikant
05. september 2009 - 18:01 #4
Ser din linie således ud?;

echo '<img src="smlthumbs/" . $titler['billednavn] . "" width="100" height="150" />';

Det vil virke under normale omstændigheder.

Og du husker også at hente det ud i din SELECT?
Avatar billede silmarillion Juniormester
05. september 2009 - 18:04 #5
http://easywebdesigns.dk/easywebgalleri/test8.php

Webstedet kan ikke vise siden.
HTTP 500 
  Mest sandsynlige årsager:
Webstedet er under vedligeholdelse.
Webstedet har en programmeringsfejl.

  Prøv at:
    Skrive adressen igen.

    Gå tilbage til den forrige side.

    Flere oplysninger

Denne fejl (HTTP 500 intern serverfejl) betyder, at et serverproblem på det websted, som du besøger, forhindrede visning af websiden.

Hvis du vil have flere oplysninger om HTTP-fejl, skal du se i Hjælp.
Avatar billede webweaver Praktikant
05. september 2009 - 18:02 #6
Prøv at smid mysql_error på din query hvis du ikke har det.
Det kunne godt være en fejl i din SQL.
Avatar billede webweaver Praktikant
05. september 2009 - 18:03 #7
En lille fejl i denne linie,

echo '<img src="smlthumbs/" . $titler['billednavn] . "" width="100" height="150" />';

Der mangler en '.

Således;

echo '<img src="smlthumbs/" . $titler['billednavn'] . "" width="100" height="150" />';
Avatar billede webweaver Praktikant
05. september 2009 - 18:05 #8
Argh, jeg roder da rundt i det lige nu. Vi prøver igen, sorry,

echo '<img src="smlthumbs/' . $titler['billednavn] . '" width="100" height="150" />';
Avatar billede silmarillion Juniormester
05. september 2009 - 18:07 #9
webweaver, jeg har prøvet at ændre til

echo '<img src="smlthumbs/" . $titler['billednavn'] . "" width="100" height="150" />';

som du skriver, det virker heller ikke.

min Mysql forespørgsel ser ud som følger:

$result = mysql_query("SELECT * FROM billeder ORDER BY galleri");
Avatar billede silmarillion Juniormester
05. september 2009 - 18:11 #10
Jeg har lige prøvet med det du skriver i indlæg #8, og det virker heller ikke...
Avatar billede erikjacobsen Ekspert
05. september 2009 - 18:18 #11
Lyder som du bruger IE. Der er noget om at den som standard ikke viser de fejl der udskrives, for at "beskytte" brugeren. Dvs. du kan ikke se hvad der er galt.

Find en anden browser, eller find den indstilling, der slår ovenstående fra.

Og også: "og det virker heller ikke... " - hvordan virker det ikke??
Avatar billede silmarillion Juniormester
05. september 2009 - 18:24 #12
Det er korrekt, at det er IE, Firefox, Chrome og Safari viser bare en blank side,

Det jeg mener med, at det virker heller ikke er, at det er den samme fejl jeg får, når jeg vil vise siden.
Avatar billede webweaver Praktikant
05. september 2009 - 18:31 #13
Har du mysql_error på?

mysql_query("SELECT * FROM tabel") or die (mysql_error());
Avatar billede silmarillion Juniormester
05. september 2009 - 18:39 #14
Jeg har prøvet at rette:
$result = mysql_query("SELECT * FROM billeder ORDER BY galleri");

til:
$result = mysql_query("SELECT * FROM billeder ORDER BY galleri") or die (mysql_error());

men jeg får stadig en blank side i Firefox, Chrome og Safari
Avatar billede erikjacobsen Ekspert
05. september 2009 - 20:39 #15
Dit webhotel/webserver kan være indstillet til ikke at vise fejl. Hvor er det hosted?

Så snart du får en fejlbesked kan vi komme videre.
Avatar billede silmarillion Juniormester
05. september 2009 - 20:41 #16
Det er hos one.com
Avatar billede erikjacobsen Ekspert
05. september 2009 - 20:55 #17
Ja, jo. Jeg har hørt at man i deres kontrolpanel skal slå PHP-fejl til.
Avatar billede silmarillion Juniormester
05. september 2009 - 21:04 #18
Jeg har nu slået PHP-fejl til i kontrolpanelet hos one.com, men jeg får stadig en bllank side i Firefox, Chrome og Safari
Avatar billede webweaver Praktikant
05. september 2009 - 22:35 #19
Hmm jeg tror du må prøve at poste hele din PHP kode i den pågældende fil.
Evt via pastebin.com hvis der er meget.
Avatar billede silmarillion Juniormester
05. september 2009 - 22:42 #20
Der gik tilsyneladende noget tid før ændringerne hos one.com slog igennem, får nu følgende fejl:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /customers/easywebdesigns.dk/easywebdesigns.dk/httpd.www/easywebgalleri/test8.php on line 24

dvs. denne linie:
echo '<img src="smlthumbs/{$titler['billednavn']}" width="100" height="150" />';
Avatar billede silmarillion Juniormester
05. september 2009 - 22:44 #21
Hele koden ser ud som følger:

<?php
// connect to the database
mysql_connect(xxx,xxx,xxx);

// select the database
mysql_select_db(xxx) or die("Unable to select database");

// run the query and put the results in an array variable called $result
$result = mysql_query("SELECT * FROM billeder ORDER BY galleri") or die (mysql_error());

// start a counter in order to number the input fields for each record
$i = 0;

// open a form
echo "<form name='namestoupdate' method='post' action='update3.php'>\n";

// start a loop to print all of the courses with their book information
// the mysql_fetch_array function puts each record into an array. each time it is called, it moves the array counter up until there are no more records left
while ($titler = mysql_fetch_array($result)) {

// assuming you have three important columns (the index (id), the course name (course), and the book info (bookinfo))
  // start displaying the info; the most important part is to make the name an array (notice bookinfo[$i])
  echo "<input type='hidden' name='billedeid[$i]' value='{$titler['billedeid']}' />";
  echo '<img src="smlthumbs/{$titler['billednavn']}" width="100" height="150" />';
  echo "<p>{$titler['titel']}: <input type='text' size='20' name='titel[$i]' value='{$titler['titel']}' /></p>\n";

// add 1 to the count, close the loop, close the form, and the mysql connection
++$i;
}
echo "<input type='submit' value='submit' />";
echo "</form>";
mysql_close();
?>
Avatar billede silmarillion Juniormester
05. september 2009 - 22:47 #22
Skriver jeg

echo "{$titler['billednavn']}";

skriver den filnavnet korrekt ud.
Avatar billede erikjacobsen Ekspert
05. september 2009 - 22:50 #23
Linie 24 skal være

  echo "<img src=\"smlthumbs/{$titler['billednavn']}\" width=\"100\" height=\"150\" />";
Avatar billede silmarillion Juniormester
05. september 2009 - 22:59 #24
Erik nu virker det s.. fantastisk

kan du forklarere hvad forskellen er på det du skrev, og det jeg skrev, vil meget gerne kunne forstå hvad det er jeg laver ;o)

Tusinde tak for hjælpen,

hilsen Janus
Avatar billede erikjacobsen Ekspert
05. september 2009 - 23:02 #25
Mnjah, det er nok de her regler:

En " i en "..." streng skal escapes:    "...\"....";
I en '....' streng sker der ikke variabelsubstition:  print '$abekat';  udskriver ikke indholdet af variablen $abekat, men teksten:  $abekat
Avatar billede erikjacobsen Ekspert
05. september 2009 - 23:03 #26
Hmm, jeg kom vist til at stave variabelsubstitution på svensk, eller sådan noget. Sorry ;)
Avatar billede silmarillion Juniormester
05. september 2009 - 23:13 #27
Mange tak for forklaringen, du kan lægge et svar hvis du vil have pointene, de er velfortjent.
Avatar billede erikjacobsen Ekspert
05. september 2009 - 23:21 #28
Måske - men jeg samler slet ikke på point, tak.
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