ProXymus Skrevet 20. august 2004 Del Skrevet 20. august 2004 (endret) Hva er feil med den loopen her: $sql = mysql_query("SELECT * FROM `core_modules` WHERE `common` = '1'"); while ( $db = mysql_fetch_array($sql) ) { require($db['path']."common.php"); } det er 3 rader i databasen som common er lik 1. den klarer bare å require de 2 første. Jeg fatter ikke hvorfor den ikke klarer den siste. Det ser faktisk ut som loopen slutter på nr 2 for jeg får ikke noen feilmelding heller. Endret 23. august 2004 av ProXymus Lenke til kommentar
RipZ- Skrevet 20. august 2004 Del Skrevet 20. august 2004 Det er ingenting som er feil med loopen. Hva er det som går galt? Får du feilmelding? Sikker på at alle *common.php-filene eksisterer? Lenke til kommentar
ProXymus Skrevet 20. august 2004 Forfatter Del Skrevet 20. august 2004 Alle common filene er inne.. siden den siste filen ikke ble hentet måtte jeg sette inn en require i koden utenom loopen og den funket. Får ingen feilmeldinger men jeg er veldig sikker på at loopen stopper etter de to av 3 radene. Den klarer liksom ikke å hente inn den siste raden av en eller annen merklig grunn.. Har tilogmed prøvd å sette error_reporting på E_ALL men ennå får jeg INGEN feilmeldinger.. Lenke til kommentar
TorS Skrevet 20. august 2004 Del Skrevet 20. august 2004 Hvis du setter det opp som følger, kan det vel kanskje virke... $sql = mysql_query("SELECT * FROM `core_modules` WHERE `common` = '1'"); do { require($db['path']."common.php"); } while ( $db = mysql_fetch_array($sql) ) Jeg vet ikke helt hvorfor det ikke virker som du sier det, men jeg vet at jeg måtte ha gjort om noen av mine sider til en do/while-løkke for å få ønskelig resultat.... Lenke til kommentar
joffar Skrevet 20. august 2004 Del Skrevet 20. august 2004 En måte å teste hva som trekkes ut av databasen kan vel være $sql = mysql_query("COUNT * FROM `core_modules` WHERE `common` = '1'"); deretter sjekker du hvor mange den fant.... er det mulig at common har blitt satt til 01 evt "space" 1 og da vil den jo ikke leses som tall, og derved ikke trekkes ut... eller det kan hende jeg er helt på villspor.. ikke vet jeg.. Lenke til kommentar
RipZ- Skrevet 20. august 2004 Del Skrevet 20. august 2004 Om common er en tall-verdi burde du egentlig bruke "common = 1" i stedet for "common = '1'". Jeg er i grunn veldig sikker på at SQL-spørringen kun retunerer to rader. Prøv å ta vekk fnuttene rundt 1-tallet. Se også hva slags type feltet common er i mysql-tabellen din. Lenke til kommentar
ProXymus Skrevet 23. august 2004 Forfatter Del Skrevet 23. august 2004 (endret) Kan ikke bruke do..while pga jeg trenger å vite hva $db['path'] er... Har sjekket databasen flere ganger.. kan ikke se noen feil der. I feltet er common int(1). Fungerte heller ikke når jeg tok dem vekk :/ Har prøvd å legge til en echo i while loopen for å se hvor mange ganger den sier noe. Og det var bare 2. Den stopper alltid på den siste uansett hvor mange dem er ser det ut til. Endret 23. august 2004 av ProXymus Lenke til kommentar
ProXymus Skrevet 23. august 2004 Forfatter Del Skrevet 23. august 2004 Fant ut hva som var galt... I en av scriptsa den hentet inn med require var det en loop som brukte samme variablene.. Altså $sql og $db det førte til at loopen sluttet etter det scriptet. Dumt av meg å ikke se det egentklig Lenke til kommentar
Torbjørn Skrevet 23. august 2004 Del Skrevet 23. august 2004 ikke så dumt av deg - men meget dumt av php. dette er php får mye pepper for - å kun ha ett variabelrom som kan herpes med som man vil av inkluderte filer. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå