JQuery Ajax php

YoungGirl Messages postés 13 Date d'inscription lundi 11 mai 2009 Statut Membre Dernière intervention 30 novembre 2009 - 11 mai 2009 à 23:21
 Pogo -
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?
A voir également:

5 réponses

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>
1
YoungGirl Messages postés 13 Date d'inscription lundi 11 mai 2009 Statut Membre Dernière intervention 30 novembre 2009
17 mai 2009 à 04:53
J'ai trouvé la solution a mon pb XHRConnection.
Le tuto est là (http://xhrconnection.sutekidane.net/exemples/charger-un-fichier-dans-une-zone-de-la-page/ pour ceux qui veulent.

Maintenant j'ai un autre pb mes sessions ne sont plus reconnus. Somebody can help me ?
0
Ton lien est mort...
0
YoungGirl Messages postés 13 Date d'inscription lundi 11 mai 2009 Statut Membre Dernière intervention 30 novembre 2009
23 nov. 2009 à 23:43
Bonjour,

je remet le lien http://xhrconnection.sutekidane.net/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
YoungGirl Messages postés 13 Date d'inscription lundi 11 mai 2009 Statut Membre Dernière intervention 30 novembre 2009
24 nov. 2009 à 13:17
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.
0