Come far passare un valore attraverso il metodo POST utiliazzando PHP a jQuery

Garaux

Utente Attivo
24 Feb 2013
50
0
0
Ciao, ho una domanda da farvi a cui non riesco a dare una risposta.
Premetto di conoscere pochissimo jQuery.
Vi spiego il problema.
Cliccando attraverso il link sottostante

HTML:
<div id='basic-modal'>
<a href="?id=<?php echo $row['id']?>"  data-mydata="<?php echo $row['id']?>" class='basic'>Show</a>
</div>
Genero dinamicamente tutti gli id degli utenti presenti in una tabella del database il cui risultato viene mostrato in un pop up modale attraverso questo script:

HTML:
<script>
jQuery(function ($) {
$('#basic-modal .basic').click(function (e) {
$('#basic-modal-content').text($(this).data('mydata')).modal();
return false;
});
});
</script>
Ora arriva la domanda. Il valore catturato vorrei ora passarlo in un file denominato test.php in cui elaborare una SELECT MySQL per poi presentare il risultato nel pop up modale.

Lo script che uso è questo:

HTML:
<script>
$('#basic-modal .basic').click(function (e) {
$('#basic-modal-content').modal();
var id= data('mydata');

$.post("test.php",{ name:id},function(ajaxresult){
$("#basic-modal-content").html(ajaxresult);
return false;
});
});
</script>
Ovviamente non funziona.
Qualcuno saprebbe dirmi come procedere?

Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Questo è un'altro discorso.
Il problema principale è che non puoi creare più di un div con lo stesso identificativo.
Ti ho leggermente modificato il codice che ti avevo postato e ti ho preparato un esempio online
Ti occorono due pagine:
la prima con la lista e le funzioni jquery
HTML:
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Dinamic Dialog</title>
        <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
        <script src="//code.jquery.com/jquery-1.10.2.js"></script>
        <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
        <script>
            $(document).ready(function() {
                $(".basic").click(function(event) {
                    event.preventDefault();
                    $("#dialog").load('ricerca.php?id=' + $(this).attr("id"), function() {
                        $("#dialog").dialog();
                    });

                });
            });
        </script>
    </head>
    <body>
        <div id="dialog" title="Basic dialog"></div>
        <?php
        $array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
        foreach ($array as $value) {
            echo "<p><a class='basic' id='$value' href='#'>Mostra $value</a></p>";
        }
        ?>
    </body>
</html>
nella seconda, ricerca.php, farai la query nel tuo database usando l'id scelto dalla lista
PHP:
<?php

$id = (int) $_REQUEST['id'];

if ($id > 0) {
    $query = "SELECT * FROM utenti WHERE id = $id";
    echo $query;
} else {
    echo "Errore:  parametro non valido";
}
?>
 

Garaux

Utente Attivo
24 Feb 2013
50
0
0
Ciao Ciric,
Grazie mille della delucidazione. Ora è tutto chiaro e funziona come da me desiderato.