2010-09-05 14 views
33

Je reçois les données de DB et les affiche dans un div ... ce que je veux faire est quand je clique sur un lien, il devrait changer le contenu de la divHTML - Modifier Mettre à jour le contenu de la page sans actualiser recharger la page

une option est de passer par le paramètre URL pour lui-même et recharger la page ...

je dois le faire sans rupture de charge \ rafraîchissante ...

<?php 
    $id = '1'; 

    function recp($rId) { 
     $id = $rId; 
    } 
?> 

<a href="#" onClick="<?php recp('1') ?>" > One </a> 
<a href="#" onClick="<?php recp('2') ?>" > Two </a> 
<a href="#" onClick="<?php recp('3') ?>" > Three </a> 

<div id='myStyle'> 
<?php 
    require ('myConnect.php');  
    $results = mysql_query("SELECT para FROM content WHERE para_ID='$id'"); 

    if(mysql_num_rows($results) > 0) { 
     $row = mysql_fetch_array($results); 
     echo $row['para']; 
    } 
?> 
</div> 

l'objectif est quand Je clique sur l'un des liens le contenu de la div et variable php \ s est mis à jour sans rafraîchir .... afin que l'utilisateur puisse voir de nouvelles données et après que si une requête est effectuée, il est nouvelle variable \ de

ps Je sais qu'il est besoin d'un peu va AJAX mais je ne sais pas AJAX .. alors s'il vous plaît répondre avec quelque chose par lequel je peux apprendre ... ma connaissance est limitée à HTML, PHP, un peu de JavaScript & certains jQuery

Répondre

41

Vous avez la bonne idée, alors voici comment procéder: les gestionnaires onclick s'exécutent du côté client, dans le navigateur, de sorte que vous ne pouvez pas appeler une fonction PHP directement. Au lieu de cela, vous devez ajouter une fonction JavaScript qui (comme vous l'avez mentionné) utilise AJAX pour appeler un script PHP et récupérer les données. En utilisant jQuery, vous pouvez faire quelque chose comme ceci:

<script type="text/javascript"> 
function recp(id) { 
    $('#myStyle').load('data.php?id=' + id); 
} 
</script> 

<a href="#" onClick="recp('1')" > One </a> 
<a href="#" onClick="recp('2')" > Two </a> 
<a href="#" onClick="recp('3')" > Three </a> 

<div id='myStyle'> 
</div> 

Ensuite, vous mettez votre code PHP dans un fichier séparé: (je l'ai appelé data.php dans l'exemple ci-dessus)

<?php 
    require ('myConnect.php');  
    $id = $_GET['id']; 
    $results = mysql_query("SELECT para FROM content WHERE para_ID='$id'"); 
    if(mysql_num_rows($results) > 0) 
    { 
    $row = mysql_fetch_array($results); 
    echo $row['para']; 
    } 
?> 
+1

puis-je utiliser $ id = $ _POST ['id']; au lieu de $ id = $ _GET ['id']; – Moon

+0

et pas plus de bibliothèques à inclure en plus de 'jQuery.js' – Moon

+0

est-il un moyen de le faire sans javascript/jQuery si j'ai déjà le contenu prêt en PHP? – DeveloperACE

1

jQuery fera le travail. Vous pouvez utiliser la fonction jQuery.ajax, qui est générale pour effectuer des appels ajax, ou ses wrappers: jQuery.get, jQuery.post pour obtenir/publier des données. Son très facile à utiliser, par exemple, consultez tutoriel this, qui montre comment utiliser jQuery avec PHP.

Questions connexes