• 締切済み

検索をする際一文字ずつ入れてデータベースを反映したい

質問タイトルが分かりにくくてすいません。 現在、データベースに登録しているユーザのデータを 引っ張ってくるアプリを作っています。 普通にテキストエリアにユーザー名を入れて 検索ボタンを押して、 検索結果を出すのは可能なのですが、 最近よく見かける「郵便番号入力による住所検索」のように 郵便番号を入力し終わると勝手に結果が表示される見たいな物を 作りたいと思っております。 データベースはMySQLを使っているので きっとAJAX+PHP+MySQLで実現できると思うのですが具体的に どのようにプログラムを書くのか分かる方 ご教授ください。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

1文字ずつ評価するのでないなら文字数を数えた上で submitすればよいでしょう。 <script language=javascript> function check(obj){ if (obj.value.length!=5) return false; obj.form.submit(); } </script> <form> <input type="text" onkeyup="check(this);"> </form> ajaxを使えばフォーカスははずれないと思いますけど。

raoh199907
質問者

補足

ajaxの具体的な使い方が書いてあるサイトとかありますか? サンプルとかあればありがたいんですが

回答No.1

どこまで作ってみましたか? ゼロから説明するのは大変です。

raoh199907
質問者

補足

こんな感じになってます <? //受信データ処理 $userid1 = ($_POST["userid_01"]); $sql = "SELECT * FROM xxxxxx where user_id = '$userid1'"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $user_no = ($row["user_no"]); $user_pass = ($row["user_pass"]); $user_email = ($row["user_email"]); $user_course = ($row["user_course"]); $user_masterlv = ($row["user_masterlv"]); }?> </p> <form name="form1" method="post" action="user_inquiry.php"> <label> <input name="userid_01" type="text" id="userid_01" onkeyup="submit();" value="<? echo $userid1;?>"> </label> <label></label> </form> 今この状態だと1文字入れるたびにサブミットされ、 フォーカスがテキストエリアから抜けてしまいます。 フォーカスが離れないように入力を反映できるようにしたいです。 よろしくお願いします。

