2

これが私が持っているものです。jquery に mysql クエリを実行させようとしています。

これは私のPHPです:

<select name="kingdom" id="kingdom" >
    <option value="standard">-- Kingdom --</option>
        <?php
            $the_d = $_POST['d'];
            $filter = mysql_query("SELECT DISTINCT sci_kingdom FROM tbl_lifedata WHERE sci_domain = '$the_d'");
                while($row = mysql_fetch_array($filter, MYSQL_NUM))
                    {
                        $row['name'];
                        //echo "<option value='$row[0]'>$row[0]</option>";
                    }
        ?>
</select>

そして私のjQuery:

$('#domain').change(function () {

    var selectval = $('#domain').val();

    $.post("search.php", {
        d: selectval
    }, function (data) {
        $('.result').html(data);
    });
});

今のところ、jQuery に mysql の結果の値を吐き出させたいと思っています。それが機能したら、選択ボックスに入力することができます。私が今得ているのは、search.php の html ですが、mysql クエリとは関係ありません。

4

1 に答える 1

2

DBから取得しているものを実際に印刷する必要があります。

<select name="kingdom" id="kingdom" >
                <option value="standard">-- Kingdom --</option>
                <?php 
                $the_d = mysql_real_escape_string($_POST['d']);//thanks to @Mansfield
                $filter = mysql_query("SELECT DISTINCT sci_kingdom FROM tbl_lifedata WHERE sci_domain = '".$the_d."'");
                while($row = mysql_fetch_array($filter, MYSQL_NUM))
                {
                    echo "<option value='$row[0]'>$row[0]</option>";

                }

                ?>
            </select>


 //or you can also use mysql_fetch_array($filter, MYSQL_ASSOC) if you want to print $row['name']

更新された回答:

<script src="jquery.min.js"></script>
<input type='text' class="domain" id="domain"/>
<div class="result" id="result"></div>
<script>
$('#domain').change(function() {

            var selectval = $('#domain').val();

            $.post(
                "test.php", 
                { d : selectval },
                function(data) {
                    $('.result').html(data);//my bad should be displaying data retrenched
                }
                );
});
</script>

///test.php contents:

<?php
print $the_d = mysql_real_escape_string($_POST['d']);// see if the scripts are working fine until here, if so, then see below.
//test your mysql result by doing a print_r($row.)    
?>

print_r($row); の結果を投稿します。

于 2012-06-21T01:36:36.700 に答える