J'essaie d'envoyer la valeur d'une valeur de sélection à un fichier PHP à l'aide d'Ajax, puis d'utiliser dans une requête SQL, mais je ne peux pas sembler le faire fonctionner.
Mes options de sélection p > Ma requête Ajax à un fichier PHP qui a la requête SQL P> puis dans mon fichier php, j'ai essayé ceci < / p> et cette p> L'alerte apparaît la valeur correcte, mais ce n'est pas la mise à jour de la variable dans le fichier PHP? p> p>
3 Réponses :
Veuillez essayer ci-dessous le code pour obtenir la valeur du paramètre dans votre code PHP Utilisez P> $selectedValue = $_POST['selected'];
Quand je fais cela, je reçois l'alerte de la valeur, mais une autre alerte disant "[objet xmldocument]"
Veuillez utiliser une alerte ($ (ceci) .val ()); Pour la deuxième alerte, utilisez Console.log (données)
Quel était le problème? Pourquoi OP devrait-il essayer ce code? Veuillez lire sur Comment répondre .
au lieu d'écrire: p> Vous pouvez simplement utiliser: p> Vous avez défini la valeur de la sélection de votre fonction, de sorte que lorsque votre auditeur pour "Changer" fonctionne, la valeur de Vous voudrez vous déplacer où vous définissez la valeur de la variable sur les éléments suivants: P> var selectvalue = $ (# Sélectionnez l'option: sélectionné '). Val (); Code> p>
var selectvalue = $ ('# Sélectionnez'). Val (); Code> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P>
SelectValue code> a déjà été défini, vous ne l'écrasez jamais. P>
$query = "SELECT * FROM customers WHERE delivered='$selectedValue'";
Je n'ai pas bownvoché, mais je peux voir pourquoi quelqu'un a. Toutes les réponses (sauf @marmikpatels) ne résolvent pas toutes les problèmes du code.
J'ai apporté les modifications à tout ce qui précède, mais ma variable dans mon fichier PHP n'est toujours pas mise à jour?
Pouvez-vous élaborer, si vous var_dump ($ selectedValue); code> est-ce indiquant la valeur correcte?
@Karkoverton je reçois null si je fais Var_Dump ($ selecteylvalue);
Cela pourrait être plus facile si vous pouvez mettre à jour votre question avec votre nouveau code afin que je puisse essayer de vous entraîner pourquoi cela ne fonctionne toujours pas.
@Karkoverton j'ai mis à jour mon code dans le message initial
Laissez-nous Continuez cette discussion en chat .
<select id="select"> <option value="yes">Yes</option> <option value="no">No</option> <option value="1">1</option> <option value="2">2</option> </select> <?PHP // phpsqlajax_genxml3_state.php Page if(isset($_POST["selected"])) { $selectedValue = $_POST['selected']; $query = "SELECT * FROM customers WHERE delivered='$selectedValue'"; } ?>
Qu'est-ce que cela fait? Pourquoi / comment répond-il à la question? Veuillez lire sur Comment répondre .
Dans Ajax, vous appelez le nom de la variable de données "Sélectionné", mais dans PHP, vous vous référez à "SelectValue". Essayez de changer cela.
Cette ligne var selectvalue = $ (option # sélectionne: sélectionné '). Val (); Doit être dans la fonction, pour obtenir la valeur lorsque vous modifiez la sélection.
var selectvalue = $ ('# sélectionnez l'option: sélectionné'). Val (); , Ce code vous donnera toujours la première valeur de liste déroulante même si vous modifiez que vous passez la même valeur sélectionnée, car il s'agit de la fonction DocumReady. S'il vous plaît changer sélectionnée: SelectValue à "sélectionné: this.value". Deuxièmement, dans PHP, le nom de la variable que vous avez utilisé est incorrect, utilisez "$ selectedvalue = $ _post [" sélectionné "];
En supposant que votre PHP est en cours d'exécution de
phpsqlajax_genxml3_state.php code> et ce fichier est réellement couru, je ne vois pas pourquoi cela ne fonctionnerait pas.
Quand je fais $ selectevalue = $ _post ["sélectionné"]; $ Query = "Sélectionnez * à partir de clients où livré = '$ SelecteyValue'"; La requête fonctionne, mais pas quand je fais $ sélectionnvalue = $ _post ["sélectionné"]; $ Query = "Sélectionnez * à partir de clients où livré = '$ SelecteyValue'";
Ces deux bits de code sont exactement les mêmes - les deux doivent fonctionner ou non plus, avez-vous collé le mauvais code?
Ah Désolé, ce que je voulais dire, c'est quand je fais $ SelectValue = "oui"; $ Query = "Sélectionnez * à partir de clients où livré = '$ SelecteyValue'"; La requête fonctionne, mais pas quand je fais $ sélectionnvalue = $ _post ["sélectionné"]; $ Query = "Sélectionnez * à partir de clients où livré = '$ SelecteyValue'";
Essayez de faire
var_dump ($ _ post); code> et voir ce que cela revient
@MarkOverton I Obtenir ce 'Array (0) {}'
Il y aura un problème dans le JavaScript lorsque vous envoyez la demande Ajax, je ne peux pas voir ce que c'est cependant, utilisez-vous Google Chrome?
Je reçois cet inconvénient TypeError: impossible de lire la propriété 'Documentaement' de NULL à scripts.js: 75 à xmlhttprequest.request.onreadyStatechange (scripts.js: 140) dans Dev Outils