Ajax et requete SQL [Résolu]

Signaler
Messages postés
13
Date d'inscription
samedi 25 octobre 2008
Statut
Membre
Dernière intervention
27 juillet 2010
-
Messages postés
13
Date d'inscription
samedi 25 octobre 2008
Statut
Membre
Dernière intervention
27 juillet 2010
-
Bonjour,
Je me decide de poster mon probleme parce que je tourne en rond depuis un moment deja et je comprend pas d'ou vient le probleme.
Je cherche a faire une requete de type Ajax vers une base de donnee mysql. Pour cela j'ai une page avec un formulaire qui affiche les resultats de la requete (simple requete SELECT *) dans plusieurs text-area. Un script .js qui recupere le nom de table et la cle primaire que l'utilisateur a selectionner via une liste deroulante et une page .php pour ma requete.
La requete SQL se trouve dans des classes qui fonctionne tres bien sur les autres pages du site, la fonction "read" permet d'executer la requete SELECT *. Mon probleme est que ma page .php ne s'execute que si la cle primaire (ici nommee "Id") vaut 1. et le plus troublant c'est que si je laisse un seul "if" je peux mettre n'importe quelle valeur a "Id" cela fonctionne.
En resume, comparaison avec un seul "if" fonctionne et comparaison avec "if" et plusieurs "elseif" fonctionne pas. Meme probleme si je remplace par un switch.

Ci-dessous, respectivement la partie du script concernee et ma page .php
Script :
function Read_Table()
{
var liste = document.getElementById("frm_table");
var num = liste.selectedIndex;
var table = encodeURIComponent(liste.options[num].value);
var text_area = document.getElementById("frm_id");
var index = encodeURIComponent(text_area.value);
var DSLScript = document.createElement("script");

DSLScript.src = "Request_Ajax/request_read.php?Table=" + table + "&Id=" + index ;
DSLScript.type = "text/javascript";
document.body.appendChild(DSLScript);
document.body.removeChild(DSLScript);
}

function Return_Read_Table(oJson)
{
var counter = 0;
var field = Array();
field[0] = document.getElementById("txt_field_01");
field[1] = document.getElementById("txt_field_02");
field[2] = document.getElementById("txt_field_03");
field[3] = document.getElementById("txt_field_04");
field[4] = document.getElementById("frm_staff");

for(json_Item in oJson) {
field[counter].value = Convert_SqlToString(oJson[json_Item][0]);
counter++;
}
}
page .php :
<?php header("Content-type: text/javascript; charset=ISO-8859-1"); ?>

var table = '<?php echo $_GET["Table"]; ?>';
<?php $index = $_GET["Id"]; ?>;
if(table == "NEWS"){
<?php
include("../../Class/News.class.php");
$news = new News;
$news->setId($index);
$news->Read();
echo 'var otable = {
"field_01" : [
"'.$news->getTopic().'"
],
"field_02" : [
"'.$news->getContent().'"
],
"field_03" : [
"0"
],
"field_04" : [
"'.$news->getDate().'"
],
"field_05" : [
"'.$news->getStaff().'"
]
};';
?>
Return_Read_Table(otable);
}
else if(table == "STAFF"){
<?php
include("../../Class/Staff.class.php");
$member = new Staff;
$member->setId($index);
$member->Read();
echo 'var otable = {
"field_01" : [
"'.$member->getName().'"
],
"field_02" : [
"'.$member->getContent().'"
],
"field_03" : [
"'.$member->getFunct().'"
],
"field_04" : [
"'.$member->getPicture().'"
],
"field_05" : [
"1"
]
};';
?>
Return_Read_Table(otable);
}
Merci beaucoup

1 réponse

Messages postés
13
Date d'inscription
samedi 25 octobre 2008
Statut
Membre
Dernière intervention
27 juillet 2010

Solution trouvee.

J'ai mis toutes mes variables et mes "if" entre balises php et ca fonctionne, mais je comprend toujours pas pourquoi.