J'envoie des données via AJAX à un fichier PHP. C'est à propos des options de filtrage. Quoi qu'il en soit, je l'envoie comme ceci:Problème de tableau PHP
filter[0][data][type] string
filter[0][data][value] automobiles
filter[0][field] product
filter[1][data][type] numeric
filter[1][data][value] 6000
filter[1][field] price
Ce qui précède est tiré de la console FireBug. Puis, en PHP:
$filter = $_POST['filter'.$i];
if (is_array($filter)) {
for ($i=0;$i<count($filter);$i++){
switch($filter[$i]['data']['type']){
case 'string' :
// I'm doing my select from database based on that and so on
Ainsi, la traduction de ce serait: « Retrouve moi tous les enregistrements de base de données qui sont: hmm, nous allons vérifier les filtres ... Je reçois le premier type de filtre sorcière est "chaîne" sorcière doit être appliquée à la colonne mysql nommé "produit" ... Donc je cherche la valeur de "automobiles" là ... Mais je ne suis pas encore fini, le deuxième filtre fait référence à un filtre numérique pour la colonne "price" de la base de données, donc je prends sa valeur et je l'ajoute à la requête, donc je vais finir par sélectionner toutes les automobiles qui ont un prix supérieur à 6000.
Jusqu'ici tout va bien. s que ma façon d'obtenir des données a changé et je ne peux plus envoyer mes données dans ce format. Le nouveau format est une sorcière URL ressemble à ceci:
filter[0][field]=prodct&filter[0][data][type]=string&filter[0][data][value]=automobiles&filter[1][field]=price&filter[1][data][type]=numeric&filter[1][data][value]=6000
je peux faire une exploser sur celui-ci par le « & » et se retrouver avec un tableau ... Je peux faire beaucoup ... Le problème est que je ne sais pas comment ajuster mon script de construction de requête pour travailler avec ce genre de données reçues .. Alors que je peux faire un "switch ($ filtre [$ i] ['données'] ['type']) {"again ...
Des idées pour modifier le code?
Merci!
Pourquoi envoyez-vous les données à la script ajax dans l'url? Ne pourriez-vous pas publier les données et contourner entièrement l'étape? – willoller