Overzicht per provincie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nils L

Nils L

25/11/2011 19:13:57
Quote Anchor link
Ik heb een DB met overzicht met plaatsen waar we een bepaalde dienst aanbieden met een link naar de site daarvan.
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. :(
 
PHP hulp

PHP hulp

15/11/2024 19:37:18
 
- SanThe -

- SanThe -

25/11/2011 19:23:09
Quote Anchor link
Laat het relevante stukje code eens zien.
 
Nils L

Nils L

25/11/2011 19:33:49
Quote Anchor link
Ik had omdat het niet lukt om het op te vangen maar een aparte SQL per provincie gemaakt maar dat is natuurlijk niet de bedoeling ookal werkt het wel. Hieronder de test met 2 provincies.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
$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);
}
?>



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
 
Eddy B

Eddy B

25/11/2011 19:34:57
Quote Anchor link
En zet het even tussen tags.
 
- SanThe -

- SanThe -

25/11/2011 19:37:00
Quote Anchor link
Gebuik hier in je post [code] en [/code] om je script heen, dan is het beter leesbaar.
Gewijzigd op 25/11/2011 19:37:16 door - SanThe -
 
Nils L

Nils L

25/11/2011 19:38:34
Quote Anchor link
zo dan... excuses. Ik ben niet zo heel bekend hiermee.
 
- SanThe -

- SanThe -

25/11/2011 19:42:47
Quote Anchor link
En waarom geen inspringen en geen php openings-tag?
Dat maakt het makkelijker voor de mens.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
}

?>
 
Erwin H

Erwin H

25/11/2011 19:43:42
Quote Anchor link
Om even te vertalen, is wat je wilt (grofweg, zonder juiste layout uiteraard)

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?
 
- SanThe -

- SanThe -

25/11/2011 19:44:09
Quote Anchor link
Nou zie je aan de kleurtjes al dat regel 5 en regel 15 onzinregels zijn.
 
Nils L

Nils L

25/11/2011 19:45:05
Quote Anchor link
@Santhe, sorry, had het weggelaten omdat daar de inloggegevens nog stonden.
@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
 
Erwin H

Erwin H

25/11/2011 19:49:03
Quote Anchor link
Nils, dan is het redelijk eenvoudig op te lossen.
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)
PHP script in nieuw venster Selecteer het PHP script
1
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
}
Gewijzigd op 25/11/2011 19:49:39 door Erwin H
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.