Als beginner loop ik te stoeien met gegevens in een geneste tabel. Ik heb een DB aangemaakt, met twee tabellen, Date en Bouwplan.

In Date heb ik Date_id en Date_field.
In Bouwplan heb ik ook Date_id, Plaats, Adres en Omschrijving.

Ik heb een invoer gemaakt, gekoppeld aan de datum.

Ik wil de volgende output genereren in mijn PHP pagina:

Overzicht

datum 1
plaats 1
adres 1
omschrijving 1
adres 2
omschrijving 2
plaats 2
adres 3
omschrijving 3

datum 2
plaats 3
adres 4
omschrijving 4

etc... dus een genest resultaat.
Maar, je raadt het al, ik kom er niet uit.... help!
Ik zal je op weg helpen met de query:

SELECT d.date_field, b.plaats, b.adres, b.omschrijving FROM date d, Bouwplan b WHERE
d.date_id = b.date_id

Daarna standaard
while fetch assoc bal bla

(uit het losse polsje he, typefouten )
OK, de Query is niet het probleem, maar de combinatie van de query met het tonen van de resultaten in een (geneste) tabel.

Item 1
- subitem 1.1
- subitem 1.2
-- subsubitem 1.2.1
- subitem 1.3

Item 2
- subitem 2.1
- subitem 2.2

etc.
Dus meer het weergeven.
Moet je een beetje duidelijker zijn..

Wat heb je nu voor code en wat is de output daarvan.
Ronny, ik heb nog geen code, ik heb alleen mijn DB met mijn tabellen, wat ik voor elkaar krijg is het resultaat rij voor rij.

-----------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>
<HEAD>
<TITLE>Overzicht</TITLE>
<LINK HREF="css/main.css" REL="stylesheet" TYPE="text/css">
</HEAD>

<BODY>
<?php
$connectID = mysql_connect("localhost", "root", "1234");
if (mysql_select_db("stadskanaal", $connectID) !=FALSE)

// add the new information into the database
$result = mysql_query("Select Date.Date_id, Date.Date_field, Bouwplan.Date_id, Bouwplan.Plaats, Bouwplan.Adres, Bouwplan.Omsch from Date, Bouwplan WHERE Date.Date_id = Bouwplan.Date_id", $connectID);
?>

<H1>Overzicht</H1><BR><BR>
<TABLE BORDER="1">

<?php
// loop door de resultaten heen, haal ze op en zet ze in een variabele
while ( $row =mysql_fetch_array ($result)) {
$datum_id =$row ["Date_id"];
$datum =$row ["Date_field"];
$plaats =$row["Plaats"];
$adres =$row ["Adres"];
$omsch =$row ["Omsch"];

echo "<tr><td colspan=8><b>$datum_id</b></td></tr>\n";
echo "<tr><td colspan=8><b>$datum</b></td></tr>\n";
echo "<tr><td colspan=8><b>$plaats</b></td></tr>\n";
echo "<tr><td colspan=8><b>$adres</b></td></tr>\n";
echo "<tr><td colspan=8><b>$omsch</b></td></tr>\n";
}

// Einde van de tabel

echo "</TR>
</TABLE>" ;

// Verbinding met de database sluiten
mysql_close($connectID);
?>

</BODY>
</HTML>

---------- GEEFT RESULTAAT --------
1

2004-03-09

Groningen

Wibautstraat 12

Eerste item eerste datum

1

2004-03-09

Groningen

Klaverjas 3

Tweede item eerste datum

2

2004-03-16

Halsteren

Winkeweg 14

Eerste item tweede datum

2

2004-03-16

Hulst

Overweg 19

Tweede item tweede datum

3

2005-03-18

Musselkanaal

Terpstraweg 12

Aanvraag voor het verhogen van een huis.

-------- maar ik wil resultaat --------

2004-03-09
Groningen
Wibautstraat 12
Eerste item eerste datum

Klaverjas 3
Tweede item eerste datum

Halsteren
Winkeweg 14
Eerste item tweede datum

2004-03-16
Hulst
Overweg 19
Tweede item tweede datum

2005-03-18
Musselkanaal
Terpstraweg 12
Aanvraag voor het verhogen van een huis.
Sowieso die $datum_ID weghalen, dan zie je de 1,2,3 niet meer...
Maar waarom die witregels er tussen zitten snap ik ff niet

En bij de tabel afsluiten, hoeft die </tr> er niet bij.... Die heb je al afgesloten
WJ, begrijp ik maar het gaat erom dat de gegevens gegroepeerd bij elkaar komen.
Nu komen ze in een loop per resultaat uit de database een stuk van de tabel.

Kijk naar de volgorde van de gegevens, hoe ik die zou willen zien, daar gaat het om.
Ik gebruik edze techniek om aan de hand van een categorieën-tabel ze te ordenen. Misschien dat je er iets aan hebt:
<?php
$result = mysql_query("SELECT * FROM mozdev_searchplugins");
$result2 = mysql_query("SELECT name FROM mozdev_categories");
if (!$result || !result2) {
echo mysql_error();
}
else{
while($plugins = mysql_fetch_array($result, MYSQL_ASSOC)){
$pluginarray[] = $plugins;
}
while($categories = mysql_fetch_array($result2, MYSQL_ASSOC)){
$categoryarray[] = $categories;
}
foreach($categoryarray as $category){
echo category['name'];
foreach($pluginarray as $plugin){
if($plugin['category'] == $category['name']){
echo $plugin['name'];
}
}
}
}
?>
Jelmer, bedankt... maar als newbie kom ik er nog niet helemaal uit :-(
Oh, nu zie ik het, foutje...
WJ, heb je wel een oplossing voor dit probleempje van me?

Reageren