Opslaan van formulier hulp (geen idee hoe ik dit moet opslaan in mijn database)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

T T

T T

03/10/2012 14:14:30
Quote Anchor link
Hallo PHP helpers,

Ik ben een script aan het maken waarin ik met een checklist werk. Ik ben alleen na meerdere tests nog niet verder gekomen omdat ik op de een of andere manier niet snap hoe je de checkboxen op kan slaan in de database.

Ik wil tussendoor alles opslaan in de DB omdat ik de checklists ook later (bijv. een paar dagen) weer kan bewerken. Hierdoor vallen voor mij sessies en cookies al af (denk ik).

Hoe kan ik dit het beste inrichten met de tabellen in MySQL en de data plaatsen? Ik heb nog geen pagina die update omdat ik dit niet werkend krijg. De overige velden zijn geen probleem maar het probleem zit in de softwarelijst. Er staan zo'n 50 programma's in de software lijst nu en de inhoud hiervan kan wijzigen.

Kan iemand me op weg helpen?

Ik heb 4 tabellen:
-Medewerkers (niet zo relevant)
-checklist_software (een lijst met ID, naam, categorie)
-checklist_installatie_details (een lijst met installatienumemr, ID, check)
-checklist_installatie (een lijst met installatienummer en de overige velden. Deze tabel werkt prima)

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
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?php
 // foutafhandeling instellen
ini_set('display_errors', 'On');
error_reporting(E_ALL);

  //Verbind met de database
        include 'connect.php';
        
        
$query1 = "SELECT naam, stafcode FROM afdelingit WHERE rechten=1";
// Execute it, or return the error message if there's a problem.
$result2 = mysql_query($query1) or die(mysql_error());

$dropdown = "<select name='itmedewerker'>";
while($row2 = mysql_fetch_assoc($result2)) {
  $dropdown .= "\r\n<option value='{$row2['naam']} {$row2['stafcode']}'>{$row2['naam']} {$row2['stafcode']}</option>";
}

$dropdown .= "\r\n</select>";

 ?>

<html>
<form action="http://view/site/checklist_verwerken.php" method="post">
<table width="815"><tbody>    <tr>      
<td></td>
<td><b>Gegevens:</b></td>
      <td></td>
    </tr>
    <tr>
<td></td>
      <td><b>Installatie voor:</b></td>
      <td><input type="text" name="installatie_voor"></td>
    </tr>
    <tr>
<td ></td>
      <td><b>Installatie datum:</b></td>
      <td><input type="text" name="installatie_datum"></td>
    </tr>
    <tr>
<td></td>
      <td><b>Status:</b></td>
      <td><input type="radio" name="status" value="Afgerond">Afgerond <input type="radio" name="status" value="In uitvoering">In uitvoering</td>
    </tr>
    <tr>
<td></td>
      <td><b>Installatie door:</b></td>
      <td><?php echo $dropdown; ?></td>
    </tr>
<tr>
<td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
<td></td>
      <td ><b>Pc nummer nieuw:</b></td>
      <td ><input type="text" name="pc_nummer_nieuw"></td>
    </tr>
    <tr>
<td></td>
      <td><b>Pc nummer oud:</b></td>
      <td><input type="text" name="pc_nummer_oud"></td>
    </tr>
<tr>
<td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
<td></td>
      <td><b>Hardware soort:</b></td>
      <td><input type="radio" name="hardware_soort" value="Laptop">Laptop <input type="radio" name="hardware_soort" value="Desktop">Desktop</td>
    </tr>
 <tr>
<td></td>
      <td><b>Hardware type:</b></td>
      <td><input type="text" name="hardware_type"></td>
    </tr>
    <tr>
<td></td>
      <td><b>Installatie type:</b></td>
      <td><input type="radio" name="installatie_type" value="Image">Image <input type="radio" name="installatie_type" value="Handmatig">Handmatig</td>
    </tr>
    <tr>
<td></td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

