0

だから、私は変換できないかなり悪いデータベースを手に入れました。

文字列は、180、2345、123、5643、23534 のような 5 つの数字です。

これらの数字を(何らかの形で爆発させる必要があります)次のような選択オプションに入れる必要があります:

<select name="hotel" id="hotel" class="fieldbackend">
<option value="403">403</option>
<option value="880">880</option>
<option value="983">983</option>
<option value="648">648</option>
</select>

現在、私はこの結果を得ました:

<select name="hotel" id="hotel" class="fieldbackend">
<option value="undefined">undefined</option>
<option value="undefined">undefined</option>
<option value="undefined">undefined</option>
<option value="undefined">undefined</option>
<option value="403,880,983,648">403,880,983,648</option>
</select>

私のソースコードがあります:

<select class="fieldbackend" id="destination" name="destination">
     <option value="">-- Destination --</option>
</select>

<select class="fieldbackend" id="hotel" name="hotel">
     <option value="">-- Hôtel --</option>
</select>

私のJSがあります:

$(function(){
    $('#destination').change(function(){
        $.getJSON('/dev/select2.php', {'destination': $(this).val()}, function(data) {
            var items = '';
            $.each(data, function(key, val) {
                items += '<option value="' + val['deHotels'] + '">' + val['deHotels'] + '</option>';
            });

        $('#hotel').html(items);
        });
    });
})

最後に私のphpコードがあります:

$requete = "SELECT DISTINCT deHotels FROM sirev_Dests WHERE deDestName = '". $_GET['destination'] ."' ORDER BY deDestName";
    $connect = mysql_connect("&&&&&&&&&&&&&&&","&&&&&&&&&&&&&&&","&&&&&&&&&&&&&&&");

    mysql_select_db("&&&&&&&&&&&&&&&", $connect);

    $res = mysql_query($requete) or die(mysql_error());
    while ($row = mysql_fetch_assoc($res, true)) {
        $items = explode(',',$row['deHotels']);
        array_push($items, $row);
    }
die(json_encode($items));

結果の画面があります: http://nsa29.casimages.com/img/2012/06/01/120601072406136633.jpg

英語で申し訳ありませんが、ケベック市出身です。

誰でも私がそれを理解するのを助けることができますか?

4

2 に答える 2

0

これを試して:

while ($row = mysql_fetch_assoc($res, true)) {
  array_push($items, $row['deHotels']);
}
于 2012-06-01T18:10:06.803 に答える
0

PHP コードは次のようになります。

$res = mysql_query($requete) or die(mysql_error());
if ($res) {
    $row = mysql_fetch_row($res);
    $items = explode(',', $row);
    die(json_encode($items));
}

データベースから1行しか選択していないため、クエリ結果をループする必要はありません。そして、文字列をexplode()に変換するために使用します。'180,2345,...'array('180','2345',...)

そしてあなたのjsで、val['deHotels']ちょうどに置き換えてくださいval

$.each(data, function(key, val) {
   items += '<option value="' + val + '">' + val + '</option>';
});
于 2012-06-01T18:12:02.747 に答える