Avatar billede clh Nybegynder
07. september 2001 - 12:59 Der er 16 kommentarer og
1 løsning

Varierende billeder og tekst!

Jeg har en side hvor der bliver hentet tekst fra en database, det vil sige at der fremkommer nyt tekst hver gang man trykker på et link der henter tekst fra mysql databasen. Men på nogen af siderne skal der gerne fremkomme både tekst og billeder, det vil sige at der først skal komme lidt tekst og så et billede, og derefter en ny tekst og så et billede.
Avatar billede astalavista Nybegynder
07. september 2001 - 13:07 #1
sammen med teksten, kan du ligge billedet stien i et andet felt ex. billeder/her_er_jeg.jpg

echo \"<img border=\\\"0\\\" src=\\\"$foto\\\">\";
Avatar billede clh Nybegynder
07. september 2001 - 13:15 #2
Problemet er at det kun er ved nogen af siderne der skal være en blanding af tekst. Ved de sider der skal være billeder, kommer rækkefølgen som sådan:

tekst
billede
tekst
billede
tekst
...

Du skal lige se min kode, så du ved hvordan det ser ud indtil videre:
<?
$query = mysql_query(\"Select * from film where id = \'$id\'\");
while($r = mysql_fetch_array($query)) {
$tekst = $r[\"tekst\"];
$tekst = nl2br($tekst);
echo $tekst;
}
?>
Avatar billede myplacedk Nybegynder
07. september 2001 - 13:35 #3
Hvad er problemet i den kode du har nu?
Avatar billede clh Nybegynder
07. september 2001 - 13:39 #4
det er at jeg på nogen af siderne skal have tekst først derefter et bileder osv.

Men jeg ved ikke hvordan man skal koble det sammen, da det ikke er alle siderne der skal have billeder, og det hele skal foregå på en php side
Avatar billede myplacedk Nybegynder
07. september 2001 - 13:41 #5
Hvad skal det kobles sammen ud fra? Du har slet ikke beskrevet opgaven endnu!
Den kode du har henter noget tekst fra databasen, og viser den. Hvad er det mere, der skal gøres?

Hvor kommer billederne fra? Hvordan ved du hvor de skal indsættes?

Sig nu noget! :)
Avatar billede clh Nybegynder
07. september 2001 - 13:51 #6
billederne ligger i et bibliotek på serveren: fx. /fejl/billede.jpg

Jeg har i databasen oprettet et felt der hedder pic1 med det første billede og pic2 med et andet billede. Men på den side der skal vises kan der f.eks. fremkomme 10 billeder eller ingen billeder!

Udover dette har jeg et felt der hedder tekst, der indeholder en linie med tekst og en mellem rum, derefter noget mere tekst. osv.

Opgaven er så at der på nogen af siderne skal fremkomme et billede og så noget tekst, og derefter et nyt billede og så noget tekst.

Da jeg ikke er en haj til PHP, har jeg problemmer med at finde en smart måde at løse det hele på. Det kan måske hjælpe hvis du ser hvordan det ser ud uden billeder på linket: http://www.lykke-hansen.dk/index1?page=film&id=26

og denne fil viser hvordan jeg gerne vil have det til at se ud (dette er en fil der ikke er lavet med mysql):
http://www.lykke-hansen.dk/index1?page=fejl26
Avatar billede myplacedk Nybegynder
07. september 2001 - 13:57 #7
Okay, now we\'re getting somewhere.

Når der i teksten står \"<br>\\n\\n<br>\\n\\n<br>\" (eller hvad?) skal der insættes et billede.

Den teskstreng forekommer ALDRIG oftere end der er billeder?
Avatar billede myplacedk Nybegynder
07. september 2001 - 13:58 #8
s/teskstreng/tekststreng/

der kunne lige så godt have stået \"streng\". :)
Avatar billede clh Nybegynder
07. september 2001 - 14:01 #9
Ja noget i den stil, min kode er den du ser øverst. Men hvordan vil den smartest måde være at arrangere billederne i mysql, du kan eventuelt vise hvordan koden skal laves om, med den kode jeg har indsat længere oppe!
Avatar billede myplacedk Nybegynder
07. september 2001 - 14:04 #10
Opgaven er altså:

1: Vi har en tekst, der skal deles op i mindre bidder. Adskilleren er en streng, som er noget i stil med en to-tre linjeskift.

Den er nem nok:
$stumper = explode($adskiler, $tekst);

2: Hver adskiller skal udskiftes med noget andet, som bla. indeholder et billede. Billedet hentes fra databasen, i et felt hvor feltnavnet bla. indeholder billedenummeret.

$nytekst = \'\';
$i = 1; // nummer på første billede
foreach($stumper as $stump) { // Vi tager en stump af gangen
    $feltnavn = \'pic\'.$i;
    $url = // hent fra databasen
    $billede = \'<br><img src=\"\'.$url\'\"><br>\';
    $nytekst .= str_replace($adskiller, $billede, $stump);
    $i++;
}

Den kode du allerede har, har intet med dette at gøre.
Din kode henter teksten, denne kode piller ved teksten.
Avatar billede myplacedk Nybegynder
07. september 2001 - 14:05 #11
Det var et svar. :)

I øvrigt vil jeg helst ikke komme ind på dit database-design lige nu. ;-)
Avatar billede clh Nybegynder
07. september 2001 - 14:09 #12
Med dette laver du så et tabel for sig med billederne?
Avatar billede myplacedk Nybegynder
07. september 2001 - 14:11 #13
Jeg piller slet ikke ved databasen.
Men det ville jeg havde gjort, hvis jeg skulle løse den opgave. :)
Avatar billede clh Nybegynder
07. september 2001 - 14:13 #14
ok
Avatar billede clh Nybegynder
07. september 2001 - 14:16 #15
Jeg tror nok jeg bliver nødt til at nøjes med tekst. Jeg er desværre ikke så god til PHP, at jegkan overkomme det ligenu. Men tak for hjælpen!
Avatar billede clh Nybegynder
07. september 2001 - 14:24 #16
Du er velkommen til at lave scriptet til mig, hvis du sidder og keder dig :-)
Avatar billede myplacedk Nybegynder
07. september 2001 - 14:37 #17
Jeg keder mig skam ikke, tvært imod. :)
Men nu har jeg praktisk talt lavet det for dig. Hvis du ikke kan få det til at køre, må der være 100 andre som kan hjælpe dig med den del. :)
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