Rechercher : dans
Par :

JQuery Ajax php

Dernière réponse le 24 nov 2009 à 14:07:03 YoungGirl, le 11 mai 2009 à 23:21:42 
 Signaler ce message aux modérateurs

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?
Configuration: Windows Vista
Firefox 3.0.10

Meilleures réponses pour « JQuery Ajax php » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...

1

YoungGirl, le 17 mai 2009 à 04:53:18

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 ?

Répondre à YoungGirl

2

Pogo, le 2 oct 2009 à 16:29:37

Ton lien est mort...

Répondre à Pogo

3

YoungGirl, le 23 nov 2009 à 23:43:01

Bonjour,

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

Répondre à YoungGirl

4

YoungGirl, le 24 nov 2009 à 13:17:33

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.

Répondre à YoungGirl

5

 Pogo, le 24 nov 2009 à 14:07:03

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>

Répondre à Pogo