Mysql
 sql >> Database >  >> RDS >> Mysql

Crea array per PDO dalle variabili passate da jquery

Non sono sicuro di aver risolto il tuo problema nel modo corretto, ma puoi provare (o commentare se ho capito male).

Sostituisci questo frammento:

$stmt = $dbh->prepare("SELECT COUNT(guid) FROM full_db2 WHERE {$firstpara} = :{$firstpara} AND {$secondpara} = :{$secondpara} AND {$thirdpara} = :{$thirdpara}");

$stmt->execute($data);

con questo:

$validKeys = array('gender','maritalstatus', 'age');
    $sql = 'SELECT COUNT(guid) FROM full_db2';
    $any_condition = false;
    foreach($_GET as $key=>$val) {
       if (!empty($val) && in_array($key,$validKeys)) {
         if ($any_condition) {
           $sql .= ' AND '.$key.' = :'.$key;
         } else {
           $sql .= ' WHERE '.$key.' = :'.$key;
           $any_condition = true;
         }
       }
    }

    $stmt = $dbh->prepare($sql);

    foreach($_GET as $key=>$val) {

   if (!empty($val)  && in_array($key,$validKeys)) {
     $stmt ->bindValue(':'.$key, $val, PDO::PARAM_STR);
   }
}

$stmt->execute();

per la tua richiesta ajax leggi qui:Invia un modulo usando jQuery

nella tua richiesta ajax cambia il formato della riga da:data: {firstpara: para1, secondpara: para2 ,thirdpara: para3}

adata: {age: para1, maritalstatus: para2 ,gender: para3},