Ben bir PHP dosyası ile AJAX üzerinden bazı verileri yolluyorum. Bu filtre seçenekleri hakkında. Neyse, ben bu gibi yolluyorum:
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
Bu, yukarıda FireBug konsoldan alınır. Sonra, 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
So, the translation of this would be: "Get me all the records from database that are: hmm, let's check the filters... I'm getting the first filter type witch is "string" witch needs to be applied to the mysql column named "product"...So I'm searching for the value of "automobiles" there...But I'm not finished yet, the second filter refers to a numeric filter for the column "price" from database. so I'm taking its value and add it to the query. So I'll end up selecting all the automobiles that have a price greater than 6000.
Şimdiye kadar iyi. Sorun veri alma şeklim değişti ve ben artık bu formatta benim veri göndermek değil ki. Yeni format, bir URL cadı bu gibi görünüyor:
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
Ben bir "&" tarafından bu bir patlayabilir yapabilirsiniz ve bir dizi ile sonuna kadar ... Ben bir çok şey yapabilir ... sorun ben yapabilirim Yani .. alınan verilerin bu tür ile çalışmak benim sorgu bina komut ayarlamak nasıl bilmiyorum ki bir " switch ($ filtre [$ i] ['veri'] ['type']) {"yeniden ...
Kodunu değiştirmek için herhangi bir fikir?
Teşekkür ederiz!