Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/09/2011, 14h51   #1
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
Par défaut recuperer les valeurs d'une base de données et les afficher dans une div avec ajax jquery

Bonjour,

Il est vrai que de nombreux exemple existe sur jquery.com, mais je ne les comprends pas vraiment !!

Je cherche à afficher (au chargement d'une page) dans une div les éléments d'une base de données (le nom de plusieurs documents l'un au-dessous de l'autre) avec :

Code :
$.post('lectBDD.php', $("#selector").serialize());
et les affichés dans ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<div class="docucat">
<table cellspacing="0" cellpadding="0" width="100%">
         <?php while($data = mysql_fetch_object($req)){ ?>
         <tr><td id="selector">
               <div id="docpdf" class="separtdoc"> 
                     <?php echo htmlentities($data->gdoc); ?>
               </div> 
               <div id="cadrelogo" class="separtdoc"> 
                      <img src="images/bt_pdf.png"/> 
               </div>
               </td>
          </tr>
          <?php } ?>
</table>
</div>
Cela ne suffit-il pas ??

je ne souhaite ni message d'erreur ni message de succes.

Par la suite j'aimerais effectué un fadeIn sur ces différents documents (Pour que lors de l'affichage ils apparaissent l'un après l'autre avec une séparation de 400 ms).

Merci pour votre aide
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 15h08   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
il faut passer par le callback du post pour lancer une fonction qui recupèreras la reponse du serveur (echo) poru la mettre en html() de ton div
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 16h17   #3
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
Désolé mais que dois-je comprendre pour le callback, car sur jquery.com on m'indique ça:

Code :
jQuery.post( url, [data], [success(data, textStatus, jqXHR)], [dataType] )
et je ne situe pas le callback, pourriez vous me donnez un exemple??
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 16h23   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
faut lire la doc ...

un exemple tiré de jquery.com :

Code :
1
2
3
$.post('ajax/test.html', function(data) {
  $('.result').html(data);
});
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 17h09   #5
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
Voici donc ce que ça donne avec mes données:
Code :
1
2
3
$.post('lectBDD.php', function(data) {
  		$('#docpdf').html(data);
	});
la connexion a la BDD: lectBDD.php:

Code :
1
2
3
4
5
6
7
<?php
mysql_connect("localhost","root","");
mysql_select_db("ajout");
$sql = 'SELECT * FROM save ';
$req = mysql_query($sql) or die(mysql_error()); 
mysql_set_charset('utf8'); 
?>
et voici le conteneur qui doit recevoir les données et les afficher:
Code :
1
2
3
4
5
<table cellspacing="0" cellpadding="0" width="100%">
                ligne 123	<?php while($data = mysql_fetch_object($req)){ ?>
                	<tr><td id="selector"><div id="docpdf" class="separtdoc"> <?php echo htmlentities($data->gdoc); ?></div> <div id="cadrelogo" class="separtdoc"> <img src="images/bt_pdf.png"/> </div></td></tr>
                    <?php } ?>
                </table>