<table width="815">
  <tr>
<td></td>
<td></td>
<td>ID:</td>
<td>Naam:</td>
<td>Categorie:</td>

  </tr>
  <?php
//Query starten
$query = mysql_query("SELECT *    FROM checklist_software ORDER BY Categorie DESC, ID ASC");
 
//Geef het resultaat van de array en loop elke rij!
while ($row = mysql_fetch_array($query)){
  ?>

   <tr>
<td></td>
<td><input type="checkbox" name="<?php echo $row['ID'] ;?>" value="check"></td>
<td><?php echo $row['ID'] ;?></center></td>
<td><?php echo $row['naam'] ;?></td>
<td><?php echo $row['categorie'] ?></td>

  </tr>
  
<?php } //afsluiten van de statement: if?>
 
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
  </tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>Afronden checklist:<input type="submit" value="Opslaan"></td>
<td></td>
  </tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
  </tr>
</table>


Toevoeging op 03/10/2012 15:56:25:

Ik denk dat ik niet duidelijk genoeg ben geweest bovenstaand dus even een aanvulling:

Ik wil graag weten hoe ik de waarde (of de woorden checked/unchecked) van een checkbox kan opslaan in mijn database. Deze moeten dan afkomstig zijn van de lijst gegenereerd door de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
//Query starten
$query = mysql_query("SELECT *    FROM checklist_software ORDER BY Categorie DESC, ID ASC");
 
//Geef het resultaat van de array en loop elke rij!
while ($row = mysql_fetch_array($query)){
  ?>

query

Toevoeging op 03/10/2012 15:57:58:

. de checkboxen horen bij de query en moeten daar aan bijv. het software ID gelinkt worden
 
PHP hulp

PHP hulp

28/11/2024 06:14:59
 
Ivo Breeden

Ivo Breeden

03/10/2012 23:24:29
Quote Anchor link
Ik ben een beetje onzeker want ik ga niet alle code lezen die je toont. Maar als ik het goed begrijp gaat het om de tabel "checklist_software". Je moet twee dingen onderscheiden:
1: bij het tonen van de data moet je aangeven wat er "checked" was in de database.
2: bij het verwerken van de data (na submit) moeten de nieuwe checkboxen in de database worden opgeslagen.

1: TONEN
Je doet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"<input type="checkbox" name="<?php echo $row['ID'] ;?>" value="check">"
. Ik weet niet goed wat je daarmee wilt. De name moet normaliter corresponderen met de column name en de value met de inhoud van die column. En dan zal er ook indien toepasselijk de tekst "checked" bij ge-echo'd moeten worden. Maar waar staat in die tabel of de value checked is? Waarschijnlijk staat dat in "checklist_installatie_details" maar dan moet je die wel in je query opnemen.
2: VERWERKEN
Na een submit van het form worden de resultaten gestuurd naar "http://view/site/checklist_verwerken.php". In die file zul je iets moeten doen met $_POST[name]. (waarbij "name" de naam is die je bij "1: TONEN" hebt gegeven. $_POST[name] zal een array zijn met de gecheckte values. Aan de hand daarvan moet je updates statements naar je database afvuren.

Ik hoop dat je daar iets mee kunt.
Gewijzigd op 03/10/2012 23:26:58 door Ivo Breeden
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/10/2012 01:23:05
Quote Anchor link
om snel te zien wat er gepost wordt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

foreach($_POST as $key => $value)
    echo $key.": ".$value."<br/>";

?>


dat kan vaak verhelderend werken

groet frank
 

04/10/2012 12:15:01
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
print_r($_POST)


doet toch hetzelfde en is veel korter
 
Ozzie PHP

Ozzie PHP

04/10/2012 12:26:43
Quote Anchor link
Liever nog:

var_dump($_POST);
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/10/2012 15:10:45
Quote Anchor link
onderste twee korter maar minder goed leesbaar tenzij je de bron van de pagina bekijkt
 



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.