Bonjour,
Je construit une application basé sur des leçons de dicrimination auditive.
J'essaye de séparer la code en 3 tiers soit UI,BU,DA
dans DA j'ai la classe suivante
class GestionDevinette {
... (private,getter et setter)..
function Select(){
$opensqlite = sqlite_open('../sqlite/basedb.sqlite');
$sql = sqlite_query('SELECT * FROM motsphrase ORDER BY idmots ASC',$opensqlite);
while ($result = sqlite_fetch_array($sql)) {
$id[] = $result['idmots'];
$motphrasedebut[] = $result['motphrasedebut'];
$reponse[] = $result['motreponse'];
$motphrasefin[] = $result['motphrasefin'];
}
$this->set_id($id);
$this->set_motphrasedebut($motphrasedebut);
$this->set_reponse($reponse);
$this->set_phrasefin($motphrasefin);
sqlite_close($opensqlite);
}
function MiseJour($motphrasedebut,$reponse,$motphrasefin,$id){
$opensqlite = sqlite_open('../sqlite/basedb.sqlite');
$result = sqlite_query("UPDATE motsphrase SET motphrasedebut = '$motphrasedebut' motreponse = '
$reponse' motphrasefin = '$motphrasefin' WHERE idmots = $id " ,$opensqlite);
sqlite_close($opensqlite);
}
}
Dans BU j'ai la claqqe suivante
<?php
class ModifDevinette {
function __construct() {
$objet = new GestionDevinette();
$objet->Select();
$id = $objet->get_id();
$objetphrasedebut = $objet->get_motphrasedebut();
$reponse = $objet->get_reponse();
$objetphrasefin = $objet->get_phrasefin();
foreach ($id as $k => $v) {
?>
<form action="<?php $this->Update(); ?>" method="POST">
<table>
<tr>
<td>
<input name="id" type="hidden" value="<?php echo $id[$k] ?>"><?php echo $id[$k] ?>
</td>
<td>
<input name="phrasedebut" type="text" value="<?php echo("$objetphrasedebut[$k]"); ?>">
</td>
<td>
<input name="reponse" type="text" value="<?php echo("$reponse[$k]"); ?>">
</td>
<td>
<input name="phrasefin" type="text" value="<?php echo("$objetphrasefin[$k]"); ?>">
</td>
<td>
<input name="bouton" type="submit" value="Modifier">
</td>
</tr>
<hr />
</table>
</form>
<?php
}
}
function Update (){
$objet = new GestionDevinette();
$objet->MiseJour($_POST['phrasedebut'],$_POST['reponse'],$_POST['phrasefin'],$_POST['id']);
}
}
et dans UI
$mot = new ModifDevinette();
Mon problème est dans le <form>, comment faire pour appeler une méthode de classe.
Ou alors je m'y prend vraiment comme un manche et je me complique la vie.
Merci de votre aide.
MaitrePylos