関連するQ&A

  • Ajaxで住所検索

    Ajaxで郵便番号から住所検索をする機能を作成したのですが 郵便番号529であいまい検索して結果が表示されたあと 再度ほかの郵便番号413で検索しようとしたところ529の結果が表示されてしまいます。 このようのときの解決法を教えてください。 よろしくお願いいたします

    • ベストアンサー
    • AJAX
  • CGIのデーターベース検索について

    CGI初心者です。大変困っておりますので どなたか助けていただきたいのですが… 会社よりデータベースの検索CGIを作るよう言われました。 作りたいのは以下の内容です。 idを入力する部分がある(htmlのフォーム) ↓ その入力の番号を元に検索し該当者を検索する。 ↓ htmlで結果を出す。 と言うものです。 ただしidが40000件程あり どのようなデーターベース処理をすれば いいか困っています。(その内容のCSVはあります。) もしかしたらPHPのほうがいいのかもと思ってしまいます。 どなたかスクリプトやCSVの置き方などご指導いただけると大変ありがたいです。お手数をおかけしますがよろしくお願いいたします。

  • 郵便番号検索について

    よく登録画面で目にする機能について少し教えて下さい。 郵便番号を入力と同時(フォーカスが移動したと)に該当する住所が設定される機能はどのような仕組みなのでしょうか。この際にポストバックしないで各テキストボックスに挿入されていますがAjaxを活用しているのではないかと思い、色々とネットで調べてみましたが私が望むようなものを見つける事ができませんでした。 現在、郵便番号のCSVデータをサイトからダウンロードしてデータベースに入れました。 私がやりたい事はインポートした郵便番号を使用する方法をご教授いただけませんでしょうか。 些細な事でも構いませんので宜しくお願いします。

  • セッションとデータベース

    現在、PHPとMySQLでシステムを構築しているのですが、一つ疑問がでてきました。 データを検索して検索結果に対して修正・エクスポートなどの操作を行う場合、毎回データベースにアクセスするのと、検索結果全体をセッションとして保存するのとどちらが負荷低減・レスポンスが早いのでしょうか? 検索結果は場合によっては数千レコードとなる場合があります。また、接続ユーザは50人ほどです。

    • ベストアンサー
    • PHP
  • javascriptからの検索に関して

    曖昧な質問で申し訳ありませんが、教えて下さい。 あるテキストエリアに、社員番号を入力したら、即座に別のテキストエリア に名前を表示させるというような仕掛けを作成しようと考えています。 Javascriptを用いて、6桁(社員番号)入力されたらキックするというような 記述をしましたが、名前自体がMySQLの中に存在する為、PHPで検索 しようと考えています。 <script language=javascript> function test(obj,tugi){ if(obj.value.length>=6) { } } ここからがどのように仕掛けを作成すれば良いかわかりません。 何かアドバイスを頂けないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • エクセルに入力した住所の郵便番号を検索したいのですが、、、。

    エクセルでデータベースを作っているのですが、大半が郵便番号がなく、住所のみなのです。ネットで住所を入力すれば郵便番号の検索はできるのですが、数が多いので一件一件検索できる状態ではありません。一挙に住所から〒番号を検索できる方法ってありますでしょうか?どなたか、よいアイデアがあれば宜しくお願いします!

  • MySQLのあいまい検索について

    MySQLのあいまい検索について いつもお世話になっております。 本日はMySQLのあいまい検索について質問させていただきます。 あいまい検索といっても like での検索ではなく バとヴァ・ブとヴ・全角ハイフンと半角ハイフンなどを 同じとみなして検索することはできるのでしょうか。 たとえば、データベースには「ラブ」と登録されているが 検索キーワードは「ラヴ」と入力された場合、検索結果に「ラブ」の行を表示したいです。 PHPとMySQLで開発をするのですが、MySQLではなくPHPの処理になるのでしょうか。 カテゴリ違いでしたら申し訳ありません。 よろしくご教示お願いいたします。 [環境]  MySQL:5.0.45  PHP:5.1.6

    • ベストアンサー
    • MySQL
  • データベースを検索するマクロ(エクセルで)

    エクセル初級者です。 データベース化してある顧客名簿がsheet2にあり、A列は個人別コードが、B列は氏名、C列は郵便番号、D列は住所、・・・といった感じになってます。 教えていただきたいのは、sheet1上で氏名を入力して検索するフォームを作り、検索の結果、ヒットしたすべてがsheet3上に抜き出す方法って可能ですか? うまくいえないのですが、例えば「佐藤」と入力して検索ボタンを押せば、sheet2のすべての佐藤さんのデータがsheet2の形式と同じ形でsheet3に表示されるようにしたいのです。 情報に不足があれば補足しますので、どなたかVBAの書き方を教えてください。よろしくお願い致します。

  • データベースのフィールドのデータ型について

    くだらない質問で申し訳ありませんが宜しくお願いします。 下記のようなデータを格納するテーブルを構築しています。 ・ユーザーID ・名前 ・カタカナ ・パスワード ・年齢 ・郵便番号 ・住所1 ・住所2 ・住所3 ・電話番号 ・メールアドレス ・備考 ・削除フラグ ・登録者 ・登録日 ・更新者 ・更新日 上記の内容を下記のようなテーブルのフィールドのデータ型を考えました。 ・ユーザーIDのデータ型をVARCHAR(4) ・名前のデータ型をVARCHAR(32) ・カタカナのデータ型をVARCHAR(32) ・パスワードのデータ型をVARCHAR(255) ・年齢のデータ型をINTEGER ・郵便番号のデータ型をVARCHAR(8) ・住所1のデータ型をVARCHAR(255) ・住所2のデータ型をVARCHAR(255) ・住所3のデータ型をVARCHAR(255) ・電話番号のデータ型をVARCHAR(18) ・メールアドレスのデータ型をVARCHAR(255) ・備考のデータ型をTEXT ・削除フラグのデータ型をVARCHAR(1) ・登録者のデータ型をVARCHAR(4) ・登録日のデータ型をTIMESTAMP ・更新者のデータ型をVARCHAR(4) ・更新日のデータ型をTIMESTAMP そうしたら下記のような風にテーブルのフィールドのデータ型にしたら格納する文字列の桁エラーが起こらないからどうといわれました。 ・ユーザーIDのデータ型をVARCHAR(4) ・名前のデータ型をTEXT ・カタカナのデータ型をTEXT ・パスワードのデータ型をTEXT ・年齢のデータ型をTEXT ・郵便番号のデータ型をTEXT ・住所1のデータ型をTEXT ・住所2のデータ型をTEXT ・住所3のデータ型をTEXT ・電話番号のデータ型をTEXT ・メールアドレスのデータ型をTEXT ・備考のデータ型をTEXT ・削除フラグのデータ型をVARCHAR(1) ・登録者のデータ型をVARCHAR(4) ・登録日のデータ型をTIMESTAMP ・更新者のデータ型をVARCHAR(4) ・更新日のデータ型をTIMESTAMP ※現在、使用しているデータベースはPostgreSQLですが、Microsoft SQL ServerやOracleやMySQL等の他のデータベースでもいいものなのかもご教授いただけると助かります。 私の知識不足でどちらがいいのかがわからず投稿させてもらいました。 申し訳ありませんが皆さんのお知恵をお貸し下さい。 宜しくお願いします。

  • 【PHP】郵便番号から近隣のお店検索

    質問させていただきます。 当方環境はPHP4+mysqlです。 郵便番号を入力して近隣のお店を検索するというシステムを構築したいのですが、どうやって構築するのか悩んでおります。 # お店の住所情報はmysqlDBに登録されており、任意に取得可能です。 郵便番号からどうやって近隣のお店かどうか判定するのか、サンプルなどあれば添えてご教授いただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう