Posez votre question Signaler

JQuery Ajax php

YoungGirl 13Messages postés 11 mai 2009Date d'inscription - Dernière réponse le 24 nov 2009 à 14:07
Bonjour,
J'ai une page principale (mainpage.php) dans laquelle je veux charger le contenu d'une page secondaire (secondpage.php) en fonction du lien sur lequel on clique. Pour cela j'ai attribué des valeurs aux liens comme ceci
<li><span> Titre</span>
    <ul>
        <li><a href="#" title="soustitre1" value="1">sous titre1</a></li>
        <li><a href="" title="soustitre2" value="2">sous titre2</a></li>
    </ul>
</li>

ensuite avec jquery je récupère la valeur du lien sélectionné qui est passée en paramètre dans l'url et le contenu de la page secondpage.php est chargé et placé entre les balises ayant pour id body
jQuery().ready(function(){
	$(".li").click(function(){
			page = $(this).children("a").attr("value");
			document.location='admin.php?page=' + page;
			alert("dede"+' admin.php?page=' + page);

			$.ajax({
				type: "GET",
				url: "secondpage.php",
				error:function(msg){alert( "Error !: " + msg );},
				success:function(data){		
									$("#body").text(data);
								}
				});
	});
});

lorsque la page secondpage.php est chargée elle vérifie que le session contenu existe, session qui est définie sur la page mainpage.php et initialisée à 1, si c'est le cas le code du if est exécuté.
la session contenu permet de récupérer la valeur du lien sélectionné.
code la page secondpage.php
<?php 
	if(isset($_SESSION['contenu']))
	{
		echo $_SESSION['contenu'];
		$_SESSION['contenu'] = $_GET['page'];
		echo '<br/>'.$_SESSION['contenu']." gg ".$_GET['page'];
		switch ($_SESSION["contenu"])
		{
			case 1: contenu page 1
                        break;
                        case : contenu page 2
                        break;
                        default: page d'accueil
                        break;
                }
        }
        else
	{
		echo "Impossible d\'accéder à cette page !";
	}
?>


Mon pb c'est la seconde page n'est pas chargé quelque soit le lien choisi rien ne s'affiche dans le body. Comment résoudre ce pb?
Lire la suite 

JQuery Ajax php »

5 réponses
Réponse
+1
moins plus
Salut,

Je ne sais pas s'il est possible de récupérer des données directement avec jQuery, et si c'était possible, je pense que je ne le ferais pas. Parce que jQuery c'est de l'AJAX et qu'avec des outils tels que firebug, on peut voir tout ce qui transite depuis ou vers le serveur.

En revanche, il est possible d'appeler une page php avec jQuery qui peut l'inclure dans une div (ou autre) de la page courament affichée. Cette page php peut faire appel à une base de données.

Un petit exemple de page php à appeler :
<? //Exécuter une requête
$requete = "select * from maTable";
$reponse = mysql_query($requete) or die (mysql_error());
$lesLignes = array();
$cpt = 0;
while ($uneLigne = mysql_fetch_array($reponse, MYSQL_ASSOC)) {
$lesLignes = $uneLigne;
}

//Afficher les lignes ?>
<table>
<tr><th>titre colonne1</th><th>...</th></tr>
<?
for ($i=0; $i<$lesLignes.length(); $i++) {?>
<tr><td><?=$lesLignes[$i]?></td><td>...</td></tr>
}?>
</table>

Fonction qui appele une page php en lui passant des paramètres en POST et qui l'inclu dans un élément html (pas le temps de mettre en forme, désolé) :
<script>
function appelerPage(noeud, page, aPoster,chargement) {
// if(chargement==1){$("#chargement").show("fast");}
// $(document).ready(
// function () {
// $.post(
// page,
// aPoster,
// function success(data){$(noeud).html(data);}
// );
// }
// );

$(document).ready(
function () {
$.ajax(
{
async : false,
type: "POST",
url: page,
data: aPoster,
success: function(data){$(noeud).html(data);},
error:function (xhr, ajaxOptions, thrownError){
if (xhr.statusText!="OK"){
alert('Erreur appelerPage - Status : ' + xhr.statusText);
alert('Erreur appelerPage - Exception : ' + thrownError);
}
}
}
);
}
);
}
</script>
Ajouter un commentaire
Réponse
+0
moins plus
J'ai trouvé la solution a mon pb XHRConnection.
Le tuto est là (http://xhrconnection.sutekidane.net/... pour ceux qui veulent.

Maintenant j'ai un autre pb mes sessions ne sont plus reconnus. Somebody can help me ?
Ajouter un commentaire
Réponse
+0
moins plus
Ton lien est mort...
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

je remet le lien http://xhrconnection.sutekidane.net/
Ajouter un commentaire
Réponse
+0
moins plus
Est ce possible d'accéder à une base de donnée avec JQuery ?

Ce que je veux faire c'est récupérer les infos de la bdd suite à un évènement.
Ajouter un commentaire
Ce document intitulé « JQuery Ajax php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook