Nieuw lid |
|
ik heb een tabel met de landen
id_land, land
ik heb een tabel met groepsnummers
id_groep, groep
nu wil ik graag een netjes overzicht maken met dde de groepsletter en vervolgens de landen oftewel
A
Duitsland
Polen
Ecuador
Costa Rica
B
enz.
enz.
enz.
enz.
dit wil ik allemaal gaan doen met smarty templates en ik was al een aardig stukje op weg
de werkwijze is als volgt
met een query haal ik alles uit de tabel groepen_tbl
die laat ik loopen en bij de eerste loop laat ik de query lopen om de landen te selecteren die bij dat groep_id horen
netjes afdrukken en klaar
ik heb het volgende script
<?php
require("includes/config.php");
require("includes/includes.php");
$dataGroep = array();
$dataLand = array();
$i = 0;
$j = 0;
$groepen = $db->query("SELECT * FROM groepen_tbl ORDER BY groep ASC");
while($rowGroep = $db->fetchRow($groepen, "ASSOC"))
{
foreach($rowGroep AS $indexGroep => $valueGroep)
{
$dataGroep[$i][$indexGroep] = htmlentities($valueGroep);
}
//$landen = $db->query("SELECT * FROM landen_tbl WHERE groep_id = ". $dataGroep[$i]['id_groep']);
//echo "SELECT * FROM landen_tbl WHERE groep_id = ". $dataGroep[$i]['id_groep'] ."<br>";
echo "<pre>";
print_r ($rowGroep);
echo "</pre>";
$landen = $db->query("SELECT * FROM landen_tbl WHERE groep_id = ". $rowGroep['id_groep']);
echo "SELECT * FROM landen_tbl WHERE groep_id = ". $rowGroep['id_groep'] ."<br>";
while($rowLand = $db->fetchRow($landen, "ASSOC"))
{
foreach($rowLand AS $indexLand => $valueLand)
{
$dataLand[$j][$indexLand] = htmlentities($valueLand);
}
$j++;
}
$i++;
}
$tpl->assign("dataGroep", $dataGroep);
$tpl->assign("dataLand", $dataLand);
$tpl->display("LandenOverzicht.html");
?>
<?php require("includes/config.php"); require("includes/includes.php"); $i = 0; $j = 0; $groepen = $db->query("SELECT * FROM groepen_tbl ORDER BY groep ASC"); while($rowGroep = $db->fetchRow($groepen, "ASSOC")) { foreach($rowGroep AS $indexGroep => $valueGroep) { } //$landen = $db->query("SELECT * FROM landen_tbl WHERE groep_id = ". $dataGroep[$i]['id_groep']); //echo "SELECT * FROM landen_tbl WHERE groep_id = ". $dataGroep[$i]['id_groep'] ."<br>"; $landen = $db->query("SELECT * FROM landen_tbl WHERE groep_id = ". $rowGroep['id_groep']); echo "SELECT * FROM landen_tbl WHERE groep_id = ". $rowGroep['id_groep'] ."<br>"; while($rowLand = $db->fetchRow($landen, "ASSOC")) { foreach($rowLand AS $indexLand => $valueLand) { } $j++; } $i++; } $tpl->assign("dataGroep", $dataGroep); $tpl->assign("dataLand", $dataLand); $tpl->display("LandenOverzicht.html"); ?>
en
<!-- {include file="page_header.html"} -->
{debug}
{section name=groep loop=$dataGroep}
{$dataGroep[groep].groep}
<br>
{section name=land loop=$dataLand[groep]}
{$dataLand[land].land}
<br>
{/section}
<br>
{/section}
<!-- {include file="page_footer.html"} -->
<!-- {include file="page_header.html"} --> {debug} {section name=groep loop=$dataGroep} {$dataGroep[groep].groep} <br> {section name=land loop=$dataLand[groep]} {$dataLand[land].land} <br> {/section} <br> {/section} <!-- {include file="page_footer.html"} -->
dit geeft als output:
http://www.plaatscode.be/dump-794.txt
oftewel hij loopt maar 1 keer en dan is het klaar
weet iemand wat hier fout gaat
alvast bedankt!!!
|