17. august 2006 - 19:58Der er
7 kommentarer og 1 løsning
kan ikke udskrive
Hej. Jeg har lavet det her forum, men efter et bestemt sted i koden kan den ikke udskrive noget, jeg ved ikke om den bare ikke eksekver koden eller om det kun er "echo" functionen der ikke virker. det er lige efter while lykken. her er min kode:
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
nej... den echo i min while lykke virker fint, men alle echo'erne efter gør ikke og måske gør resten af koden heller ikke, lidt svært at finde ud af ;)
Prøv at fjern "or die (mysql_error()))", så der blot står "while ($row = mysql_fetch_array($res)" - Man kan sikker godt gøre det med en "or die()", men har aldrig set det før ved en while().
Det er faktisk ganske logisk, at det ikke virker med or die på det sted. Forklaringen er den måde de forskellige koder virker på.
1) $variabel = udtryk;
Variablen får tildelt værdien af udtryk. Bemærk at $variabel=udtryk også selv er et udtryk, som har samme værdi som det, der blev puttet i variablen.
2) udtryk or die();
Udtryk køres, og hvis det gav en værdi, der kan fortolkes som falsk, dør scriptet.
3) while( udtryk ){kode} Koden køres så længe udtryk ikke giver et resultat, der kan fortolkes som falsk. mysql_fetch-funktionerne returnerer falsk, når der ikke er mere at hente.
Dermed:
4) while( $variabel = udtryk or die()) {kode} Koden køres så længe udtryk ikke giver en falsk værdi hvorefter scriptet dør.
Pointen er, at når while skal finde ud af om den skal afslutte eller køre koden igen, så udfører den udtrykket i while-parentesen. Det udtryk består normalt bare af en simpel betingelse, som enten kan være sand eller falsk lige som hvis jeg ikke havde haft "or die" i min eksempelkode. Så længe (direkte oversat af "while") betingelsen ikke er falsk, udføres selve løkken igen.
Nu er fidusen at "or die()" netop betyder, at hvis det foranstående udtryk er falsk (altså hvis det ville afslutte en while-løkke) så dør scriptet i stedet med den tekst, som man har givet die()-kaldet. Dermed dør scriptet inden while når at få at vide, at den ikke skal køre løkken igen.
Synes godt om
Ny brugerNybegynder
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.