Ik heb een Oracle database waar regelmatig gegevens overgezet worden naar een MySQL database. Als de gegevens overgezet zijn moet er nog extra informatie toegevoegd worden in de MySQL database per record.
Ik heb nu een pagina waar de nieuwe elementen in de database getoond worden. Dit middels een tabel met een checkbox ervoor. De gebruiker klikt op de checkbox voor een nieuw apparaat en klikt op 'Add specifications'. De barcode van het apparaat moet bij deze doorgegeven worden om te weten voor welk apparaat extra gegevens toegevoegd gaan worden.
Vervolgens wordt de pagina opgeschoond en wordt er middels javascript een dropdown menu getoond waar de gebruiker een hoofdcategorie moet selecteren. Vervolgens verschijnt er een dropdown menu waar de gebruiker een type moet selecteren. Als de gebruiker dan op 'ok' klikt moeten de 2 variabelen 'categorie' en 'type' doorgegeven worden.
Het probleem zit hem in het doorgeven van de barcode. Het wil niet lukken om dit correct door te geven, hieronder wat code om te verduidelijken:
Ook al defineer ik de variabelen $Equipment of $Equip als Global, de variabelen zijn na de eerste submit leeg waar de category en type gekozen kunnen worden.
Ik heb nu een pagina waar de nieuwe elementen in de database getoond worden. Dit middels een tabel met een checkbox ervoor. De gebruiker klikt op de checkbox voor een nieuw apparaat en klikt op 'Add specifications'. De barcode van het apparaat moet bij deze doorgegeven worden om te weten voor welk apparaat extra gegevens toegevoegd gaan worden.
Vervolgens wordt de pagina opgeschoond en wordt er middels javascript een dropdown menu getoond waar de gebruiker een hoofdcategorie moet selecteren. Vervolgens verschijnt er een dropdown menu waar de gebruiker een type moet selecteren. Als de gebruiker dan op 'ok' klikt moeten de 2 variabelen 'categorie' en 'type' doorgegeven worden.
Het probleem zit hem in het doorgeven van de barcode. Het wil niet lukken om dit correct door te geven, hieronder wat code om te verduidelijken:
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
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
140
141
142
143
144
145
146
| global $Equipment_array; global $Equipment; /* Javascript functies voor drop-down menu's */ echo " <SCRIPT TYPE='text/javascript' LANGUAGE='JavaScript'><!-- function categorySelected(){ var selectedCategory = document.search.Category.options[document.search.Category.selectedIndex].value; var selectedCategoryURL = './index2.php?pageId=9&searchtype=advanced&search=duh&selectedCategory='+selectedCategory; location.reload(selectedCategoryURL); } function typeSelected(){ var selectedType = document.search.CategoryType.options[document.search.CategoryType.selectedIndex].value; var selectedTypeURL = './index2.php?pageId=9&searchtype=advanced&search=duh&selectedCategory=$selectedCategory&selectedType='+selectedType; location.reload(selectedTypeURL); } //--></SCRIPT>"; /* Get New equipment, max. of 10 new equipment displayed on page */ if(!$addequip=='SUBMIT' && !$addequipment=='SUBMIT' && $selectedCategory==''){ $queryData = "SELECT BARCODE, TYPENR, DESCRIPTION FROM EQUIPMENT LIMIT 0 , 5"; $result = mysql_query ($queryData); echo "<FORM method=POST name=NewEquipment>"; echo "<TABLE CLASS=C ><CAPTION><B><BR><CENTER>Overview new equipment</CENTER></CAPTION>"; if(mysql_num_rows($result) == 0){ echo "<TR><B><TD>NO new equipment found</TD></TR>"; } else{ echo "<TR><TD>Barcode</TD><TD>Typenummer</TD><TD>Description</TD></TR>"; for ($i = 0; $i < mysql_num_rows($result); $i++){ echo("<TR>"); $row_array = mysql_fetch_row($result); for ($j = 0; $j < mysql_num_fields($result); $j++){ //$Equipment = $row_array[0]; $Typenr = $row_array[1]; if ($j == 0){ echo "<TD><input type='checkbox' name='Equipment_array[]' hidden value='$Equipment'>$row_array[$j]</TD>"; } else { echo("<TD>" . $row_array[$j] . "</TD>"); } } echo("</TR>"); } } echo "<TD COLSPAN=3><CENTER> <input type='submit' name='addequip' value='Submit'> </CENTER></TD> </TR></TABLE></FORM>"; } /* Start of function to add new equipment Displays the GUI for adding new equipment */ if(isset($addequip) || $selectedCategory!=''){ /* GEEN SPATIES IN $NoPreference, of andere waarden die via JavaScript gaan! $noPreferenceClean is de versie waarin de underscores '_' zijn vervangen door spaties ' ' */ $noPreference = "====___No_Preference___===="; $noPreferenceClean = str_replace ("_", " ", $noPreference); echo "<FORM method=POST name=search>"; $Equipment = $_POST['Equipment']; echo "<TABLE Width=60%><CAPTION>Selecting Category and Type [GUI]</CAPTION><TR><TD>"; echo "test barcode: ". $Equipment; /* Advanced search, category als opties in drop-downbox */ echo" <TR> <TD>Category:</TD><TD><select name=Category onchange='categorySelected()'><OPTION value=\"$noPreference\">$noPreferenceClean</OPTION>"; $queryData = "SELECT DISTINCT CATEGORY FROM CATEGORY_TYPE ORDER BY CATEGORY ASC"; $result = mysql_query ($queryData); for ($i = 0; $i < mysql_num_rows($result); $i++){ $row_array = mysql_fetch_row($result); for ($j = 0; $j < mysql_num_fields($result); $j++){ echo "<OPTION value=\"$row_array[$j]\""; if ($selectedCategory == $row_array[$j]){ echo " SELECTED"; } echo ">$row_array[$j]</OPTION>"; } } /* Kijken aan de hand van de typeID welke typen bij de geselecteerde (door middel van javascript) category horen, deze als opties in drop-downbox printen. */ mysql_free_result($result); echo "</select></TD></TR>"; if ($selectedCategory != $noPreference){ if ($selectedCategory != ''){ echo "<TR> <TD>Type of $selectedCategory:</TD><TD><select name=CategoryType onchange='typeSelected()'><OPTION value=\"$noPreference\">$noPreferenceClean</OPTION>"; $queryData = "SELECT DISTINCT TYPE FROM CATEGORY_TYPE WHERE CATEGORY='$selectedCategory' ORDER BY TYPE ASC"; $result = mysql_query ($queryData); for ($i = 0; $i < mysql_num_rows($result); $i++){ $row_array = mysql_fetch_row($result); for ($j = 0; $j < mysql_num_fields($result); $j++){ echo "<OPTION value=\"$row_array[$j]\""; if ($selectedType == $row_array[$j]){ echo " SELECTED"; } echo ">$row_array[$j]</OPTION>"; } } mysql_free_result($result); echo "</select></TD></TR>"; } } echo" <TR><TD COLSPAN=2><CENTER><input type='submit' name='addequipment' value='Add Specs'></CENTER></TD></TR>"; echo "</TABLE></FORM>"; echo "test". $selectedCategory; echo $selectedType; echo $Equipment; } if (isset($addequipment) && count($Equipment_array)>0) { $Equipment_arrayCount=0; foreach($Equipment_array as $Equipment){ $count++; $Equipment_arrayCount++; $Equip = $Equipment; echo "<BR><FORM ACTION='./index2.php?pageId=9' method=POST name=equipmentadd> <TABLE Width=90%><CAPTION><CENTER>Add new equipment</CENTER></CAPTION> <TR><TD>Barcode: </TD><TD><input type='text' size='25' maxlength='50' name='Equip' value= '$Equip'></TD> <TD>TypeID: </TD><TD><input type='text' size='10' maxlength='25' name='typeID' value= '$Typenr' DISABLED></TD></TR> <TR><TD>Category: </TD><TD><input type='text' size='25' maxlength='50' name='Category' value= '$Category' DISABLED></TD> <TD>Type: </TD><TD><input type='text' size='25' maxlength='50' name='Type' value= '$Type' DISABLED ></TD></TR> <TR><TD COLSPAN=4>Specifications for barcode: $Equip</TD></TR> <TR><TD>Handleidinglink: </TD><TD><input type='text' size='25' maxlength='50' name='handleidingADD'></TD> <TD>Datasheetlink: </TD><TD><input type='text' size='25' maxlength='50' name='datasheetADD'></TD></TR> <TR><TD>Fotolink: </TD><TD><input type='text' size='25' maxlength='50' name='fotoADD'></TD> <TD>Driverlink: </TD><TD><input type='text' size='25' maxlength='50' name='driverADD'></TD></TR> <TR><TD COLSPAN=4> </TD></TR> |
Ook al defineer ik de variabelen $Equipment of $Equip als Global, de variabelen zijn na de eerste submit leeg waar de category en type gekozen kunnen worden.