Problem med at modtage info fra database

Tags:    php

Hej udviklere,

Jeg sidder her og koder i det dårlige vejr, men jeg stødte lige på et problem, jeg ikke selv lige kunne finde svar på.

Jeg vil gerne vise et tilfældigt billede med PHP print, og billedets URL, link og alt-tekst skal stamme fra en database. Problemet er bare, at jeg kun vil have scriptet til at vise et billede, hvorimod den i min Firefox-browser viser en masse og bliver ved med at lave flere.

Hvordan gør jeg sådan, at scriptet kun viser et billede?

Fold kodeboks ind/udKode 


På forhånd tak :)



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det her burde gøre det.
Fold kodeboks ind/udPHP kode 




Fold kodeboks ind/udKode 


Prøv, det er ikke testet..



Det her burde gøre det.
Fold kodeboks ind/udPHP kode 

Det eneste du laver om fra opretterens kodestykke er jo at lave en $query variabel indeholdende forespørgslen. Funktionelt er de to kodestykker det samme.

Det rigtige spørgsmål er, hvorfor bruger du en while løkke, hvis du kun skal hente en enkelt række fra databasen? Det giver ingen mening at lave en løkke, der kun skal gentage sig selv en enkelt gang. Meningen med løkker er at de skal gentage sig selv indtil flere gange.

Det er heller ikke nødvendigt at bruge LIMIT 0,1, LIMIT 1 er nok. Når du kalder keys i et associativt array skal du huske at sætte apostroffer eller anførselstegn rundt om. $info[link] = bad, $info['link'] = good. http://dk.php.net/manual/en/language.types.array.php læs ved array do's and don'ts: Why is $foo[bar] wrong.

Desuden virker din print statement rodet, hvorfor har du valgt at bruge \ backslashes i stedet for bare at adskille variablerne og resten af stringen.

Fold kodeboks ind/udPHP kode 





Indlæg senest redigeret d. 10.08.2010 14:10 af Bruger #16047

Det eneste du laver om fra opretterens kodestykke er jo at lave en $query variabel indeholdende forespørgslen. Funktionelt er de to kodestykker det samme.


Det er da noget sludder. Den originale kodestump udfører, hver gang, i løkken én SQL query mod databasen, får et svar, aflæser første række og kroppen i while løkken bliver så udført.

Den kode Jonas (Decko) postede, laver nu en SQL query - gemmer ressourcen til denne i en variabel og kører nu en løkke for hver række i dette resultat - hvilket, pga. "LIMIT 0,1" i SQL queryen altid kun vil være en. Funktionelt er de to stykker kode vidt forskellige, idet den ene vil lave en uendelig løkke (hvilket også er det som der bliver beskrevet originalt) såfremt der er minimum en række der bliver returneret fra SQL queryen - mens Jonas (Decko)'s kode kun vil køre indtil der ikke er flere rækker i resultatsættet.



Point taken



t