Hvordan laves 2 indlejret while-løkker?greenspun.com : LUSENET : WebdesignII : One Thread |
Mit problem er, at jeg skal lave 2 kald til databasen indlejret i 2 while-løkker, hvilket jeg ikke får lov til.# Procedure som henter data inden for en kategori proc get_info { kategori } { set db [ns_db gethandle] set query "select job_id, stillingsbetegnelse, firma from jobopslag where kategori = $kategori" set selection [ns_db select $db $query]
while {[ns_db getrow $db $selection]} { set_variables_after_query append comments "
\n" } } $stillingsbetegnelse $firma # Opretter et database-håndtag set db [ns_db gethandle]
# Definition af forespørgslen set query "select kategori from jobopslag"
# Udførsel af forespørgslen set selection [ns_db select $db $query]
set comments "
Projektbørs
\n"
"while {[ns_db getrow $db $selection]} { set_variables_after_query append comments "[get_info "$kategori"]" }
append comments "
ns_return 200 text/html [home_page "Jobbørs" "$comments"]
-- Carsten Schmidt (cs@it-c.dk), April 26, 2001
En del af mit problem er blevet løst, men ikke helt. Jeg har overført db til proceduren, men dette resultere i at den første while-løkke ikke fungere.Hjælp modtages med kyshånd!
Programtekst:
# Procedure som henter data inden for en kategori proc get_info { kategori db} { set jobs "
$kategori
\n" # set db [ns_db gethandle subquery] set query "select job_id, stillingsbetegnelse, firma from jobopslag where kategori = '$kategori'" set selection [ns_db select $db $query]while {[ns_db getrow $db $selection]} { set_variables_after_query append jobs "
\n" } # ns_db releasehandle $db return $jobs } $stillingsbetegnelse $firma # Opretter et database-håndtag set db [ns_db gethandle]
# Definition af forespørgslen set query "select kategori from jobopslag"
# Udførsel af forespørgslen set selection [ns_db select $db $query]
set comments "
Projektbørs
\n"
"while {[ns_db getrow $db $selection]} { set_variables_after_query append comments "[get_info $kategori $db]" }
append comments "
ns_return 200 text/html [home_page "Jobbørs" "$comments"]
-- Carsten Schmidt (cs@it-c.dk), April 26, 2001.
Du kan desværre ikke have to sql-forespørgsler igang på samme tid, med den nuværende opsætning på HUG -- for at spare på ressourcerne.
-- Niels Hallenberg (nh@it-c.dk), April 27, 2001.