[RESOLU] problème php/ajax/js/Jquery

Petit nouveau ! | 3 Messages

17 févr. 2014, 20:52

Bonjour,

Je débute en php et j'ai passé tout le WE sur le problème suivant:

Le programme clients.js :

function ajax_get_clients ()
{
$.ajax ({ url : "get_clients.php",
complete : function (xhr)
{ var response = xhr.responseXML; ...

LE PROBLEME C'EST QUE response N'A PAS DE VALEUR;

get_clients.php se présente comme suit :

<?
$bd = mysql_connect ("localhost", "root", "") or die("erreur de connexion au serveur");
$ret = mysql_select_db ("test", $bd) or die("erreur de connexion a la base de donnees");

$query = "SELECT * FROM clients";
$result = mysql_query($query);

if ($result)
{
header ("content-type:text/xml"); //envoi XML
echo("<clients>");
while ($row = mysql_fetch_assoc($result))
{
echo ("<client>");
echo ("<id>" . $row["id"] . "</id>");
echo ("<nom>" . utf8_encode ($row["nom"]) . "</nom>");
echo ("<prenom>" . utf8_encode ($row["prenom"]) . "</prenom>");
echo ("<telephone>" . utf8_encode ($row["telephone"]) . "</telephone>");
echo ("<client>");
}
echo ("</clients>");
mysql_free_result($result);
}
mysql_close ($bd);
?>

Voilà. Le fichier clients n'est pas vide; déjà comment savoir si l'on est bien connecté via phpmyadmin à la base de données ?
Merci à tous par avance pour votre aide.

Eléphant du PHP | 77 Messages

17 févr. 2014, 22:32

Bonsoir,

Mettez votre fonction js en totalité

parce que déjà vous mettez votre fichier PHP en sortie echo alors que côté JS vous attendez un XML
Développeur PHP/Javascript/HTML

Mes sites perso :
construire une piscine => http://www.construire-sa-piscine.com
Le cadre végétal => http://www.cadre-vegetal.org

Invité
Invité n'ayant pas de compte PHPfrance

17 févr. 2014, 23:57

J'ai réussi à avancer un tout petit peu.

dans get_clients.php j'ai mis en commentaire :
// mysql_free_result ($result);
//mysql_close ($bd);

Et dans clients.js :
function ajax_get_clients ()
{
$.ajax ({
url : "get_clients.php",
complete : function (xhr)
{
console.log(xhr); //log into console for debug purpuses !!!!!!!!!
var $response = xhr.responseXML; // variable toujours à blanc !!!!!!!

log=readyState: 4
responseText: "<clients><client><id>2</id><nom>introduit via phpmyAdmin</nom><prenom>testrprenom</prenom><telephone>0231896532</telephone><client></clients>"
--> ok 1 enregistrement dans la table clients.

Petit nouveau ! | 3 Messages

18 févr. 2014, 00:20

C'est résolu :
solutions =
// mysql_close ($bd); en comentaire et
echo ("</client>"); (il manquait un "/")

Petit nouveau ! | 3 Messages

18 févr. 2014, 00:22

merci à franckm!