Les Allergies
Alimentaires
Posez votre question Signaler

Execution requette sql/ajax [Résolu]

fhav 252Messages postés 11 mars 2009Date d'inscription - Dernière réponse le 28 juil. 2009 à 10:28
Bonjour,
J'ai un problème avec l'ajax , dès que je fais une requette dans le fichier ajax/ajax.php, ça se n'execute pas... par contre je recupère tous ce qui est HTML .
Personne a une idée pourquoi la requette ne s'execute pas?
Je peu vous montrer mon code ...
MErci beaucoup
Lire la suite 

Execution requette sql/ajax »

7 réponses
Réponse
+2
moins plus
tu n'as pas de connection à ta base de données
Ajouter un commentaire
Réponse
+2
moins plus
<?php
$id_commande= $_GET['commande'];
//tu recuperes une valeur de variable $id_commande 
//et ci dessous tu utilises une autre variable $total pour faire ta requette
//je ne vois nulle part avant

//de plus tu n'as pas comme dis "resalut" de connexion à la base
//ensuite je suppose que tu as bien mis les tags <?php

?>

$recup_commande=mysql_query("SELECT * FROM commande_table WHERE commande_table.total=".$total);
$commande= mysql_fetch_array($recup_commande);
$ttc= $commande[4]/ + $commande['prix']; 


ensuite tu as une erreur la:

onclik => onclick

<input type="button" name="commander" value="chercher" onClick="chercher_commande()" class="bouton"/>



et la plus grosse erreur tu mets ta requette ajax en POST:

xhr.open("POST",'ajax/commande.php?commande='+cde,true);


et dans ton sript tu recupres en GET
$id_commande= $_GET['commande'];

mets:

xhr.open("GET",'ajax/commande.php,true);


le send ligne du dessous fera le reste
Ajouter un commentaire
Réponse
+1
moins plus
bah vas y montre
Ajouter un commentaire
Réponse
+1
moins plus
voila mon fichier ajax commande.php
**************************************************************************

Code : PHP
$id_commande= $_GET['commande'];

$recup_commande=mysql_query("SELECT * FROM commande_table WHERE commande_table.total=".$total);
$commande= mysql_fetch_array($recup_commande);
$ttc= $commande[4]/ + $commande['prix'];



Code : HTML
<tr>ici jaffiche mon tableau </tr>


****************************************************************
passant mainteanant l'appel du fichier commande.php (javascript)


function getXhr()
{
if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
else if(window.ActiveXObject)
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else
{
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest, veuillez le mettre à jour");
xhr = false;
}
}


function chercher_commande()
{
getXhr();

{
if(xhr.readyState == 4 && xhr.status == 200)
{
document.getElementById('search').innerHTML = xhr.responseText;
}
}
var cde = document.getElementById('nom_commande').value;



xhr.open("POST",'ajax/commande.php?commande='+cde,true);
xhr.send("commande="+cde);

}


******* partie html ***************************
<tr >

<td colspan="4"> </td>
<td align="right"><input type="button" name="commander" value="chercher" onclik="chercher_commande()" class="bouton"/></td>
</tr>



L'erreur générée est :

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.144/monsite/www/pages/ajax/search_commande.php on line 6

Merci beaucoup
Ajouter un commentaire
Réponse
+1
moins plus
je sais mais pourquoi donc? dans le fichier qui appel l'ajax, je me connecte ;, si je met la requette dans ce fichier, elle s'execute normalement

... est ce que l'ajax bloque cette execution ???

L'idée est que l'ajax est juste une téchnique, mais ça veux dire que je suis toujours dans le même fichier qui fait l'appel?


Merci
Ajouter un commentaire
Réponse
+0
moins plus
ta page est externe a ta page qui envoi la requete donc elle doit avoir une connexion "independante"
Ajouter un commentaire
Réponse
+0
moins plus
c'est axactement ça, merci beaucoup
Ajouter un commentaire
Ce document intitulé « execution requette sql/ajax » 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
Passage au tout numérique : quel coût pour les particuliers ?