l'erreur donnée est la suivante:
Citation:
Notice: Undefined variable: req in C:\wamp\www\site-abiazix\remagen\page_administration_style.php on line 123
Si je comprend bien mon $.post n'est pas correct, que dois je modifier car j'ai suivi les indications de jquery.com (comme vous me l'avez précisez)

merci encore pour votre aide
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 17h11   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
tu as juste oublié de passer les data non ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 19h01   #7
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
pourriez vous êtres plus précis , Merci

parlez vous de ça ?:
Code :
data: "$login="+$("#login").val()+"&pass="+$("#pass").val(),
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 09h17   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
tout est là:

Code :
jQuery.post( url, [data], [success(data, textStatus, jqXHR)], [dataType] )
les paramètres sont:
l'url
les données passées
la fcontion a executer lors du retour..


Code :
1
2
3
$.post('lectBDD.php', $("#selector").serialize(), function(data) {
  		$('#docpdf').html(data);
	});
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 13h15   #9
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
j'ai bien compris le script cependant je reçoit toujours la meme erreur de cette ligne:
Citation:
Undefined variable: req in C:\wamp\www\site-abiazix\remagen\page_administration_style.php on line 131 :

ligne 131:<?php while($data = mysql_fetch_object($req)){ ?>
et voici le fichier lectBDD.php:

Code :
1
2
3
4
5
6
7
<?php
mysql_connect("localhost","root","");
mysql_select_db("ajout");
$sql = 'SELECT * FROM save ';
$req = mysql_query($sql) or die(mysql_error()); 
mysql_set_charset('utf8'); 
?>
merci encore
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 16h46   #10
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
Dois-je changer de section pour la question précédente?

Parce qu'elle est liée à l'action de Ajax (jquery).

je ne sais pas d'ou vient le problème de $req, vu que la connexion entre la page
page_administration_style.php et lectBDD.php se fait bien sans l'intervention de l'ajax.

merci encore pour votre aide
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 08h31   #11
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
C'est clairement un souci php et non plus javascript ...

Parcontre ton fichier php ne fais pas d'echo ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 14h56   #12
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
Je viens de vérifier (si j'ai bien fait ma vérification?)

le problème vient de la syntaxe ajax

voici mon exemple:
le PHP pricipal:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript" src="jquery.js"></script>
<script>
	$(document).ready(function(){
		$.post('lectBDD.php', $("#selector").serialize(), function(data) {
			$('#docpdf').html(data);
		});
	});
</script>
 
</head>
 
<body>
<?php echo $sql ?>
<?php while($data = mysql_fetch_object($req)){ ?>
	<table cellspacing="0" cellpadding="0" width="100%">
          <tr><td id="selector">
          <div id="docpdf" class="separtdoc"><?php echo htmlentities($data->gdoc); ?> </div> <div id="cadrelogo" class="separtdoc"> <img src="images/bt_pdf.png"/> </div>
          </td></tr>
    </table>
 <?php } ?>
</body>
</html>
le PHP de connection à la BDDlectBDD.php)

Code :
1
2
3
4
5
6
7
<?php
mysql_connect("localhost","root","");
mysql_select_db("ajout");
$sql = "SELECT * FROM `save` WHERE `theme` LIKE '3'";
$req = mysql_query($sql) or die('erreur de connexion'.mysql_error()); 
mysql_set_charset('utf8'); 
?>
Voici les erreurs mysql que je n'arrive pas à corriger en dépit de plus de 22 sujet comportant le même problème sur des forums différents:


Citation:
Notice: Undefined variable: sql in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 18
Call Stack
# Time Memory Function Location
1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0


( ! ) Notice: Undefined variable: req in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 19
Call Stack
# Time Memory Function Location
1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0


( ! ) Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 19
Call Stack
# Time Memory Function Location
1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0
2 0.0017 367360 mysql_fetch_object ( ) ..\essai-Ajax_mysql.php:19
merci pour votre aide
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 15h00   #13
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
ligne 18 => il est declaré ou ton $sql ... ???

ta connexion tu la fait quand ?
avant ?
je ne vois pas d'include ni d'appel à une connexion dans ton script ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 15h16   #14
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
je pensais que l'action du script ajax : $.post

faisait office de connexion entre la page d'affichage des données et la page (lectBDD.php) de connexion à la BDD.

Si c'est bien le cas ? , j'ai essayé de faire des tests avec l'affichage de $sql pour avoir une réponse de mysql et savoir qu'il y a bien une connexion établie . CE n'est pas le cas

donc pour répondre à la question: le $sql est dans la page de connexion à la BDD (lectBDD.php)

la connexion devrait avoir lieu avec le script ajax : ($.post ....).

merci pour vos réponses et conseils
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 16h01   #15
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
difficile de comprendre ton fonctionnement ...

tu serialises un td ????
serialize s'applique à un form si je en m'abuse ...

verifies les données reçues sur ta page php au moyen d'un
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 16h53   #16
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
je crois effectivement que je n'ai pas compris le fonctionnement de "serialise" , je pensais que ça pouvait remplacer un "
Code :
while ($data = mysql_fetch_object($req)
".

pouvez vous me dire si ce script établit bien une connexion entre ma page qui affiche les données et celle qui établit une connexion avec la BDD ?

n'ayant pas saisit l’intérêt de serialize je l'ai supprimer:

Code :
1
2
3
$.post('lectBDD.php', function(data) {
  		$('#docpdf').html(data);
	});
( ce script n'établit actuellement pas de connexion entre la page d'affichage des données et le script de connexion à la BDD)

j'ai sans doute du mal a vous expliquer mon probleme cependant c'est vous même qui m'avez proposez d'utiliser serialize sur #selector (qui est un td).

ensuite pour cette proposition:
verifies les données reçues sur ta page php au moyen d'un

comme je l'ai au tout début de ce sujet, mon problème est le suivant:

je cherche à récupérer les données d'une base de données avec ajax (jquery) et les afficher dans un "div" contenu dans un "table- tr- td"

var_dump($_POST) ne sert a rien ici puisque je veux récupérer des données de la bdd et non d'un champ d'un formulaire.

Normalement le probleme devrait ce situé dans le code ajax, car sans ajax mon script php(connexion à la BDD et recuperation des données) recupere bien l'ensemble des documents stocké dans la BDD.

Je ne sais plus ou donner de la tête,
merci de votre patience et de vos explications
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 17h05   #17
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
pour realiser cela tu dois au moyen du post de jquery envoyer les données a ta page php de traitement

pour simplifier:

serialize() de jquery retourne une chaine des données d'un formulaire sous forme de string post avec name et value
que tu recupères donc sur ta page php sous la forme $_POST['name']

ta page php doit ensuite faire la requete dans la tabla au moyen d'une requete concaténée à partir de tes données POST

Ensuite tu boucle sur le resultat poru gnerer avec php le code html dont tu fais un echo.

c'est le string dont tu fais l'echo qui est récupéré dans le data du callback
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 17h25   #18
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
merci, je comprends maintenant "serialize" cependant si j'ai bien lu et compris, cela ne m'est d'aucune utilité pour mon problème puisque serialize recupere les données d'un "form" or, je souhaite récupérer les données d'une base de données mais avec ajax (jquery), si ce script est bon: ????

Code :
1
2
3
$.post('lectBDD.php', function(data) {
  		$('#docpdf').html(data);
	});
j'aimerais savoir comment corriger ces erreurs : (puisque j'en comprends le problème, mais sur tout les forums dont le vôtre ou ce même probleme a eu lieu je ne situe pas mon erreur

Citation:
Notice: Undefined variable: req in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 19
Call Stack
# Time Memory Function Location
1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0

( ! ) Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 19
Call Stack
# Time Memory Function Location
1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0
2 0.0017 367360 mysql_fetch_object ( ) ..\essai-Ajax_mysql.php:19
voici la ligne en question et les fichiers php concerné:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript" src="jquery.js"></script>
<script>
	$(document).ready(function(){
		$.post('lectBDD.php', function(data) {
			$('#docpdf').html(data);
		});
	});
</script>
 
</head>
 
<body>
<?php echo $sql ?>
<?php while($data = mysql_fetch_object($req)){ ?>
	<table cellspacing="0" cellpadding="0" width="100%">
          <tr><td id="selector">
          <div id="docpdf" class="separtdoc"><?php echo htmlentities($data->gdoc); ?> </div> <div id="cadrelogo" class="separtdoc"> <img src="images/bt_pdf.png"/> </div>
          </td></tr>
    </table>
 <?php } ?>
</body>
</html>
pour le code ci-dessus, lorsque l'on recupere des données d'une BDD avec ajax est-il nécessaire d'utiliser ce script ?:
Code :
<?php echo htmlentities($data->gdoc); ?>
et le fichier de connexion à la BDD:

Code :
1
2
3
4
5
6
7
<?php
mysql_connect("localhost","root","");
mysql_select_db("ajout");
$sql = "SELECT * FROM `save` WHERE `theme` LIKE '3'";
$req = mysql_query($sql) or die('erreur de connexion'.mysql_error()); 
mysql_set_charset('utf8'); 
?>
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 19h31   #19
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
Pourquoi deux fichiers ?
je ne vois toujours pas d'include de la connection .

de plus dans ta boucle while je en vois pas l'intére de coller un tabeau pour chaque enregistrement , boucler sur le tr serait de meilleur gout ...

Mais chaque chose en son temps ...
A priori tu n'a pas très bien saisi la portée de chaque langage et leur chronologie :

Considère php comme une machine à écrire du code html /js
php est interprété coté serveur et envoi le code html/js vers le navigateur du client où il est interprété.
Donc une fois chez le client php n'existe plus, mais avant d'arriver chez le client javascript n'existe pas !

Ensuite à la base je ne vis pas pourquoi tu passes par un ajax post dans le ready de ta page ?? Pourquoi ne pas faire la requete directement cote serveur et rediger le code html à mettre dans le div ??

Là ce qui se passe c'est que ton php genère le code de la page et l'envoie vers le client , et comme le code de traitement de l'ajax est sur une autre page ton $sql n'existe pas !
Ce n'est qu'une fois la page chargée coté client qu'il lance le post pour aller rechercher les données sur le serveur ..? quel interet ? pourquoi ne pas recuperer les données avant d'envoyer la page ???

pourquoi retourner su
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 13h39   #20
Invité régulier
 
Inscription : février 2011
Messages : 128
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 128
Points : 9
Points : 9
merci pour vos explications

Donc apparemment le principe d'afficher une page php dans une autre grâce à Ajax (sans rechargement de la page) n'est pas le même que de récupérer des données d'une BDD mysql et de les afficher , est ce vrai ?

je pensais que ce que vous dites précédemment était ce que j'avais fait, mais apparemment ce n'est pas le cas, je vous avoue que j'ai toujours eu besoin d'explication par du concret (et vos explications bien que très interressantes ne m’éclaire pas sur la façon de procèder pour faire ce que je souhaite. (je ne suis pas feignant , mais sur plus d'une 50aine de sujets relatant mon problème je ne vois pas ce qui bug chez moi)

j'espère ne pas vous en demander trop : Pourriez vous me faire une explication schématique et me dire si je suis loin de la solution ou pas , car je veux bien apprendre mais j'ai également un délai de création à respecter,


encore merci pour vos conseils
artenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h20.


 
 
 
 
Partenaires

Hébergement Web