Update Delete en Insert in OOP
Tot nu toe heb ik dit:
index
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
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
<?php
include ("opdr3_classfile.php");
$a = new meubelnamen();
$a->uitlezen();
echo '<form name="form2" method="post">';
echo '<table border="1px">';
echo '<tr>';
echo '<td>Artikelnr</td>';
echo '<td>Naam</td>';
echo '<td>Type</td>';
echo '<td>Omschrijving</td>';
echo '<td>Prijs</td>';
echo '</tr>';
echo '<tr>';
echo '<td> <input type="text" name="artikelnr" value=""></td>';
echo '<td> <input type="text" name="naam" value=""></td>';
echo '<td> <input type="text" name="type" value=""></td>';
echo '<td> <input type="text" name="omschrijving" value=""></td>';
echo '<td> <input type="text" name="prijs" value=""></td>';
echo '<td> <input type="submit" id="toevoeg" name="toevoeg" value="Toevoegen"></td>';
echo '</tr>';
echo '</table>';
echo '</form>';
echo '<form name="1" method="post">';
echo '<table border="1px">';
echo '<tr>';
echo '<td>Artikelnummer</td>';
echo '<td>Naam</td>';
echo '<td>Type</td>';
echo '<td>Omschrijving</td>';
echo '<td>Prijs</td>';
echo '</tr>';
if (isset($_GET['artikelnr'])) {
if (isset($_POST['update'])) {
$artikelnr = $_GET['artikelnr'];
$naam = $_POST['naam'];
$type = $_POST['type'];
$omschrijving = $_POST['omschrijving'];
$prijs = $_POST['prijs'];
$post->update($artikelnr, $naam, $type, $omschrijving, $prijs);
}
}
while($rij = mysql_fetch_array($a->teruggeven()))
{
echo '<tr>';
echo '<td> <input type="text" name="artikelnr" value="'.$rij['artikelnr'].'"></td>';
echo '<td> <input type="text" name="naam" value="'.$rij['naam'].'"></td>';
echo '<td> <input type="text" name="type" value="'.$rij['type'].'"></td>';
echo '<td> <input type="text" name="omschrijving" value="'. $rij['omschrijving'].'"></td>';
echo '<td> <input type="text" name="prijs" value="'.$rij['prijs'].'"></td>';
echo '<td> <input type="submit" name="verwijder" value="Verwijder"></td>';
echo '<td> <input type="submit" id="update" name="update" value="Update"></td>';
echo '</tr>';
}
echo '</table>';
echo '</form>';
?>
include ("opdr3_classfile.php");
$a = new meubelnamen();
$a->uitlezen();
echo '<form name="form2" method="post">';
echo '<table border="1px">';
echo '<tr>';
echo '<td>Artikelnr</td>';
echo '<td>Naam</td>';
echo '<td>Type</td>';
echo '<td>Omschrijving</td>';
echo '<td>Prijs</td>';
echo '</tr>';
echo '<tr>';
echo '<td> <input type="text" name="artikelnr" value=""></td>';
echo '<td> <input type="text" name="naam" value=""></td>';
echo '<td> <input type="text" name="type" value=""></td>';
echo '<td> <input type="text" name="omschrijving" value=""></td>';
echo '<td> <input type="text" name="prijs" value=""></td>';
echo '<td> <input type="submit" id="toevoeg" name="toevoeg" value="Toevoegen"></td>';
echo '</tr>';
echo '</table>';
echo '</form>';
echo '<form name="1" method="post">';
echo '<table border="1px">';
echo '<tr>';
echo '<td>Artikelnummer</td>';
echo '<td>Naam</td>';
echo '<td>Type</td>';
echo '<td>Omschrijving</td>';
echo '<td>Prijs</td>';
echo '</tr>';
if (isset($_GET['artikelnr'])) {
if (isset($_POST['update'])) {
$artikelnr = $_GET['artikelnr'];
$naam = $_POST['naam'];
$type = $_POST['type'];
$omschrijving = $_POST['omschrijving'];
$prijs = $_POST['prijs'];
$post->update($artikelnr, $naam, $type, $omschrijving, $prijs);
}
}
while($rij = mysql_fetch_array($a->teruggeven()))
{
echo '<tr>';
echo '<td> <input type="text" name="artikelnr" value="'.$rij['artikelnr'].'"></td>';
echo '<td> <input type="text" name="naam" value="'.$rij['naam'].'"></td>';
echo '<td> <input type="text" name="type" value="'.$rij['type'].'"></td>';
echo '<td> <input type="text" name="omschrijving" value="'. $rij['omschrijving'].'"></td>';
echo '<td> <input type="text" name="prijs" value="'.$rij['prijs'].'"></td>';
echo '<td> <input type="submit" name="verwijder" value="Verwijder"></td>';
echo '<td> <input type="submit" id="update" name="update" value="Update"></td>';
echo '</tr>';
}
echo '</table>';
echo '</form>';
?>
classfile
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
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
<?php
class connect{
private $host;
private $gebruiker;
private $wachtwoord;
private $DBnaam;
protected function verbinding(){
$verbinding = mysql_connect
($this->host, $this->gebruiker, $this->wachtwoord)
or die("De verbinding kan niet worden gemaakt<p>".mysql_error());
mysql_select_db($this->DBnaam);
}
//constructor
public function __construct(){
$this->host = "localhost";
$this->gebruiker = "";
$this->wachtwoord = "";
$this->DBnaam = "";
}
}
class meubelnamen extends connect {
private $result;
private $toevoeg;
private $artikelnr;
private $naam;
private $type;
private $omschrijving;
private $prijs;
function uitlezen(){
$this->verbinding();
$this->result = mysql_query("SELECT * FROM meubels");
}
function teruggeven(){
return $this->result;
}
function update($artikelnr, $naam, $type, $omschrijving, $prijs){
}
function delete(){
$delete = $this->DBnaam->prepare("DELETE * from meubels WHERE artikelnr = :artikelnr");
}
}
?>
class connect{
private $host;
private $gebruiker;
private $wachtwoord;
private $DBnaam;
protected function verbinding(){
$verbinding = mysql_connect
($this->host, $this->gebruiker, $this->wachtwoord)
or die("De verbinding kan niet worden gemaakt<p>".mysql_error());
mysql_select_db($this->DBnaam);
}
//constructor
public function __construct(){
$this->host = "localhost";
$this->gebruiker = "";
$this->wachtwoord = "";
$this->DBnaam = "";
}
}
class meubelnamen extends connect {
private $result;
private $toevoeg;
private $artikelnr;
private $naam;
private $type;
private $omschrijving;
private $prijs;
function uitlezen(){
$this->verbinding();
$this->result = mysql_query("SELECT * FROM meubels");
}
function teruggeven(){
return $this->result;
}
function update($artikelnr, $naam, $type, $omschrijving, $prijs){
}
function delete(){
$delete = $this->DBnaam->prepare("DELETE * from meubels WHERE artikelnr = :artikelnr");
}
}
?>
Iemand een idee wat ik zou moeten invullen in bijvoorbeeld de update functie?
Gewijzigd op 06/02/2013 09:53:42 door Snelle Jaap
Foutmelding?
Allereerst is dit natuurlijk totaal geen OOP. Ik zie losse functies die bij geen 1 klasse horen, veel te veel procedurele code, foute code, ect.
Klopt heb het nu aangepast, maar krijg ook geen foutmelding
Even een lijstje met punten die totaal, maar dan ook totaal niet met elkaar kunnen werken:
Code (php)
$DBnaam is dus een private property met een database naam erin.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
class meubelnamen extends connect {
function update($artikelnr, $naam, $type, $omschrijving, $prijs){
try {
$update = $this->DBnaam->prepare("UPDATE meubels SET naam = :naam, type = :type, omschrijving = :omschrijving, prijs = :prijs, WHERE artikelnr = :artikelnr");
}
}
}
?>
class meubelnamen extends connect {
function update($artikelnr, $naam, $type, $omschrijving, $prijs){
try {
$update = $this->DBnaam->prepare("UPDATE meubels SET naam = :naam, type = :type, omschrijving = :omschrijving, prijs = :prijs, WHERE artikelnr = :artikelnr");
}
}
}
?>
Dat private property probeer je vervolgens in een child klas aan te roepen (kan dus niet, want het is private), als ware het een PDO object (maar het is een string).
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
class connect{
protected function verbinding(){
$verbinding = mysql_connect
($this->host, $this->gebruiker, $this->wachtwoord)
or die("De verbinding kan niet worden gemaakt<p>".mysql_error());
mysql_select_db($this->DBnaam);
}
}
?>
class connect{
protected function verbinding(){
$verbinding = mysql_connect
($this->host, $this->gebruiker, $this->wachtwoord)
or die("De verbinding kan niet worden gemaakt<p>".mysql_error());
mysql_select_db($this->DBnaam);
}
}
?>
Maar wacht, je verbinding heb je opgezet via mysql.... dus je probeert ook nog eens PDO en de mysql_ functies te mixen.
Ik zou zeggen.... begin helemaal, compleet op nieuw. Dit is bagger.
Had die update van een site gehaald en dat blijkt Mysqli te zijn, het is dus de bedoeling dat het gewoon mysql is alleen alle functies (delete,update,insert) moeten in dezelfde class.