2009-10-17 9 views
3

Je crée une page Web qui est construite en utilisant "modules", en d'autres termes la page est mis en place en utilisant d'autres fichiers php.PHP inclure en utilisant ajax

Sur un côté de ma page il y a un conteneur div avec des liens à côté, ce conteneur div sera utilisé pour contenir certaines informations. Les informations sont conservées dans des fichiers php séparés que je ne peux pas charger dans le conteneur div avec les liens que j'ai mentionnés plus tôt.

Comment ferais-je cela avec ajax?

Remarque: Je charge les fichiers php avec include ("");

+0

utilisez-vous une bibliothèque javascript comme jQuery/prototype/mootools? – robjmills

+0

Je n'en utilise pas, pour le site que je construis, je n'ai besoin que d'ajax pour interroger la base de données et recharger les informations sur la page. J'ai donc pensé qu'il serait préférable d'utiliser mon propre code plutôt qu'une bibliothèque, n'est-ce pas? – Stanni

Répondre

8

AJAX ne doit pas remplacer votre PHP include s moins qu'il y ait une raison particulière que vous voulez Pour ce faire, les performances de chargement de la page sont médiocres et vous souhaitez charger certaines sections de manière asynchrone dans le reste de la page. Je continuerais à utiliser PHP includes, mais si vous voulez mettre à jour dynamiquement ces sections après le premier chargement, vous pouvez utiliser Prototype's Ajax Updater. Gardez à l'esprit que cela ne ressemble pas à une inclusion côté serveur; les parties de la page que vous mettez à jour, s'il s'agit de scripts PHP, n'auront pas accès aux variables qui ont été définies dans le reste de la page; Vous devrez fournir ces données en tant que données GET ou POST avec la requête asynchrone.

0

pour ce que ça vaut c'est comment vous mettre à jour un div avec un id d'objets en utilisant prototype:

new Ajax.Updater('items', '/your_remote_script.php'); 
2

AJAX - ici nous parlons de la participation Javascript. Donc, je vais utiliser jQuery ici

index.php:

<?php 

// your main file 
echo '<div id="module">Please wait while loading...</div>'; 
echo '<script type="text/javascript" src="jquery-1.3.2.js"></script>'; 
echo '<script type="text/javsacript">/* <![CDATA[ */'; 
echo '$(window).ready(function(){ 
     $("#module").load("module.php"); 
     });'; 
echo '/* ]]> */</script>'; 

?> 

module.php:

<?php 

echo 'Today is '.gmdate('l'); 

?>