Kamelot Blog

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 28 août 2008

jeu
28
aoû '08

Hooverphonic en concert Gratos à Soignies pendant Août en éclat.

Je signalais début mai le concert Gratos d'Hooverphonic à Soignies qui aura lieu ce 30 Août.

Voici l'affiche complète d'août en éclat.

Grande scène
  • Exalter (14h30)
  • Yel (16h30)
  • Lè Vangle (Suisse) (18h30)
  • Studio Pagol (20h30)
  • Hooverphonic (22h30)
Petite scène
  • Big Road (13h30)
  • Emmanuel and Crew (15h30)
  • Extinguish (17h30)
  • Runnin Wild (19h30)
  • Silver Riot (21h30)
Guinguette
  • Jazzpirine (11h)
  • Don Cameleon (14h)
  • Poulycroc (15h30)
  • Bab El Wesh (France) (17h30)
  • Deep Culcha (19h30)
  • Buenas Ondas (21h30)
Gradins
  • Davasi (“Figlio Pazzo”) (France) ( 15h30 )
  • Les Motasses ( 19h30 )
  • Fire Delirium ( 21h30 )
  • Déambulatoire
  • Théâtre du Plantin
  • Les Emouvantails
  • Funeral Wedding
Animations
  • Village des Enfants
  • Marché du Monde
jeu
28
aoû '08

PEAR::Pager tutorials. Navigation avec pagination et Ajax

Ce texte est une des traductions d'une série d'articles de Lorenzo Alberton Suite de PEAR::Pager tuto : Navigation avec pagination et Javascript simple

Comme vous avez pu le voir, the trick was setting the path parameter to an empty string and the fileName parameter to a javascript link, avec l'habituel marqueur "%s" pour le pageID.

Exemple #2: On veut de l'AJAX! On veut de l'AJAX!

Ok, maintenant que vous avez vu les bases, vous devriez avoir tous les éléments à aller plus loin.

Mais si vous êtes paresseux et voulez le voir quand même, voici un exemple sur la façon de faire la même chose que ce que nous avons vu avant, cette fois utilisant des appels AJAX chercher seulement les données utiles pour la page montrée.

Dans cet exemple, j'utilise la librairie PEAR::HTML_AJAX (docs):

Si vous ne pouvez pas attendre voyez cette démo, c'est l'exemple en fonctionnement, regardons comment il est fait :

1) Le fichier html:

nous incluons les fichiers js dynamiques (server.php) pour traiter les demandes AJAX, et appellons HTML_AJAX.replace ("target","testdata.php"), ce qui remplacera le contenu du DIV cible par le rendu du script testdata.php en utilisant un appel d'AJAX.

<html>
<body>
<h1>PEAR::Pager exemple avec AJAX</h1>
 
<script type="text/javascript" src="server.php?client=all"></script>
 
<div id="target">Je suis la cible</div>
 
<script type="text/javascript">
    HTML_AJAX.replace('target', 'testdata.php');
</script>
 
</body>
</html>
2) Le fichier testdata.php:

c'est un simple script php qui récupère les données que vous désirez afficher (Dais cet exemple, 100 entiers) et les renvoie au Paginateur.

L'output de ce script remplacera le contenu du DIV cible dans le premier fichier html.

Nous affichons également la date et l'heure courante pour nous prouver que les données sont « fraîches » et construites à chaque appel (c.-à-d. chaque fois que vous cliquez sur un lien de navigation).

<?php
require_once 'Pager.php';
$data = range(1, 100); //un tableau de données à paginer
$pager_params = array(
    'mode'     => 'Sliding',
    'append'   => false,  //ne pas ajouter les paramètres GET
    'path'     => '',
    'fileName' => 'javascript:HTML_AJAX.replace(\'target\',\'testdata.php?pageID=%d\');',  //Pager replaces "%d" with the page number...
    'perPage'  => 10, //afficher  10 item par page
    'delta'    => 1,
    'itemData' => $data,
);
$pager = & Pager::factory($pager_params);
$n_pages = $pager->numPages();
$links = $pager->getLinks();
echo '<p>Ce containeur est rempli avec un appel AJAX</p>';
echo '<p><span class="datetime">DateTime: '. date('Y-m-d H:i:s') .'</span></p>';
echo '<h3>Page '. $pager->getCurrentPageId() .'</h3>';
foreach ($pager->getPageData() as $item) {
    echo 'Item '. $item .'<br />';
}
echo '<hr />'.$pager->links;
?>
3) Finallement, le fichier server.php :

nous créons une instance de HTML_AJAX_Server pour livrer les les deux les bibliothèques de Javascript et pour traiter les demandes d'AJAX des navigateurs.



<?php
include 'HTML/AJAX/Server.php';
 
$server = new HTML_AJAX_Server();
$server->handleRequest();
?>

Tags