-1
votes

Changer la variable PHP sur Sélectionner le changement à l'aide de Ajax et utilisez-la dans la requête SQL

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 xxx

Ma requête Ajax à un fichier PHP qui a la requête SQL xxx

puis dans mon fichier php, j'ai essayé ceci < / p> xxx

et cette xxx

L'alerte apparaît la valeur correcte, mais ce n'est pas la mise à jour de la variable dans le fichier PHP?


11 commentaires

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 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); 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


3 Réponses :


-1
votes

Veuillez essayer ci-dessous le code pour obtenir la valeur du paramètre xxx pré>

dans votre code PHP Utilisez P>

$selectedValue = $_POST['selected'];


3 commentaires

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 .



1
votes

première chose: strong>

au lieu d'écrire: p>

var selectvalue = $ (# Sélectionnez l'option: sélectionné '). Val (); Code> p>

Vous pouvez simplement utiliser: p>

var selectvalue = $ ('# Sélectionnez'). Val (); Code> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P>

Deuxième chose: strong> 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 SelectValue code> a déjà été défini, vous ne l'écrasez jamais. P>

Vous voudrez vous déplacer où vous définissez la valeur de la variable sur les éléments suivants: P>

$query = "SELECT * FROM customers WHERE delivered='$selectedValue'";


7 commentaires

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); 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 .



-1
votes

<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'";
}

?>


1 commentaires

Qu'est-ce que cela fait? Pourquoi / comment répond-il à la question? Veuillez lire sur Comment répondre .