Overzicht per provincie
Nu vraag ik me af hoe ik de php moet opbouwen de DB een lijst te laten tonen die de provincie laat zien en dan de plaatsen die bij die provincie horen.
Wat ik nu heb dan laat ie elke keer de provincie en de plaatsen zien. Ik zou willen dat ie maar 1 keer de provincie laat zien en dan alle plaatsen.
Het zal vast heel basic zijn maar ik heb al heel wat gezocht en geprobeerd maar ik krijg het niet voor elkaar anders dan dat ie telkens de provincie laat zien i.p.v. maar 1 keer.
Het zal denk ik iets met een dubbele 'while' moeten zijn maar het lukt niet. :(
Laat het relevante stukje code eens zien.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
"<P>";
print "<a class='alineatitel'>";
print "Noord-Brabant<br><a class='content'><BR>";
if ($db_found) {
$SQL = "SELECT * FROM domeinnamen where provincie='Noord-Brabant'";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "<a href=".$db_field['link'] . " class='content'>" .$db_field['plaatsnaam'] . "</a><br>";
}
}
"<P>";
print "<a class='alineatitel'>";
print "Zuid-Holland<br><a class='content'><BR>";
if ($db_found) {
$SQL = "SELECT * FROM domeinnamen where provincie='Zuid-Holland'";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "<a href=".$db_field['link'] . " class='content'>" .$db_field['plaatsnaam'] . "</a><br>";
}
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
?>
$db_found = mysql_select_db($database, $db_handle);
"<P>";
print "<a class='alineatitel'>";
print "Noord-Brabant<br><a class='content'><BR>";
if ($db_found) {
$SQL = "SELECT * FROM domeinnamen where provincie='Noord-Brabant'";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "<a href=".$db_field['link'] . " class='content'>" .$db_field['plaatsnaam'] . "</a><br>";
}
}
"<P>";
print "<a class='alineatitel'>";
print "Zuid-Holland<br><a class='content'><BR>";
if ($db_found) {
$SQL = "SELECT * FROM domeinnamen where provincie='Zuid-Holland'";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "<a href=".$db_field['link'] . " class='content'>" .$db_field['plaatsnaam'] . "</a><br>";
}
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
?>
nu we nog niet in elke provincie actief zijn wil ik dit natuurlijk niet helemaal hoeven aanpassen als er een provincie bij komt. Maar gewoon automatisch uitlezen als de plaats/provincie wordt toegevoegd.
Gewijzigd op 25/11/2011 19:38:05 door Nils L
En zet het even tussen tags.
Gewijzigd op 25/11/2011 19:37:16 door - SanThe -
zo dan... excuses. Ik ben niet zo heel bekend hiermee.
Dat maakt het makkelijker voor de mens.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
"<P>";
print "<a class='alineatitel'>";
print "Noord-Brabant<br><a class='content'><BR>";
if ($db_found) {
$SQL = "SELECT * FROM domeinnamen where provincie='Noord-Brabant'";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "<a href=".$db_field['link'] . " class='content'>" .$db_field['plaatsnaam'] . "</a><br>";
}
}
"<P>";
print "<a class='alineatitel'>";
print "Zuid-Holland<br><a class='content'><BR>";
if ($db_found) {
$SQL = "SELECT * FROM domeinnamen where provincie='Zuid-Holland'";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "<a href=".$db_field['link'] . " class='content'>" .$db_field['plaatsnaam'] . "</a><br>";
}
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
?>
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
"<P>";
print "<a class='alineatitel'>";
print "Noord-Brabant<br><a class='content'><BR>";
if ($db_found) {
$SQL = "SELECT * FROM domeinnamen where provincie='Noord-Brabant'";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "<a href=".$db_field['link'] . " class='content'>" .$db_field['plaatsnaam'] . "</a><br>";
}
}
"<P>";
print "<a class='alineatitel'>";
print "Zuid-Holland<br><a class='content'><BR>";
if ($db_found) {
$SQL = "SELECT * FROM domeinnamen where provincie='Zuid-Holland'";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print "<a href=".$db_field['link'] . " class='content'>" .$db_field['plaatsnaam'] . "</a><br>";
}
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
?>
Noord Brabant:
- Den Bosch
- Eindhoven
- Tilburg
Utrecht:
- Amersfoort
- Utrecht
Maar je krijgt iets in de trand van:
Noord Brabant:
- Den Bosch
Noord Brabant:
- Eindhoven
Noord Brabant:
- Tilburg
etc etc?
Is dat het probleem?
Nou zie je aan de kleurtjes al dat regel 5 en regel 15 onzinregels zijn.
@Erwin, klopt ja.
Toevoeging op 25/11/2011 19:46:35:
- SanThe - op 25/11/2011 19:44:09:
Nou zie je aan de kleurtjes al dat regel 5 en regel 15 onzinregels zijn.
Die had ik er voor de layout ingezet. Zoals ik al zei. Ben geen kei in php. Deed het in een heel ver verleden wel met ASP maar wil het nu in php weer oppakken
In je totale while loop over alle records heen, print je alleen de steden, niet de provincies. Voor de provincies sla je op bij elke stap in welke provincie je bent. Indien de huidige niet dezelfde is als de vorige print je de provincie header. Dus iets in de trand van (pseudo code):
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$provincie = "";
While not end of records {
if $db_field[provincie] != $provincie{
print provincie_header
$provincie = $db_field[provincie]
}
print stadsnaam
}
While not end of records {
if $db_field[provincie] != $provincie{
print provincie_header
$provincie = $db_field[provincie]
}
print stadsnaam
}
Gewijzigd op 25/11/2011 19:49:39 door Erwin H