Ajax et requete SQL

Résolu
VisualBoy Messages postés 13 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 27 juillet 2010 - 26 juil. 2010 à 17:16
VisualBoy Messages postés 13 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 27 juillet 2010 - 27 juil. 2010 à 11:17
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

VisualBoy Messages postés 13 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 27 juillet 2010
27 juil. 2010 à 11:17
Solution trouvee.

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