Problemen terugkrijgen variabelen van class
Laatste tijd ben ik een beetje aan het knoeien met OOP PHP, maar heb nu het volgende probleem.
ik wil DMV het ID van een product de informatie uit de database halen die met dat product te maken heeft.
Nu heb ik het volgende gedaan.
op mijn edit_product_id.php roep ik de functie find_by_id aan.
in de find_by_id functie staat het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
public static function find_by_id($id)
{
if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
{
// query db
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM product WHERE id=$id")
or die(mysql_error());
$row = mysql_fetch_array($result);
$artikelnr = $row['artikelnr'];
$productnaam = $row['productnaam'];
$beschrijving = $row['beschrijving'];
$prijs = $row['prijs'];
$categorie = $row['categorie'];
}
}
?>
public static function find_by_id($id)
{
if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
{
// query db
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM product WHERE id=$id")
or die(mysql_error());
$row = mysql_fetch_array($result);
$artikelnr = $row['artikelnr'];
$productnaam = $row['productnaam'];
$beschrijving = $row['beschrijving'];
$prijs = $row['prijs'];
$categorie = $row['categorie'];
}
}
?>
Maar op 1 of andere manier kan ik het gewoon niet voor elkaar te krijgen om de variabelen $artikelnr etc bruikbaar te krijgen op mijn edit_product_id.php.
ik hoop dat iemand mij hier mee kan helpen. Ik zal wel iets logisch over het hoofd hebben gezien
Toevoeging op 13/03/2012 22:34:36:
vergeten erbij te zetten.
in de class worden de variabelen $artikelnr enz wel gevuld met de juiste waardes van het product. Dit heb ik getest DMV een echo in de class. het probleem is dus die variabelen naar edit_product_id.php krijgen
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$row = mysql_fetch_array($result);
$artikelnr = $row['artikelnr'];
$productnaam = $row['productnaam'];
$beschrijving = $row['beschrijving'];
$prijs = $row['prijs'];
$categorie = $row['categorie'];
?>
$row = mysql_fetch_array($result);
$artikelnr = $row['artikelnr'];
$productnaam = $row['productnaam'];
$beschrijving = $row['beschrijving'];
$prijs = $row['prijs'];
$categorie = $row['categorie'];
?>
Nu gewoon dit doet:
Dan krijg je dus het hele record in een keer terug in een associatieve array.
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
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
<?php
class Product{
private _articlenumber;
public function setArticlenumber($articlenumber){
$this->_articlenumber = $articlenumber;
}
public function getArticlenumber(){
return $this->_articlenumber;
}
}
class ProductHandler{
public static function find_by_id($id)
{
if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
{
// query db
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM product WHERE id=$id")
or die(mysql_error());
$row = mysql_fetch_array($result);
$product = new Product();
$product->setArticlenumber($row['artikelnr']);
return $product;
}
}
}
?>
class Product{
private _articlenumber;
public function setArticlenumber($articlenumber){
$this->_articlenumber = $articlenumber;
}
public function getArticlenumber(){
return $this->_articlenumber;
}
}
class ProductHandler{
public static function find_by_id($id)
{
if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
{
// query db
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM product WHERE id=$id")
or die(mysql_error());
$row = mysql_fetch_array($result);
$product = new Product();
$product->setArticlenumber($row['artikelnr']);
return $product;
}
}
}
?>
Even als voorbeeld je moet natuurlijk ook meer setters en getters maken misschien ook een createObject functie in je Handler, Database handler etc..
Daar zal hier vast en zeker een leuke tutorial voor staan.