Meerdere kolommen updaten
Ik ben nog redelijk newbie met PHP & MySQL, maar vroeg em af hoe ik meerdere kolommen in 1 query kan updaten, heb toen een mega lange newb query gemaakt die nog niet werkt. Post hem maar niet, ziet er niet uit :')
Heb dus een tabel als volgt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE IF NOT EXISTS `bedrijven` (
`id` tinyint(4) NOT NULL auto_increment,
`bedrijf` varchar(30) NOT NULL,
`adres` varchar(50) NOT NULL,
`pc` varchar(30) NOT NULL,
`woonplaats` varchar(30) NOT NULL,
`tel` varchar(20) NOT NULL,
`email` varchar(40) NOT NULL,
`categorie` varchar(10) NOT NULL,
`titel1` tinytext NOT NULL,
`omschrijving1` tinytext NOT NULL,
`titel2` tinytext NOT NULL,
`omschrijving2` tinytext NOT NULL,
`img` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
`id` tinyint(4) NOT NULL auto_increment,
`bedrijf` varchar(30) NOT NULL,
`adres` varchar(50) NOT NULL,
`pc` varchar(30) NOT NULL,
`woonplaats` varchar(30) NOT NULL,
`tel` varchar(20) NOT NULL,
`email` varchar(40) NOT NULL,
`categorie` varchar(10) NOT NULL,
`titel1` tinytext NOT NULL,
`omschrijving1` tinytext NOT NULL,
`titel2` tinytext NOT NULL,
`omschrijving2` tinytext NOT NULL,
`img` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
En elke kolom moet geupdate worden, de orignele waarde wordt uit de database gehaald en in de textfields gezet, wanneer je deze wijzigt en op submit klikt moet het geheel dus geupdate worden..
Hoop dat jullie me kunnen helpen, ben ver verdwaald :').
Thanks
normaliseren.
Daarnaast kan je toch gewoon in de manual kijken of even googlen hoe de update query eruit ziet. Klik.
Laat anders toch je huidige query eens zien.
Allereerst zie ik dat je nog moet Daarnaast kan je toch gewoon in de manual kijken of even googlen hoe de update query eruit ziet. Klik.
Laat anders toch je huidige query eens zien.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
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
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
UPDATE bedrijven SET
bedrijf = '$bedrijf',
adres = '$adres',
pc = '$pc',
woonplaats = '$woonplaats',
tel = '$tel',
email = '$email',
categorie = '$categorie',
titel1 = '$titel1',
omschrijving1 = '$omschrijving1',
titel2 = '$titel2',
omschrijving2 = '$omschrijving2',
img = '$img'
WHERE
bedrijf = '$bedrijf1'
AND
adres = '$adres1'
AND
pc = '$pc1'
AND
woonplaats = '$woonplaats1'
AND
tel = '$tel1'
AND
email = '$email1'
AND
categorie = '$categorie1'
AND
titel1 = '$titel11'
AND
omschrijving1 = '$omschrijving11'
AND
titel2 = '$titel21'
AND
omschrijving2 = '$omschrijving21'
AND
img = '$img1'"
bedrijf = '$bedrijf',
adres = '$adres',
pc = '$pc',
woonplaats = '$woonplaats',
tel = '$tel',
email = '$email',
categorie = '$categorie',
titel1 = '$titel1',
omschrijving1 = '$omschrijving1',
titel2 = '$titel2',
omschrijving2 = '$omschrijving2',
img = '$img'
WHERE
bedrijf = '$bedrijf1'
AND
adres = '$adres1'
AND
pc = '$pc1'
AND
woonplaats = '$woonplaats1'
AND
tel = '$tel1'
AND
email = '$email1'
AND
categorie = '$categorie1'
AND
titel1 = '$titel11'
AND
omschrijving1 = '$omschrijving11'
AND
titel2 = '$titel21'
AND
omschrijving2 = '$omschrijving21'
AND
img = '$img1'"
Waar alle variabelen zonder 1 $_POST zijn, en met 1 $var's zijn en dus uit de database komen, het ziet er echt niet uit :')
Kijk ook eens naar:
SQL tutorial
mysql_real_escape_string
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
Code (php)
1
UPDATE bedrijven SET bedrijf = '$bedrijf', adres = '$adres', pc = '$pc', woonplaats = '$woonplaats', tel = '$tel', email = '$email', categorie = '$categorie', titel1 = '$titel1', omschrijving1 = '$omschrijving1', titel2 = '$titel2', omschrijving2 = '$omschrijving2', img = '$img' WHERE id = '$id'
Als je variabelen kloppen wel. Probeer het zou ik zeggen...
Dit is het script van de hele pagina :');
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
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
<?
if (!isset($_SESSION['login']) && $_SESSION['ingelogd'] != "true") {
die("Je bent niet ingelogd... Ga maar weer weg.");
}
$id = $_GET['id'];
$query = mysql_query("SELECT * FROM bedrijven WHERE id = '$id'");
$var = mysql_fetch_array($query);
$bedrijf1 = $var['bedrijf'];
$adres1 = $var['adres'];
$pc1 = $var['pc'];
$woonplaats1 = $var['woonplaats'];
$tel1 = $var['tel'];
$email1 = $var['email'];
$categorie1 = $var['categorie'];
$titel11 = $var['titel1'];
$omschrijving11 = $var['omschrijving1'];
$titel21 = $var['titel2'];
$omschrijving21 = $var['omschrijving2'];
$img1 = $var['img'];
if(!isset($_REQUEST['submit'])){
?>
<form method="post" action="?pagina=bewerk">
Naam bedrijf: <br />
<input type="text" name="bedrijf" value="<? echo $var['bedrijf']; ?>" />
<br />
Adres:<br />
<input type="text" name="adres" value="<? echo $var['adres']; ?>" />
<br />
Postcode:<br />
<input type="text" name="pc" value="<? echo $var['pc']; ?>" />
<br />
Woonplaats:<br />
<input type="text" name="woonplaats" value="<? echo $var['woonplaats']; ?>" />
<br />
Telefoonnummer:<br />
<input type="text" name="tel" value="<? echo $var['tel']; ?>" />
<br />
E-mail:<br />
<input type="text" name="email" value="<? echo $var['email']; ?>" />
<br />
Categorie<br />
<select name="categorie">
<option value="Bedrijven">Bedrijven</option>
<option value="Gemeente">Gemeente</option>
<option value="Horeca">Horeca</option>
<option value="Winkels">Winkels</option>
</select>
<br />
Titel 1:<br />
<input type="text" name="titel1" value="<? echo $var['titel1']; ?>" />
<br />
Omschrijving 1:<br />
<input type="text" name="omschrijving1" value="<? echo $var['omschrijving1']; ?>" />
<br />
Titel 2: <em>Optioneel</em><br />
<input type="text" name="titel2" value="<? echo $var['titel2']; ?>" />
<br />
Omschrijving 2: <em>Optioneel</em><br />
<input type="text" name="omschrijving2" value="<? echo $var['omschrijving2']; ?>" />
<br />
Afbeelding <em>250 x 90 pixels</em><br />
<input type="text" name="img" value="<? echo $var['img']; ?>" />
<br />
<input type="submit" name="submit" value="Toevoegen" />
</form>
<?php
}else{
//request everything
$dead = "false";
$message = "<strong>Controleer de volgende velden:</strong><br />";
$bedrijf = $_POST['bedrijf'];
$adres = $_POST['adres'];
$pc = $_POST['pc'];
$woonplaats = $_POST['woonplaats'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$categorie = $_POST['categorie'];
$titel1 = $_POST['titel1'];
$omschrijving1 = $_POST['omschrijving1'];
$titel2 = $_POST['titel2'];
$omschrijving2 = $_POST['omschrijving2'];
$img = $_POST['img'];
if(empty($bedrijf) || empty($adres) || empty($pc) || empty($woonplaats) || empty($tel) || empty($email) || empty($categorie) || empty($titel1) || empty($omschrijving1)){
$dead = "true";
$message .= "Je bent vergeten een veld in te vullen. <br />";
$message .= "<a href=\"javascript:history.go(-1);\">Vorige pagina</a> ";
}
if($dead == "false"){
$query = mysql_query("SELECT * FROM bedrijven WHERE bedrijf ='$bedrijf'");
$aantalrijen = mysql_num_rows($query);
if($aantalrijen == 1){
echo "Bedrijfsnaam is nog steeds hetzelfde..";
}
else{
$query1 = "UPDATE bedrijven SET bedrijf = '$bedrijf', adres = '$adres', pc = '$pc', woonplaats = '$woonplaats', tel = '$tel', email = '$email', categorie = '$categorie', titel1 = '$titel1', omschrijving1 = '$omschrijving1', titel2 = '$titel2', omschrijving2 = '$omschrijving2', img = '$img' WHERE id = '$id'";
if(mysql_query($query1)){
echo "Alle gegevens zijn succesvol ingevoerd en zullen op de frontpage te zien zijn.";
}
}
}
elseif($dead == "true"){
echo $message;
}
}
?>
if (!isset($_SESSION['login']) && $_SESSION['ingelogd'] != "true") {
die("Je bent niet ingelogd... Ga maar weer weg.");
}
$id = $_GET['id'];
$query = mysql_query("SELECT * FROM bedrijven WHERE id = '$id'");
$var = mysql_fetch_array($query);
$bedrijf1 = $var['bedrijf'];
$adres1 = $var['adres'];
$pc1 = $var['pc'];
$woonplaats1 = $var['woonplaats'];
$tel1 = $var['tel'];
$email1 = $var['email'];
$categorie1 = $var['categorie'];
$titel11 = $var['titel1'];
$omschrijving11 = $var['omschrijving1'];
$titel21 = $var['titel2'];
$omschrijving21 = $var['omschrijving2'];
$img1 = $var['img'];
if(!isset($_REQUEST['submit'])){
?>
<form method="post" action="?pagina=bewerk">
Naam bedrijf: <br />
<input type="text" name="bedrijf" value="<? echo $var['bedrijf']; ?>" />
<br />
Adres:<br />
<input type="text" name="adres" value="<? echo $var['adres']; ?>" />
<br />
Postcode:<br />
<input type="text" name="pc" value="<? echo $var['pc']; ?>" />
<br />
Woonplaats:<br />
<input type="text" name="woonplaats" value="<? echo $var['woonplaats']; ?>" />
<br />
Telefoonnummer:<br />
<input type="text" name="tel" value="<? echo $var['tel']; ?>" />
<br />
E-mail:<br />
<input type="text" name="email" value="<? echo $var['email']; ?>" />
<br />
Categorie<br />
<select name="categorie">
<option value="Bedrijven">Bedrijven</option>
<option value="Gemeente">Gemeente</option>
<option value="Horeca">Horeca</option>
<option value="Winkels">Winkels</option>
</select>
<br />
Titel 1:<br />
<input type="text" name="titel1" value="<? echo $var['titel1']; ?>" />
<br />
Omschrijving 1:<br />
<input type="text" name="omschrijving1" value="<? echo $var['omschrijving1']; ?>" />
<br />
Titel 2: <em>Optioneel</em><br />
<input type="text" name="titel2" value="<? echo $var['titel2']; ?>" />
<br />
Omschrijving 2: <em>Optioneel</em><br />
<input type="text" name="omschrijving2" value="<? echo $var['omschrijving2']; ?>" />
<br />
Afbeelding <em>250 x 90 pixels</em><br />
<input type="text" name="img" value="<? echo $var['img']; ?>" />
<br />
<input type="submit" name="submit" value="Toevoegen" />
</form>
<?php
}else{
//request everything
$dead = "false";
$message = "<strong>Controleer de volgende velden:</strong><br />";
$bedrijf = $_POST['bedrijf'];
$adres = $_POST['adres'];
$pc = $_POST['pc'];
$woonplaats = $_POST['woonplaats'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$categorie = $_POST['categorie'];
$titel1 = $_POST['titel1'];
$omschrijving1 = $_POST['omschrijving1'];
$titel2 = $_POST['titel2'];
$omschrijving2 = $_POST['omschrijving2'];
$img = $_POST['img'];
if(empty($bedrijf) || empty($adres) || empty($pc) || empty($woonplaats) || empty($tel) || empty($email) || empty($categorie) || empty($titel1) || empty($omschrijving1)){
$dead = "true";
$message .= "Je bent vergeten een veld in te vullen. <br />";
$message .= "<a href=\"javascript:history.go(-1);\">Vorige pagina</a> ";
}
if($dead == "false"){
$query = mysql_query("SELECT * FROM bedrijven WHERE bedrijf ='$bedrijf'");
$aantalrijen = mysql_num_rows($query);
if($aantalrijen == 1){
echo "Bedrijfsnaam is nog steeds hetzelfde..";
}
else{
$query1 = "UPDATE bedrijven SET bedrijf = '$bedrijf', adres = '$adres', pc = '$pc', woonplaats = '$woonplaats', tel = '$tel', email = '$email', categorie = '$categorie', titel1 = '$titel1', omschrijving1 = '$omschrijving1', titel2 = '$titel2', omschrijving2 = '$omschrijving2', img = '$img' WHERE id = '$id'";
if(mysql_query($query1)){
echo "Alle gegevens zijn succesvol ingevoerd en zullen op de frontpage te zien zijn.";
}
}
}
elseif($dead == "true"){
echo $message;
}
}
?>
Robin schreef op 06.05.2009 23:05:
die("Je bent niet ingelogd... Ga maar weer weg.");
Lekker vriendelijk.......
Haal $vars buiten de quotes.
Foutafhandeling query's ontbreekt.
$vars copiëren in ander $vars is zinloos en kost alleen geheugen.
Script is lek. (sql-injection)
Gebruik enkele quotes bij echo dan hoef je de dubbele html-quotes niet te escapen.
False is geen tekst maar een boolean, dus zonder quotes.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Fijne avond