formulieren uit database
Ik ben een beetje aan experimenteren om een hele website uit een database te halen.
Ik probeer nu ook de formulier uit een database te halen zodat deze ook zijn toe te voegen en aan te passen via een administratie pagina. Het is me nu gelukt om de formulieren uit de database te halen alleen worden deze altijd weergegeven.
Ik zoek dus een manier om te kijken of er een formulier bij een pagina hoort en zo ja deze toe te voegen. Met een tabel zou het wel lukken maar ik heb 2 tabellen in de database, 1 voor de pagina's en een voor de formulieren.
Hier de code(ik ben aan het uittesten dus het is zeker nog niet veilig en goed):
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
if(isset($_GET['pagina'])) {
$paginaid = $_GET['pagina'];
//query voor de content van de pagina
$pagina_query = mysql_query("SELECT content,paginaid FROM content WHERE paginaid=$paginaid");
//query voor de formulieren
$formulieren_query = mysql_query("SELECT soort,label FROM formulieren ORDER BY volgordeid");
//query voor de switch
$formulieren_switch = mysql_query("SELECT soort_formulier,paginaid FROM content WHERE paginaid=$paginaid");
while($pagina_data = mysql_fetch_assoc($pagina_query)){
//de pagina uit de databse
echo $pagina_data['content'];
}
// hier zou dus iets moetn komen......
//de lus om de formulieren uit de database te halen
while($formulier_data = mysql_fetch_assoc($formulieren_query))
{
echo '<form action="" name="">';
switch ($formulier_data['soort'])
{
//input type is text uit de database halen
case "text":
echo '<div class="field">
<label for="$field">'.$formulier_data['label'].'</label>
<input type="text" maxlength="65"></div>';
break;
//textarea uit database halen
case "textarea":
echo'<div class="field">
<label for"$field">'.$formulier_data['label'].'</label>
<textarea name="" id=""></textarea></div>';
break;
case "submit":
echo'<div class="submit">
<input type="submit" value="'.$formulier_data['label'].'">';
break;
echo '</form>';
}
}
}
?>
if(isset($_GET['pagina'])) {
$paginaid = $_GET['pagina'];
//query voor de content van de pagina
$pagina_query = mysql_query("SELECT content,paginaid FROM content WHERE paginaid=$paginaid");
//query voor de formulieren
$formulieren_query = mysql_query("SELECT soort,label FROM formulieren ORDER BY volgordeid");
//query voor de switch
$formulieren_switch = mysql_query("SELECT soort_formulier,paginaid FROM content WHERE paginaid=$paginaid");
while($pagina_data = mysql_fetch_assoc($pagina_query)){
//de pagina uit de databse
echo $pagina_data['content'];
}
// hier zou dus iets moetn komen......
//de lus om de formulieren uit de database te halen
while($formulier_data = mysql_fetch_assoc($formulieren_query))
{
echo '<form action="" name="">';
switch ($formulier_data['soort'])
{
//input type is text uit de database halen
case "text":
echo '<div class="field">
<label for="$field">'.$formulier_data['label'].'</label>
<input type="text" maxlength="65"></div>';
break;
//textarea uit database halen
case "textarea":
echo'<div class="field">
<label for"$field">'.$formulier_data['label'].'</label>
<textarea name="" id=""></textarea></div>';
break;
case "submit":
echo'<div class="submit">
<input type="submit" value="'.$formulier_data['label'].'">';
break;
echo '</form>';
}
}
}
?>
Ik hoop dat iemand mij kan helpen!
Gewijzigd op 16/10/2012 00:01:17 door Tim S
maak in de tabel formulieren ook een kolom paginaid.
Dankjewel!!!
bijv heb je drie tabellen:
-klanten
-orders
-facturen
stel je de volgende vragen:
kan er een order zijn van een klant? ja
kan er een factuur zijn van een klant? ja
kan er een factuur zijn van een order? ja
kan er een klant zijn van een factuur? nee
etc.
dus krijgt de tabel klanten al drie id-kolommen naast de gewone kolommen:
(klant)id
order_id
factuur_id
interessanter wordt het nog als je er van uit gaat dat een klant meerdere orders en ook meerdere facturen kan bezitten. (een one-to-many of een many-to-many relationship)
gr frank
Gewijzigd op 16/10/2012 00:56:15 door Frank Nietbelangrijk
Ik denk toch dat ik me werkwijze iets moet aanpassen :p
Bedankt voor je reactie!
Je draait de zaken een beetje om, de order_id en factuur_id horen absoluut niet in de tabel klanten, maar de klant_id in de factuur en orders tabel.