rulururu

post Remplir une liste depuis une base de donnée avec Prado

novembre 2nd, 2007

Catégorie: Prado — 23unit @ 19 h 44 min

Dans la documentation de Prado (blog tutorial et quickstart), il y est expliqué les différents moyens d’accès à une base de donnée ainsi que les différents composants (liste, label, boutons,…).

Pour ceux qui sont un peu perdu, je vais mettre ici un exemple simple et rapide, pour remplir une liste à partir d’un contenu extrait d’une base de donnée.

Tout d’abord, il faut créer un fichier gabarit (exemple : bindListe.page) et son fichier de classe (soit bindListe.php) et les placer dans le répertoire par défaut des pages du site nommé “Pages”.

Ensuite on veut que notre application démarre par défaut sur cette page. Pour cela il suffit de modifier le fichier “application.xml” et de insérer/modifier le code existant par :

<paths>

<using namespace=”System.Data.*” />
<using namespace=”System.Web.UI.ActiveControls.*” />

</paths>

et

<services>

<service id=”page” class=”TPageService” DefaultPage=”index” />

</services>

Ensuite dans le fichier “bindListe.page”, copier/coller le code suivant :

<com:TActivePanel>

<com:TActiveListBox ID=”liste” Rows=”1″ />

</com:TActivePanel>

Et dans le fichier “bindListe.php”, copier/coller le code suivant :

<?php

class bindListe extends TPage
{

public function onInit($param)
{

parent::onInit($param);

$connection=new TDbConnection(”mysql:host=host;dbname=nomBDD”,”user”,”pass”);
$connection->Active=true;

$command=$connection->createCommand(”SELECT * FROM votreTable”);
$dataReader=$command->query();

$dataReader->bindColumn(2,$texte); //traduiser cette ligne de code par “je veux que la colonne 2 du résultat de ma requête sql soit envoyé dans la variable $texte”

$tbl=array();

//on lit l’ensemble des lignes du résultat de la requête
while($dataReader->read()!==false)
{

$tbl[]=array($texte);

}

$this->liste->DataSource=$tbl;
$this->liste->dataBind();

}

}

?>

Bien entendu vous devez avoir une table dans votre base avec au minimum 2 colonnes. La 2ème colonne étant le texte à afficher dans la liste.

Voilà, pour tout problème ou commentaire, n’hésitez pas à laisser un message.

Pas de commentaire »

Il n'y a pas encore de commentaire.

RSS des commentaires pour cet article. TrackBack URI

Laisser un commentaire

ruldrurd

Bad Behavior has blocked 16 access attempts in the last 7 days.