Ik loop tegen het probleem aan dat de php pagina die ik wil maken ver over de geheugen limiet komt
"20971520 bytes exhausted (tried to allocate 1886284160 bytes)"
Ik probeer een rechten aanvraagformulier te maken.
Dit bestaat uit 10 profielen en 160 applicaties
Ik wil een beheer pagina maken om een koppel tabel te maken tussen de applicaties en de profielen.
het leek me het handigst om een rij te maken met alle applicaties links en rechts naast elke app 10 checkboxen om zo aan te geven welk profiel gebruik mag maken van welke applicatie.
Dit zou dus resulteren in 160 * 10 = 1600 checkboxen.
Onderstaande code heb ik daarvoor gemaakt:
PHP Code:
<?
$sql = " SELECT id,naam";
$sql .= " FROM profielen";
$sql .= " ORDER BY naam";
$result = mssql_query($sql);
$num = mssql_num_rows($result);
$i=0;
while($i < $num)
{
$sql_profiel_naam = mssql_result($result,$i,naam);
$sql_profiel_array["$sql_profiel_naam"][] = mssql_result($result,$i,id);
$i++;
}
echo "<table>";
$sql = " SELECT id,naam";
$sql .= " FROM applicaties";
$sql .= " WHERE status='1'";
$result = mssql_query($sql);
$num = mssql_num_rows($result);
$i=0;
while($i < $num)
{
$sql_app_id = mssql_result($result,$i,id);
$sql_app_naam[] = mssql_result($result,$i,naam);
foreach($sql_profiel_array AS $key=>$value)
{
$array_profiel_id = $value[0];
echo "<td><input type='checkbox' value='$sql_app_id-$array_profiel_id'></td>";
}
$i++;
}
echo "</table>";
?>
Maargoed, dit resulteert dus in een melding dat er te weinig geheugen beschikbaar is.
Is er iemand die een goed alternatief weet? :)
- alternatief voor een foreach in een while loop
-
30-09-2009, 09:59 #1
- Berichten
- 506
- Lid sinds
- 16 Jaar
alternatief voor een foreach in een while loop
-
-
30-09-2009, 10:09 #2
- Berichten
- 349
- Lid sinds
- 17 Jaar
Je kunt die hele $num statement al weghalen:
PHP Code:$result = mssql_query($sql);
while($row = mssql_fetch_array($result)) //dit mag natuurlijk ook met een andere methode!
{
//hier wat je wil doen, een value aanroepen doe je met $row['id'] bijvoorbeeld
}
-
30-09-2009, 10:12 #3
- Berichten
- 506
- Lid sinds
- 16 Jaar
Je kunt die hele $num statement al weghalen:
PHP Code:$result = mssql_query($sql);
while($row = mssql_fetch_array($result)) //dit mag natuurlijk ook met een andere methode!
{
//hier wat je wil doen, een value aanroepen doe je met $row['id'] bijvoorbeeld
}
Tnx, blijkt toch de oplossing te zijn!Laatst aangepast door Michel Willemse : 30-09-2009 om 10:31 Reden: Automatisch samengevoegd.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic