web-dev-qa-db-fra.com

Impossible d'obtenir le résultat de SQL en utilisant un résultat ajax

J'utilise un formulaire AJAX pour fournir au code quelque chose à rechercher dans la base de données. Table séparée, pas WP options.

J'obtiens le résultat d'AJAX, mais lorsque j'essaie de faire le SQL, il ne fait que renvoyer 0.

C'est la fonction:

   function myajax_inputtitleSubmit_func() {
    // check nonce
    $nonce = $_POST['nextNonce'];   
    if ( ! wp_verify_nonce( $nonce, 'myajax-next-nonce' ) )
        die ( 'Busted!');

    $zipcode = $_POST['Zip'];
    // generate the response
    global $wpdb;
    $tablename  = "{$wpdb->prefix}levering";

    $sql    = "SELECT Levering FROM {$tablename} WHERE Zip LIKE %s";
    $result = $wpdb->get_var($wpdb->prepare($sql, $zipcode));
    return $result;
    while($row = mysql_fetch_array($result)) { 
        $response = $row['Levering'];
        }

    // response output
    header( "Content-Type: application/json" );
    echo $response;
    die();
    // IMPORTANT: don't forget to "exit"
    exit;
}
1

J'ai apporté des modifications à votre code. Voyons maintenant si cela fonctionne -

function myajax_inputtitleSubmit_func() {
    // check nonce
    $nonce = $_POST['nextNonce'];   
    if ( ! wp_verify_nonce( $nonce, 'myajax-next-nonce' ) )
        die ( 'Busted!');

    $zipcode = $_POST['Zip'];
    // generate the response
    global $wpdb;
    $tablename  = "{$wpdb->prefix}levering";

    $sql    = "SELECT Levering FROM {$tablename} WHERE Zip LIKE %s";
    $result = $wpdb->get_col($wpdb->prepare($sql, $zipcode));

    $response = array();

    foreach($result as $res){
        $response[] = $res;
    }
    // response output
    echo json_encode($response);
    die();
    // IMPORTANT: don't forget to "exit"
    exit;
}
1
WisdmLabs