0
        <script type="text/javascript">  
            $(function() {
$('#jo').flexbox({  
        "results": [  
            { "id": "1", "name": "002155" },  
            { "id": "2", "name": "002155" },
            { "id": "3", "name": "asdasdasd" }
        ]}, 
    {  
showArrow: false  
});
            });  
        </script>

上部のこのコードは、フレックスボックスによって提案されるレコードです。たとえば、タイプ00の場合、002155と002155の2つの提案がありますが、問題は、提案された単語が静的であるという結果です。このサイトからのコードを読みました。それらはデータベースとして使用するためにphpページをリンクします。これがサンプルです...

$("#suggest").flexbox('back/search.php', {

上記のこのコードは次のものです:jquery flexbox?私は、提案という言葉の結果としてmysqlを使用できるようにするためのいくつかの代替案を作成しようとしています。

        <script type="text/javascript">  
            $(function() {
$('#jo').flexbox({  
        "results": [  
    <?php
        $con = mysql_connect("localhost","root","");

        mysql_select_db("accom");
        $query = mysql_query("select * from myproject");
            while($i = mysql_fetch_array($query))
            {
                $ii++;
                print"{ id : ".$ii.", name: ".$i[per_name]." },";       
            }
    ?>
        ]}, 
    {  
showArrow: false  
});
            });  
        </script>

しかし、それは機能しません;-(、助けてください、単語の提案のソースがSQLクエリから来ているようにするために、みんなありがとう。

ちなみにここが私のテーブルです

myproject
per_id(int 100)auto_increment
per_name(varchar 100)
4

2 に答える 2

0

生成されたjsonは無効です。

実際、パラメーターには2番目のパラメーターが含まれず(オブジェクトを「}」で閉じるため)、名前の値は文字列であるため、おそらく引用符を追加する必要があります。

    <script type="text/javascript">  
        $(function() {
            $('#jo').flexbox({  
                "results": [  
                    <?php
                        $con = mysql_connect("localhost","root","");
                        mysql_select_db("accom");
                        $query = mysql_query("select * from myproject");
                        while($i = mysql_fetch_array($query))
                        {
                            $ii++;
                            print"{ id : ".$ii.", name: '".$i[per_name]."' },";       
                        }
                    ?>
                ], 
                showArrow: false  
             });
        });  
        </script>

名前に引用符が含まれている場合は、名前の値をスペースで区切る必要があることに注意してください。

于 2013-02-09T02:18:28.370 に答える
0

ベストプラクティスは、php呼び出しを行うことです。jsonは必要なデータを取得してからロードします。

<script type="text/javascript">  
$(function() {
$.getJSON("search.php", function(data){
    $('#jo').flexbox({  
        "results": data, 
        showArrow: false  
    });
}); 
});  
</script>

次に、search.phpで次のことを行います。

$con = mysql_connect("localhost","root","");
mysql_select_db("accom");
$query = mysql_query("select * from myproject");
$data = array();
while($i = mysql_fetch_array($query))
{
    $data[] = array('id' => $ii, 'name' => $i[per_name])       
}
echo json_encode($data); die();

したがって、ページの読み込みが完了すると、php検索関数が呼び出され、json形式でデータが取得され、フレックスボックスに割り当てるだけです。

于 2013-02-11T14:44:24.513 に答える