Nous repartirons de l'exemple précédent : xbp_form_crud.
Puis nous allons ajouter une table "Catégorie" et un champ categorie dans la table article qui fait référence à l'id de la catégorie. (L'exemple est disponible dans le zip de la classe.)
Vous devriez avoir les deux tables suivantes :
Categorie :
Article :
On peut reprendre le codage, ça va être rapide !
Une fois que vous avez réussit à afficher le formulaire, il suffit de faire la liaison entre les deux tables, juste en appelant "getFromFK".
$f->getFromFK('categorie','categorie->id--nom');
Premier paramètre : le nom du champ du formulaire que l'on veut associer à une autre table. Ici, il s'agit du chanp "categorie" qui se trouve dans la table article.
Deuxième paramètre : DeuxièmeTable->ClePrimaire--ChampDesValeurs.
Voilà, vous avez fait la liaison, et magiquement, vous avez un menu select avec les valeurs correspondantes.
Pour aller plus loin :
Vous pouvez séléctionner directement le premier article de la table en faisant
$f->select(1);
Mettre le titre avant la catégorie
$f->position('titre',0);
Résumé :
$db = mysql_connect('localhost','root','');
mysql_select_db('xbplog',$db);
include 'xbp_form_crud.php';
$f = new xbp_form_crud($db,'article');
if ($f->checkForm($_POST) === true)
{
$f->update($_POST,1);
echo 'Données Modifiées';
}
$f->select(1);
$f->getFromFK('categorie','categorie->id--nom');
$f['titre'] = array('Size'=>30);
$f->position('titre',0);
echo $f->generateTableHTML(1,'id');