meerdere rijen tegelijk updaten
momenteel ben ik bezig met het admin-gedeelte, om de gegevens in te voeren. daarvoor gebruik ik onderstaand script, maar bij het klikken op aanpassen, worden de gegevens niet geupdated.
is er iemand die mij kan helpen bij het vinden van het probleem?
alvast bedankt
Axel Neve
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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
<?php
$host="---";
$username="---"; // Mysql username
$password="---"; // Mysql password
$db_name="---"; // Database name
$tbl_name="results"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
// Count table rows
$count=mysql_num_rows($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"><strong>Naam</strong></td>
<td align="center"><strong>Speerwerpen</strong></td>
<td align="center"><strong>Kogelstoten</strong></td>
<td align="center"><strong>Hoogspringen</strong></td>
<td align="center"><strong>Verspringen</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center"><? $login[]=$rows['login']; ?><? echo $rows['login']; ?></td>
<td align="center"><input name="Speerwerpen[]" type="text" id="Speerwerpen" value="<? echo $rows['Speerwerpen']; ?>" size="10" /></td>
<td align="center"><input name="Kogelstoten[]" type="text" id="Kogelstoten" value="<? echo $rows['Kogelstoten']; ?>" size="10" /></td>
<td align="center"><input name="Hoogspringen[]" type="text" id="Hoogspringen" value="<? echo $rows['Hoogspringen']; ?>" size="10" /></td>
<td align="center"><input name="Verspringen[]" type="text" id="Verspringen" value="<? echo $rows['Verspringen']; ?>" size="10" /></td>
</tr>
<?php
}
?>
<tr>
<td colspan="5" align="center"><input type="submit" name="Submit" value="Aanpassen" /></td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<?php
// Check if button name "Submit" is active, do this
if($Submit){
for($i=0;$i<$count;$i++;){
$sql1="UPDATE $tbl_name SET Speerwerpen='$Speerwerpen[$i]', Kogelstoten='$Kogelstoten[$i]', Hoogspringen='$Hoogspringen[$i]', Verspringen='$Verspringen[$i]' WHERE login='$login[$i]'";
$result1=mysql_query($sql1);
}
}
if($result1){
header("location:admin_technisch.php");
}
mysql_close();
?>
$host="---";
$username="---"; // Mysql username
$password="---"; // Mysql password
$db_name="---"; // Database name
$tbl_name="results"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
// Count table rows
$count=mysql_num_rows($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"><strong>Naam</strong></td>
<td align="center"><strong>Speerwerpen</strong></td>
<td align="center"><strong>Kogelstoten</strong></td>
<td align="center"><strong>Hoogspringen</strong></td>
<td align="center"><strong>Verspringen</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center"><? $login[]=$rows['login']; ?><? echo $rows['login']; ?></td>
<td align="center"><input name="Speerwerpen[]" type="text" id="Speerwerpen" value="<? echo $rows['Speerwerpen']; ?>" size="10" /></td>
<td align="center"><input name="Kogelstoten[]" type="text" id="Kogelstoten" value="<? echo $rows['Kogelstoten']; ?>" size="10" /></td>
<td align="center"><input name="Hoogspringen[]" type="text" id="Hoogspringen" value="<? echo $rows['Hoogspringen']; ?>" size="10" /></td>
<td align="center"><input name="Verspringen[]" type="text" id="Verspringen" value="<? echo $rows['Verspringen']; ?>" size="10" /></td>
</tr>
<?php
}
?>
<tr>
<td colspan="5" align="center"><input type="submit" name="Submit" value="Aanpassen" /></td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<?php
// Check if button name "Submit" is active, do this
if($Submit){
for($i=0;$i<$count;$i++;){
$sql1="UPDATE $tbl_name SET Speerwerpen='$Speerwerpen[$i]', Kogelstoten='$Kogelstoten[$i]', Hoogspringen='$Hoogspringen[$i]', Verspringen='$Verspringen[$i]' WHERE login='$login[$i]'";
$result1=mysql_query($sql1);
}
}
if($result1){
header("location:admin_technisch.php");
}
mysql_close();
?>
Gewijzigd op 01/01/1970 01:00:00 door Axel Neve
Wanneer zou de variabel $submit true moeten zijn? .. op het moment dat er op de submit button is geklikt. Zou je dan niet gebruik maken van de post melding? $_POST['submit'];
En vervolgens, gebruik je $_POST['Naam Van Inputveld'] om er iets mee te doen.
Gewijzigd op 01/01/1970 01:00:00 door Stefan
Verder checkt het if-statement in regel 65 de variabele $result1. Als er niet is gesubmit, is die variabele niet geset.
Maar nu: het if-statement in regel 58 geeft aan dat de server register globals ondersteunt (anders zou deze constructie niet mogelijk zijn). Dat zou dus inhouden dat elke willekeurige bezoeker zelf een variabele $result1 kan injecteren.
Register globals in combinatie met een slechte structuur is een ramp. Zorg er dus in ieder geval voor dat je code geen register globals gebruikt. Dat maakt straks de overgang naar PHP6 ook een stuk gemakkelijker.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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
<?php
$host="---"; // Host name
$username="---"; // Mysql username
$password="---"; // Mysql password
$db_name="---"; // Database name
$tbl_name="gegevens"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
// Count table rows
$count=mysql_num_rows($result);
?>
<table width="499" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table width="499" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"><strong>Login</strong></td>
<td align="center"><strong>Speerwerpen</strong></td>
<td align="center"><strong>Kogelstoten</strong></td>
<td align="center"><strong>Hoogspringen</strong></td>
<td align="center"><strong>Verspringen</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center" width="150"><? $Login[]=$rows['Login']; ?><? echo $rows['Login']; ?></td>
<td align="center">
<input name="Speerwerpen[]" type="text" id="Speerwerpen" value="<? echo $rows['Speerwerpen']; ?>" size="10" /></td>
<td align="center">
<input name="Kogelstoten[]" type="text" id="Kogelstoten" value="<? echo $rows['Kogelstoten']; ?>" size="10" /></td>
<td align="center">
<input name="Hoogspringen[]" type="text" id="Hoogspringen" value="<? echo $rows['Hoogspringen']; ?>" size="10" /></td>
<td align="center">
<input name="Verspringen[]" type="text" id="Verspringen" value="<? echo $rows['Verspringen']; ?>" size="10" /></td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center"><input type="submit" name="Submit" value="Submit" /></td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<?php
// Check if button name "Submit" is active, do this
$sql1 = "";
for($i=0;$i<$count;$i++){
$sql1 .="UPDATE " . $tbl_name . " SET Speerwerpen='" . $Speerwerpen[$i] . "', Kogelstoten='" . $Kogelstoten[$i] . "', Hoogspringen='" . $Hoogspringen[$i] . "', Verspringen='" . $Verspringen[$i] . "' WHERE Login='" . $Login[$i] . "';";
}
$result1=mysql_query($sql1) or die(mysql_error());
if($result1){
header("location:update_technisch.php");
}
mysql_close();
?>
$host="---"; // Host name
$username="---"; // Mysql username
$password="---"; // Mysql password
$db_name="---"; // Database name
$tbl_name="gegevens"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
// Count table rows
$count=mysql_num_rows($result);
?>
<table width="499" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table width="499" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"><strong>Login</strong></td>
<td align="center"><strong>Speerwerpen</strong></td>
<td align="center"><strong>Kogelstoten</strong></td>
<td align="center"><strong>Hoogspringen</strong></td>
<td align="center"><strong>Verspringen</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center" width="150"><? $Login[]=$rows['Login']; ?><? echo $rows['Login']; ?></td>
<td align="center">
<input name="Speerwerpen[]" type="text" id="Speerwerpen" value="<? echo $rows['Speerwerpen']; ?>" size="10" /></td>
<td align="center">
<input name="Kogelstoten[]" type="text" id="Kogelstoten" value="<? echo $rows['Kogelstoten']; ?>" size="10" /></td>
<td align="center">
<input name="Hoogspringen[]" type="text" id="Hoogspringen" value="<? echo $rows['Hoogspringen']; ?>" size="10" /></td>
<td align="center">
<input name="Verspringen[]" type="text" id="Verspringen" value="<? echo $rows['Verspringen']; ?>" size="10" /></td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center"><input type="submit" name="Submit" value="Submit" /></td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<?php
// Check if button name "Submit" is active, do this
$sql1 = "";
for($i=0;$i<$count;$i++){
$sql1 .="UPDATE " . $tbl_name . " SET Speerwerpen='" . $Speerwerpen[$i] . "', Kogelstoten='" . $Kogelstoten[$i] . "', Hoogspringen='" . $Hoogspringen[$i] . "', Verspringen='" . $Verspringen[$i] . "' WHERE Login='" . $Login[$i] . "';";
}
$result1=mysql_query($sql1) or die(mysql_error());
if($result1){
header("location:update_technisch.php");
}
mysql_close();
?>
maar nu krijg ik de volgende Error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';UPDATE gegevens SET Speerwerpen='', Kogelstoten='', Hoogspringen='', Verspringe' at line 1
hoe kan ik deze verhelpen?
Gewijzigd op 01/01/1970 01:00:00 door Axel Neve