Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erstellen Sie ein Array für PDO aus Variablen, die von jquery übergeben werden

Ich bin mir nicht sicher, ob ich Ihr Problem richtig verstanden habe, aber Sie können es versuchen (oder kommentieren, wenn ich es falsch verstanden habe).

Ersetzen Sie dieses Fragment:

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

$stmt->execute($data);

damit:

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

Für Ihre Ajax-Anfrage lesen Sie einfach hier:Senden Sie ein Formular mit jQuery

Ändern Sie in Ihrer Ajax-Anfrage das Zeilenformat von:data: {firstpara: para1, secondpara: para2 ,thirdpara: para3}

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