Gegevens wijzigen via PHP uit database
Dit is de code welke ik gebruik. maar krijg een foutmelding wanneer ik een bepaalde row wil bewerken.
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
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
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
<?php
//includes
include('config.php');
//session start
if(isset($_SESSION['id'])) {
} else{
header("Location: index.php?pagina=beheer");
}
//Query
$sql = " SELECT * FROM buitenlijn ";
//Gegevens uit de database tonen op de site
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
?>
<!--Titel-->
<body>
<h2>Gegevens wijzigen</h2><br><br>
<b>Directe buitenlijn telefoonnummers</b>
</body>
<!--Java code: Select form-->
<SCRIPT TYPE="text/javascript">
function veranderscript() {
if (document.bewerk.groep.value == 1) location = 'index.php?pagina=internbewerk';
else if (document.bewerk.groep.value == 2) location = 'index.php?pagina=buitenlijnbewerk';
else if (document.bewerk.groep.value == 3) location = 'index.php?pagina=gsmbewerk';
}
</SCRIPT>
<FORM NAME="bewerk" ACTION="">
<P><SELECT NAME="groep" ONCHANGE="veranderscript();">
<OPTION SELECTED>Kies een groep...
<OPTION VALUE="1">Interne nummers
<OPTION VALUE="2">Directe buitenlijn nummers
<OPTION VALUE="3">GSM nummers
</SELECT></P>
</FORM>
<!--Formulier-->
<form name="bewerkform" action="" method="post">
<input type='submit' value="Bewerk geselecteerde producten" name="update" />
<input type='submit' value="Verwijder geselecteerde producten" name="verwijder" />
<BR>
<TABLE BORDER="0" ALIGN="center">
<TD WIDTH="180"><b>Externe nummers:</b></TD>
<TR>
<TD WIDTH="180"><b>Naam</b></TD>
<TD WIDTH="180"><b>Telefoonnummer</b></TD>
<TD WIDTH="180"><b>Inlognaam</b></TD>
<TD WIDTH="180"><b>Afdeling</b></TD>
<TD WIDTH="180"><b>Groep</b></TD>
<TD WIDTH="20"><b>Wijzigen</b></TD>
</TR></TABLE>
<?php
while($row = mysql_fetch_assoc($res)){
?>
<TABLE BORDER="0" ALIGN="center">
<TR>
<TD WIDTH="180"><?php echo $row['naam']; ?></TD>
<TD WIDTH="180"><?php echo $row['nummer']; ?></TD>
<TD WIDTH="180"><?php echo $row['inlog']; ?></TD>
<TD WIDTH="180"><?php echo $row['afdeling']; ?></TD>
<TD WIDTH="180"><?php echo $row['groep']; ?></TD>
<TD WIDTH="20"><input type='checkbox' value=".$row['id']." name='telid[]' /></form></TD>
</TR>
</TABLE>
<?php
}}
if (isset($_POST['update'])){
$maxid = 0;
?>
<form name="verzenden" action="" method="post">
<?php
foreach($_POST['telid'] As $value ){
echo "<input type='hidden' name='telid' value=$value />";
// select
$result2 = mysql_query("SELECT * FROM buitenlijn WHERE id=$value");
while ($row = mysql_fetch_array($result2)){
echo "<table>";
echo "<td>naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row['naam']."' /></td>";
echo "</tr><tr>";
echo "<td>nummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".($row['nummer'])."' /></td>";
echo "</tr><tr>";
echo "<td>afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row['afdeling']."' /></td>";
echo "</tr><tr>";
echo "<td>groep: </td><td><input type='text' size='25' name='".$id."groep' value='".$row['groep']."' /></td>";
echo "</tr></table>";
}
}
?>
<br>
<center>
<input type='submit' name='opslaan' value='Opslaan' />
</center>
</form>
<?php
}
?>
//includes
include('config.php');
//session start
if(isset($_SESSION['id'])) {
} else{
header("Location: index.php?pagina=beheer");
}
//Query
$sql = " SELECT * FROM buitenlijn ";
//Gegevens uit de database tonen op de site
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
?>
<!--Titel-->
<body>
<h2>Gegevens wijzigen</h2><br><br>
<b>Directe buitenlijn telefoonnummers</b>
</body>
<!--Java code: Select form-->
<SCRIPT TYPE="text/javascript">
function veranderscript() {
if (document.bewerk.groep.value == 1) location = 'index.php?pagina=internbewerk';
else if (document.bewerk.groep.value == 2) location = 'index.php?pagina=buitenlijnbewerk';
else if (document.bewerk.groep.value == 3) location = 'index.php?pagina=gsmbewerk';
}
</SCRIPT>
<FORM NAME="bewerk" ACTION="">
<P><SELECT NAME="groep" ONCHANGE="veranderscript();">
<OPTION SELECTED>Kies een groep...
<OPTION VALUE="1">Interne nummers
<OPTION VALUE="2">Directe buitenlijn nummers
<OPTION VALUE="3">GSM nummers
</SELECT></P>
</FORM>
<!--Formulier-->
<form name="bewerkform" action="" method="post">
<input type='submit' value="Bewerk geselecteerde producten" name="update" />
<input type='submit' value="Verwijder geselecteerde producten" name="verwijder" />
<BR>
<TABLE BORDER="0" ALIGN="center">
<TD WIDTH="180"><b>Externe nummers:</b></TD>
<TR>
<TD WIDTH="180"><b>Naam</b></TD>
<TD WIDTH="180"><b>Telefoonnummer</b></TD>
<TD WIDTH="180"><b>Inlognaam</b></TD>
<TD WIDTH="180"><b>Afdeling</b></TD>
<TD WIDTH="180"><b>Groep</b></TD>
<TD WIDTH="20"><b>Wijzigen</b></TD>
</TR></TABLE>
<?php
while($row = mysql_fetch_assoc($res)){
?>
<TABLE BORDER="0" ALIGN="center">
<TR>
<TD WIDTH="180"><?php echo $row['naam']; ?></TD>
<TD WIDTH="180"><?php echo $row['nummer']; ?></TD>
<TD WIDTH="180"><?php echo $row['inlog']; ?></TD>
<TD WIDTH="180"><?php echo $row['afdeling']; ?></TD>
<TD WIDTH="180"><?php echo $row['groep']; ?></TD>
<TD WIDTH="20"><input type='checkbox' value=".$row['id']." name='telid[]' /></form></TD>
</TR>
</TABLE>
<?php
}}
if (isset($_POST['update'])){
$maxid = 0;
?>
<form name="verzenden" action="" method="post">
<?php
foreach($_POST['telid'] As $value ){
echo "<input type='hidden' name='telid' value=$value />";
// select
$result2 = mysql_query("SELECT * FROM buitenlijn WHERE id=$value");
while ($row = mysql_fetch_array($result2)){
echo "<table>";
echo "<td>naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row['naam']."' /></td>";
echo "</tr><tr>";
echo "<td>nummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".($row['nummer'])."' /></td>";
echo "</tr><tr>";
echo "<td>afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row['afdeling']."' /></td>";
echo "</tr><tr>";
echo "<td>groep: </td><td><input type='text' size='25' name='".$id."groep' value='".$row['groep']."' /></td>";
echo "</tr></table>";
}
}
?>
<br>
<center>
<input type='submit' name='opslaan' value='Opslaan' />
</center>
</form>
<?php
}
?>
Foutmelding
Code (php)
1
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Websites\Localhost\telefoonlijst\buitenlijnbewerk.php on line 90
Gewijzigd op 01/01/1970 01:00:00 door Rick
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
?>
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
?>
door
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$res = mysql_query($sql);
if(!$res)
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
?>
$res = mysql_query($sql);
if(!$res)
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
?>
Jens
Geprobeerd, maar dat is niet he probleem.
beginnersfout
haal verder je vars buiten de quotes en gebruik echo '<input type="text">'; notatie ipv echo "<input type='text'>";
en dan nog 14 andere punten maar pas eerst dit maar aan
haal verder je vars buiten de quotes en gebruik echo '<input type="text">'; notatie ipv echo "<input type='text'>";
en dan nog 14 andere punten maar pas eerst dit maar aan
Maar ik wil graag de oplossing voor de foutmelding...
beter lezen, pas foutafhandeling toe. Je gaat er vanuit dat je query klopt en dat er resultaat uit komt, waarschijnlijk is dit niet zo
Alleen wanneer er echt gegevens worden gevraagd pakt ie hem niet.
Wanneer ik $value weghaal uit de query pakt ie hem wel, alleen het is juist de bedoeling dat ie 1 row selecteert dmv die value. staat deze soms verkeerd beschreven?
Gewijzigd op 01/01/1970 01:00:00 door rick
laat eens zien wat je nu hebt (relevante code)
Het moet 1 row worden dmv van een checkbox ($value)
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
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
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
<?php
//includes
include('config.php');
//session start
if(isset($_SESSION['id'])) {
} else{
header("Location: index.php?pagina=beheer");
}
//Query
$sql = " SELECT * FROM buitenlijn ";
//Gegevens uit de database tonen op de site
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
?>
<!--Titel-->
<body>
<h2>Gegevens wijzigen</h2><br><br>
<b>Directe buitenlijn telefoonnummers</b>
</body>
<!--Java code: Select form-->
<SCRIPT TYPE="text/javascript">
function veranderscript() {
if (document.bewerk.groep.value == 1) location = 'index.php?pagina=internbewerk';
else if (document.bewerk.groep.value == 2) location = 'index.php?pagina=buitenlijnbewerk';
else if (document.bewerk.groep.value == 3) location = 'index.php?pagina=gsmbewerk';
}
</SCRIPT>
<FORM NAME="bewerk" ACTION="">
<P><SELECT NAME="groep" ONCHANGE="veranderscript();">
<OPTION SELECTED>Kies een groep...
<OPTION VALUE="1">Interne nummers
<OPTION VALUE="2">Directe buitenlijn nummers
<OPTION VALUE="3">GSM nummers
</SELECT></P>
</FORM>
<!--Formulier-->
<form name="bewerkform" action="" method="post">
<input type='submit' value="Bewerk geselecteerde producten" name="update" />
<input type='submit' value="Verwijder geselecteerde producten" name="verwijder" />
<BR>
<TABLE BORDER="0" ALIGN="center">
<TD WIDTH="180"><b>Externe nummers:</b></TD>
<TR>
<TD WIDTH="180"><b>Naam</b></TD>
<TD WIDTH="180"><b>Telefoonnummer</b></TD>
<TD WIDTH="180"><b>Inlognaam</b></TD>
<TD WIDTH="180"><b>Afdeling</b></TD>
<TD WIDTH="180"><b>Groep</b></TD>
<TD WIDTH="20"><b>Wijzigen</b></TD>
</TR></TABLE>
<?php
while($row = mysql_fetch_assoc($res)){
?>
<TABLE BORDER="0" ALIGN="center">
<TR>
<TD WIDTH="180"><?php echo $row['naam']; ?></TD>
<TD WIDTH="180"><?php echo $row['nummer']; ?></TD>
<TD WIDTH="180"><?php echo $row['inlog']; ?></TD>
<TD WIDTH="180"><?php echo $row['afdeling']; ?></TD>
<TD WIDTH="180"><?php echo $row['groep']; ?></TD>
<TD WIDTH="20"><input type="checkbox" value="$row['id']" name="telid[]" /><?php echo $row['id']; ?></form></TD>
</TR>
</TABLE>
<?php
}}
if (isset($_POST['update'])){
?>
<form name="verzenden" action="" method="post">
<?php
foreach($_POST['telid'] As $value ){
echo '<input type="hidden" name="telid" value=$value />';
// select
$result = mysql_query('SELECT * FROM buitenlijn ');
if ($result && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($result))
{
echo '<table>';
echo '<td>naam: </td><td><input type="text" size="25" name="'.$id.'naam" value="'.$row["naam"].'" /></td>';
echo '</tr><tr>';
echo '<td>nummer: </td><td><input type="text" size="25" name="'.$id.'nummer" value="'.($row["nummer"]).'" /></td>';
echo '</tr><tr>';
echo '<td>afdeling: </td><td><input type="text" size="25" name="'.$id.'afdeling" value="'.$row['afdeling'].'" /></td>';
echo '</tr><tr>';
echo '<td>groep: </td><td><input type="text" size="25" name="'.$id.'groep" value="'.$row['groep'].'" /></td>';
echo '</tr></table><br>';
}
} else {
echo 'Geen data gevonden';
}}
?>
<br>
<center>
<input type="submit" name="opslaan" value="Opslaan" />
</center>
</form>
<?php
}
?>
//includes
include('config.php');
//session start
if(isset($_SESSION['id'])) {
} else{
header("Location: index.php?pagina=beheer");
}
//Query
$sql = " SELECT * FROM buitenlijn ";
//Gegevens uit de database tonen op de site
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
?>
<!--Titel-->
<body>
<h2>Gegevens wijzigen</h2><br><br>
<b>Directe buitenlijn telefoonnummers</b>
</body>
<!--Java code: Select form-->
<SCRIPT TYPE="text/javascript">
function veranderscript() {
if (document.bewerk.groep.value == 1) location = 'index.php?pagina=internbewerk';
else if (document.bewerk.groep.value == 2) location = 'index.php?pagina=buitenlijnbewerk';
else if (document.bewerk.groep.value == 3) location = 'index.php?pagina=gsmbewerk';
}
</SCRIPT>
<FORM NAME="bewerk" ACTION="">
<P><SELECT NAME="groep" ONCHANGE="veranderscript();">
<OPTION SELECTED>Kies een groep...
<OPTION VALUE="1">Interne nummers
<OPTION VALUE="2">Directe buitenlijn nummers
<OPTION VALUE="3">GSM nummers
</SELECT></P>
</FORM>
<!--Formulier-->
<form name="bewerkform" action="" method="post">
<input type='submit' value="Bewerk geselecteerde producten" name="update" />
<input type='submit' value="Verwijder geselecteerde producten" name="verwijder" />
<BR>
<TABLE BORDER="0" ALIGN="center">
<TD WIDTH="180"><b>Externe nummers:</b></TD>
<TR>
<TD WIDTH="180"><b>Naam</b></TD>
<TD WIDTH="180"><b>Telefoonnummer</b></TD>
<TD WIDTH="180"><b>Inlognaam</b></TD>
<TD WIDTH="180"><b>Afdeling</b></TD>
<TD WIDTH="180"><b>Groep</b></TD>
<TD WIDTH="20"><b>Wijzigen</b></TD>
</TR></TABLE>
<?php
while($row = mysql_fetch_assoc($res)){
?>
<TABLE BORDER="0" ALIGN="center">
<TR>
<TD WIDTH="180"><?php echo $row['naam']; ?></TD>
<TD WIDTH="180"><?php echo $row['nummer']; ?></TD>
<TD WIDTH="180"><?php echo $row['inlog']; ?></TD>
<TD WIDTH="180"><?php echo $row['afdeling']; ?></TD>
<TD WIDTH="180"><?php echo $row['groep']; ?></TD>
<TD WIDTH="20"><input type="checkbox" value="$row['id']" name="telid[]" /><?php echo $row['id']; ?></form></TD>
</TR>
</TABLE>
<?php
}}
if (isset($_POST['update'])){
?>
<form name="verzenden" action="" method="post">
<?php
foreach($_POST['telid'] As $value ){
echo '<input type="hidden" name="telid" value=$value />';
// select
$result = mysql_query('SELECT * FROM buitenlijn ');
if ($result && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($result))
{
echo '<table>';
echo '<td>naam: </td><td><input type="text" size="25" name="'.$id.'naam" value="'.$row["naam"].'" /></td>';
echo '</tr><tr>';
echo '<td>nummer: </td><td><input type="text" size="25" name="'.$id.'nummer" value="'.($row["nummer"]).'" /></td>';
echo '</tr><tr>';
echo '<td>afdeling: </td><td><input type="text" size="25" name="'.$id.'afdeling" value="'.$row['afdeling'].'" /></td>';
echo '</tr><tr>';
echo '<td>groep: </td><td><input type="text" size="25" name="'.$id.'groep" value="'.$row['groep'].'" /></td>';
echo '</tr></table><br>';
}
} else {
echo 'Geen data gevonden';
}}
?>
<br>
<center>
<input type="submit" name="opslaan" value="Opslaan" />
</center>
</form>
<?php
}
?>
Hoe zou ik dit kunnen doen?
Gewijzigd op 01/01/1970 01:00:00 door rick
Code (php)
1
2
3
4
2
3
4
Waarom haal je die foreach er niet uit, en zet je input hidden niet gewooon in de while.
Hierdoor krijg je het exace id nr uit het database, en niet zo maar een zelf geteld nummer.
Hierdoor heb je ook meteen het goede id nr, om de (update) query mee uit te voeren!
Hierdoor krijg je het exace id nr uit het database, en niet zo maar een zelf geteld nummer.
Hierdoor heb je ook meteen het goede id nr, om de (update) query mee uit te voeren!
Zou dit werken en hoe zou ik de input in de while moeten zetten?
Gewijzigd op 01/01/1970 01:00:00 door rick