Gå til innhold

While loop problemer [LØST]


Anbefalte innlegg

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
Lenke til kommentar
Videoannonse
Annonse

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

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

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

Lenke til kommentar

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

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
Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...