Gå til innhold

While loop problemer [LØST]


Anbefalte innlegg

Skrevet (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 av ProXymus
Videoannonse
Annonse
Skrevet

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?

Skrevet

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..

Skrevet

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....

Skrevet

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.. :p ikke vet jeg..

Skrevet

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.

Skrevet (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 av ProXymus
Skrevet

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 :p

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...