Update Delete en Insert in OOP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Snelle Jaap

Snelle Jaap

06/02/2013 09:29:05
Quote Anchor link
Ik ben bezig met een opdracht over het aanpassen deleten en inserten van een tabel in OOP, dit moet allemaal in een classfile gebeuren.

Tot nu toe heb ik dit:

index

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>';
?>



classfile


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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");
    
}
}



?>



Iemand een idee wat ik zou moeten invullen in bijvoorbeeld de update functie?
Gewijzigd op 06/02/2013 09:53:42 door Snelle Jaap
 
PHP hulp

PHP hulp

28/11/2024 11:49:12
 
Wim E

Wim E

06/02/2013 09:37:34
Quote Anchor link
Foutmelding?
 
Wouter J

Wouter J

06/02/2013 09:39:53
Quote Anchor link
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.
 
Snelle Jaap

Snelle Jaap

06/02/2013 09:41:26
Quote Anchor link
Klopt heb het nu aangepast, maar krijg ook geen foutmelding
 
Erwin H

Erwin H

06/02/2013 09:50:21
Quote Anchor link
Volgens mij heb je geen idee waar je mee bezig bent....

Even een lijstje met punten die totaal, maar dan ook totaal niet met elkaar kunnen werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
class Connect{
    private $DBnaam;

    public function __construct(){
         $this->DBnaam = "db68058";
     }
}

?>

$DBnaam is dus een private property met een database naam erin.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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");
      }
    }
}

?>

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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
     }
}

?>

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.
 
Snelle Jaap

Snelle Jaap

06/02/2013 09:52:16
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.