0

マルチセレクトボックスをFacebookスタイルセレクターに変える、選択したjqueryプラグインを使用しています。英国の郵便番号を入力し、選択した郵便番号も表示しています。

私のPHPリクエストは郵便番号データベースから大量のデータを取得しているため、ページの実行は明らかに非常に遅くなりますが、ユーザーが入力ボックスに1文字を入力した場合にのみデータを取得できるようにしたいと考えています.

私はAjaxでそれをしなければならないことを知っています.JSONだと思いますが、どうすればよいでしょうか?

これが私のコードです

    <select name="zipcode[]" style="width:600px; height:250px;" multiple class="chzn-select" id="zipcode">

          <?php $arraypostcode = explode(",", $zipcode); ?>
    <?php
do { // begin loop
?>
    <option value="<?php echo $row_postcode['code']?>"<?php for ($i=0; $i<sizeof($arraypostcode); $i++) {if ($row_postcode['code'] == $arraypostcode[$i]) {echo " selected"; break;}}?>><?php echo $row_postcode['code']?></option>
    <?php
} while ($row_postcode = mysql_fetch_assoc($postcode)); // end loop
  $rows = mysql_num_rows($postcode);
  if($rows > 0) {
      mysql_data_seek($postcode, 0);
      $row_postcode = mysql_fetch_assoc($postcode);
  }
?>
  </select>

PHP リクエスト:

<?php

$postcode = mysql_query( "SELECT postcode.code FROM postcode");
$row_postcode = mysql_fetch_assoc($postcode);
$totalRows_postcode = mysql_num_rows($postcode);

?>

何か案は?

4

2 に答える 2

0

ajax の使用:

あなたは走ることができます

$postcode = mysql_query( "SELECT postcode.code FROM postcode WHERE code LIKE 'YOUR_USER_VALUE%'"); $row_postcode = mysql_fetch_assoc($postcode); $totalRows_postcode = mysql_num_rows($postcode);

ユーザーが文字を入力するたびにこれを実行する必要があります

Java などの他のプログラミング言語に精通している場合、SQL の LIKE 'VALUE%' は startsWith("VALUE") を意味します。

値が数値として格納されている場合は、次のようにキャストする必要があります。 cast(code as char)

于 2013-04-24T19:46:26.697 に答える