hallo,

ik ben op het moment bezig met een soort 'forum' om mijn php kennis te verbreden. maar ik loop tegen het volgende aan.

ik wil voor het eerst eigenlijk werken met classes om mysql-handelingen te verrichten (denk aan SELECT, UPDATE, INSERT, DELETE). alleen nu weet ik niet precies hoe ik dit aan kan pakken aangezien ik weinig tot geen ervaring heb met 'classes' en 'functions'.

zou iemand mij hier misschien bij kunnen helpen hoe dit in zijn werk gaat etc ?

groeten escoball!
class.php

<?php
class klasse 
{
     function geef_waarde_terug($waarde)
    {
          $return = "De waarde is :".$waarde ;
          return $return
    }
}
?>


pagina.php

<?php
include_once("class.php") ;
$Class = new klasse() ;
?>
<form method="POST">
<input type="text" name="waarde">
<input type="submit" name="set_waarde">
</form>
<?php
if (isset($_POST["set_waarde"]))
{
     echo $Class->geef_waarde_terug($_POST["waarde"]) ;
}
?>


Dit voorbeeld zou (zo goed als) in 1 keer moeten werken. Hoop dat je er iets aan hebt

*Tikfouten voorbehouden

[edit]
Moet de functie wel iets returnen natuurlijk :P
[/edit]
oke, bedankt.

in ieder geval al bedankt voor de moeite, ik zal er is naar kijken en laat dan wel horen of het een beetje lukt :P
heeft het dan eigenlijk wel nut om als je bijvoorbeeld mysql_query("SELECT * FROM `table`"); gebruikt een class en functions daarvoor te gebruiken?
Omdaat je een class en functie zo kan bouwen dat je alleen maar:
<?php
$var=new classname;

$data = $var -> functienaam("SELECT * FROM table");
?>
Dit hoeft te doen en je in die functie al bijvoorbeeld de foutafhandeling van de query doet. Zo hoef je niet elke keer dat je een query wilt uitvoeren mysql_query en mysql_fetch_......() te doen, alsmede de afhandeling van de fouten die je vroeg of laat altijd krijgt met query's.
Wanneer je beschikt over PHP versie 5, zie dan ook dit topic over PDO. Dat kan het leven een stuk eenvoudiger maken.
ik heb het zo gedaan, is dit ook een goede manier ?


<?php
class database_db {


#mysql_num_rows
function my_num_rows($value) {
$cquery = mysql_query("SELECT * FROM $value")or die(mysql_error());
$cnum_rows = mysql_num_rows($cquery);
return $cnum_rows;
}

#mysql_select.
function my_select($value,$value2) {
$selectquery = mysql_query("SELECT * FROM `" . $value . "` " .  $value2  . "")or die(mysql_error());
return $selectquery;
}

}

$database = new database_db;
?>


en dan zo doen:

<?php

$database->my_select("bsf_forumcats", "ORDER BY id DESC");

?>



is dit een goede manier ervan ?:P
Dit lijk mij geen goede manier. Je kunt beter een query methode maken in je klasse:
<?php
function query( $_sQuery )
{
//code
}
?>

edit:

Of kijk eens naar opensource projecten zoals phpbb
phpbb 3.0 dan wel te verstaan, 2.0 is qua code en leesbaarheid niet aan te bevelen. Gaat simpelweg veel te veel tijd kosten ;)

PDO is leuk, of als alternatief staan er genoeg database klassen in de scriptlib.

Daarbij zijn de klassen uit de scriptlib over het algemeen prima voorbeelden van hoe je iets moois kan maken :)

Reageren