[Résolu]UDT : Ajax + requête SQL - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html) +--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html) +--- Sujet : [Résolu]UDT : Ajax + requête SQL (/thread-2058.html) |
[Résolu]UDT : Ajax + requête SQL - Celtic MAn - 21/06/2012 Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~ Bonjour, je souhaite mettre en place un système d'affichage "dynamique" pour mes données stocker dans ma BDD. Je souhaite donc faire l'affichage dans la même page. Je suis parti de cet exemple : http://www.w3schools.com/php/php_ajax_database.asp Code : [== PHP ==] Ma liste de nom d'entreprise s'affiche bien, mon fichier getuser.php : Code : [== PHP ==] Mais hélas ça ne fonctionne pas, il n'a pas l'air de récupérer ma variable. Pensez vous déjà que c'est possible et si oui avez vous une idée Merci [Résolu]UDT : Ajax + requête SQL - bess - 21/06/2012 1er point : Pourquoi utiliser cmsmadesimple si tu place ton code PHP dans des fichiers pas sécurisés, que dalle ? Citation :xmlhttp.open("GET","./uploads/getuser.php?q="+str,true); Transforme moi vite ca en une UDT dans une page avec une URL précise : Citation :xmlhttp.open("GET","{/literal}{root_url}{literal}"/index.php?page=truc&q="+str,true); 2eme point : J'ai quand même l'impression que tu aimes faire compliqué quand c'est faisable simplement toi... JQuery.get : http://api.jquery.com/jQuery.get/ Connexion Bdd : http://www.cmsmadesimple.fr/blog/16/15/Requeter-facilement-la-bdd-de-cmsmadesimple#main 3eme point : astuce gratuite du jour : Citation :{/literal}{root_url}{literal}"/index.php?page=truc&q="+str amènera vers une page avec le contenu de l'UDT mais également avec tout le template, ce que tu ne recherches pas. Pour cela tu ajoutes un paramètre spécial cmsmadesimple Citation :&showtemplate=false ce qui donne Citation :{/literal}{root_url}{literal}"/index.php?page=truc&showtemplate=false&q="+str [Résolu]UDT : Ajax + requête SQL - Celtic MAn - 21/06/2012 Merci pour tes astuces, donc maintenant j'ai deux UDT différentes, une vueArchive et une requeteArchive. Du coup maintenant j'ai cette ligne : xmlhttp.open("GET","{/literal}{root_url}{literal}"/index.php?page=archive&showtemplate=false&q="+str); Avec ma page archive qui contient ma balise requeteArchive, c'est bien ça ? [Résolu]UDT : Ajax + requête SQL - bess - 21/06/2012 oui. A ceci près que Jquery te réduirait ton code JS avec un ratio 1:10 facile mais oui [Résolu]UDT : Ajax + requête SQL - Celtic MAn - 22/06/2012 Donc techniquement je peux aussi faire : Code : [== PHP ==] Pour traiter mon formulaire ? [Résolu]UDT : Ajax + requête SQL - bess - 22/06/2012 si tu fais un echo de code contenant du smarty il te faudra forcer le parcing smarty, sinon le code HTML généré sera simplement Code : <form name="frm" action="{literal}{root_url}{/literal}"/index.php?page=archive2&showtemplate=false&q=maChaine)> Au passage je te corrige : Citation :echo '<form name="frm" action="{literal}{root_url}{/literal}/index.php?page=archive2&showtemplate=false&q='.$str.'">'; Fais gaffe aux appostrophe/guillemet et utilisation de tes variables. Bref je te parlais de forcer le parsing Smarty. La méthode est la suivante, à coller en bas de ton UDT qui produit le code HTML/Smarty Code : $HTML = '<form name="frm" action="{literal}{root_url}{/literal}/index.php?page=archive2&showtemplate=false&q='.$str.'">'; En utilisant intelligemment la syntaxe heredoc tu t'épargnes les soucis d'ouverture/fermeture de guillemets Code : $HTML = <<<EOT [Résolu]UDT : Ajax + requête SQL - Celtic MAn - 22/06/2012 Donc maintenant j'ai : Code : [== PHP ==] Mais quand je clique sur envoyer, la nouvelle page ne se charge pas :/ ... [Résolu]UDT : Ajax + requête SQL - bess - 22/06/2012 refais la proprement : I - pourquoi j'ai l'impression qu'il me manque un bout de ton code : $liste_client = $bdd->query('SELECT DISTINCT nom_entreprise FROM espacewcln ORDER BY nom_entreprise'); d’où vient $bdd ? tu as lu mon article sur Comment bien requêter une base de donnée sur cmsms ? reprend plutôt mon code. II - pourquoi jongler entre syntaxe heredoc et une autre syntaxe ? toujours le plaisir de complexifier ton code j'ai l'impression Code : $HTML = <<<EOT Ce n'est pas le seul endroit ou tu peux/dois faire ce genre d'optimisation. III - comment peux tu imaginer qu'en jonglant entre une variable $HTML et des écho tu arrive à compiler ton code HTML/smarty en entier ???? Tu vas trop vite sans chercher à comprendre le code que je te file, documente toi en php parce que je vais pas faire ton UDT à ta place. Je peux te montrer la voie à suivre mais je suis pas taxis. Allez hop au boulot [Résolu]UDT : Ajax + requête SQL - Celtic MAn - 22/06/2012 I. Pour ma variable BDD, j'ai mes initialisions de connexion plus haut, juste que j'ai sélectionné la partie de code qui me pose problème II. Effectivement j'ai été un peu trop vite, j'ai pas assez analysé ton code. Code : [== PHP ==] J'ai changé ma méthode en passant pas POST, je suppose que ça ne prose pas de soucis et ça évite de passé la variable dans l'url. J'ai aussi enlevé les balises {literal} vu que je "passe" par du HTML à cette endroit. [Résolu]UDT : Ajax + requête SQL - bess - 22/06/2012 Du coup je peux clôturer ? |