両方の依存ドロップダウンリストからphpへのフォームデータの取得

spiro2903

私のページには、2つの依存するドロップダウンリストを含むフォームがあります。ユーザーが1番目のリストから値を選択すると、2番目のリストにデータが入力され、ユーザーは2番目のリストから値を選択します。

フォームデータをphpページに送信してmysqlのテーブルに挿入したいのですが、送信すると、2番目のリストの値を除いてすべてのデータが渡されます。最初のリストおよび他の入力フィールドからの値はOKで渡されます。私は知っていることをすべて試しましたが、これを機能させることはできません。これを実装する方法はありますか?

これはindex2.phpのフォームです(編集:フォーム要素を簡略化):

<form name="part_add" method="post" action="../includes/insertpart.php" id="part_add">
                <label for="parts">Choose part</label>
                    <select name="part_cat" id="part_cat">
                        <?php while($row = mysqli_fetch_array($query_parts)):?>
                        <option value="<?php echo $row['part_id'];?>">
                        <?php echo $row['part_name'];?>
                        </option>
                        <?php endwhile;?>
                    </select>
                    <br/>
                <label>P/N</label>
                    <select name="pn_cat" id="pn_cat"></select>
                <br/>
                <input type="text" id="manufactured" name="manufactured" value="" placeholder="Manufactured" />
                <input id="submit_data" type="submit" name="submit_data" value="Submit" />
            </form>

そしてこれはjavascriptです:

$(document).ready(function() {
$("#part_cat").change(function() {
    $(this).after('<div id="loader"><img src="img/loading.gif" alt="loading part number" /></div>');
    $.get('../includes/loadpn.php?part_cat=' + $(this).val(), function(data) {
        $("#pn_cat").html(data);
        $('#loader').slideUp(200, function() {
            $(this).remove();
        });
    });
});
});

そしてこれは2番目のリストをロードするためのphpです:

<?php 
include('db_connect.php');
// connects to db
$con=mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
$part_cat = $_GET['part_cat'];
$query = mysqli_query($con, "SELECT * FROM pn WHERE pn_categoryID = {$part_cat}");
while($row = mysqli_fetch_array($query)) {
echo "<option value='$row[part_id]'>$row[pn_name]</option>";
}
?>

最初のリストからinsertpart.phpに$ part_catを取得していますが、$ pn_catです。

編集:これはinsertpart.phpです(簡略化されており、結果をエコーするだけです)

<?php
//Start session
session_start();

//Include database connection details
require_once('../includes/db_details.php');

//DB connect
$con=mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);

// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// escape variables for security
// find part name based on ID
$part_typeID = mysqli_real_escape_string($con, $_POST['part_cat']);
$part_name_result = mysqli_query($con, "SELECT part_name FROM parts WHERE part_id = $part_typeID");
$part_row = mysqli_fetch_array($part_name_result, MYSQL_NUM);
$part_type = $part_row[0];
echo"part_type='$part_type'";

//find pn value based on id
$pn_typeID = mysqli_real_escape_string($con, $_GET['pn_cat']);
$pn_name_result = mysqli_query($con, "SELECT pn_name FROM pn WHERE pn_id = $pn_typeID");
$pn_row = mysqli_fetch_array($pn_name_result, MYSQL_NUM);
$pn = $pn_row[0];
echo"pn='$pn'";

mysqli_close($con);
?>

それはまだ進行中なので、コードは醜いです、そして私は修正されているPOSTとGETを混ぜていることを知っています。このページで$ pn_catをエコーし​​ても出力がない場合、$ part_typeはOKです。

spiro2903

解決しました!それはただのばかげたタイプミスでした、私がこれで2日を失ったなんて信じられません!loadpn.phpの代わりに:次の$row[part_id]ようになります:$row[pn_id]何らかの理由でドロップダウンは機能しましたが、pn_catのオフコース値が設定されていませんでした。

また、これは2つのフィールド値を設定する際にも機能します(これは今は必要ありませんが、誰かが知りたい場合):

$(document).ready(function() { $("#part_cat").change(function() { $('#pn_hidden').val($(this).val()); }); $("#pn_cat").change(function() { $('#pn_hidden2').val($(this).val()); }); });

また、jsを投稿に変更しました:

$(document).ready(function() { $("#part_cat").change(function() { $.post('../includes/loadpn.php', 'part_cat=' + $(this).val(), function(data) { $("#pn_cat").html(data); }); }); });

そして、ありがとう:

<option value="" disabled selected="selected">Select</option>

それは本当にユーザーエクスペリエンスに役立ちます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データベースからドロップダウンリストへのデータの取得

分類Dev

ドロップダウンフォームから別のphpスクリプトに値を表示する方法

分類Dev

データベースからの依存ドロップダウンリスト値

分類Dev

Maven jarとその依存関係をデフォルトの中央mavenと他のパブリックリポジトリの両方からダウンロードする方法は?

分類Dev

データベースの同じテーブルからのPHPの依存ドロップダウンリスト

分類Dev

ドロップダウン選択リストの内容をPHPのあるフォームから別のフォームに渡す

分類Dev

SpringMVCのデータベースからドロップダウンリストを使用してフォームをjspに保存します

分類Dev

ドロップダウンリストから同じページのテキストボックスへのデータ取得

分類Dev

Symfonyフォームのドロップダウン選択に基づいてデータベースからデータを取得する

分類Dev

PHPの依存ドロップダウンからデータを表示する

分類Dev

PHPのデータベースからのドロップダウンリスト

分類Dev

名前リストドロップダウンフォームからMySQLINSERTのIDをプルします

分類Dev

laravel4.2のeloquentのリストに基づくドロップダウンリストの両方のデータを使用します

分類Dev

ドロップダウンリストのデータを取得しますか?

分類Dev

ドロップダウンリストのデータはCodeigniterのDBから取得します

分類Dev

DBから値を取得し、PHPの編集フォームのドロップダウンに表示します

分類Dev

データベースからのonchangeドロップダウンリスト-php、javaまたはajaxなし

分類Dev

PHPのSQLデータベースからドロップダウンリストを作成する

分類Dev

パンダのデータフレームから行のリストをドロップする方法は?

分類Dev

Rシャイニーダッシュボード:ローカルファイルとオンラインデータベース(Googleスプレッドシートなど)の両方からデータをアップロードします

分類Dev

フォームからMySQLデータベースへのデータのアップロード

分類Dev

データベースのソート順の英数字からのドロップダウンリスト

分類Dev

PHPフォームでは、ドロップダウンリストに.txtファイルの間違ったデータが表示されます

分類Dev

データ検証のためのExcelデータの注文(依存するドロップダウンリスト)

分類Dev

ドロップダウンからフォームデータをどのように入力しますか?

分類Dev

カテゴリデータと数値データの両方を使用したパンダデータフレームの散布図のプロット

分類Dev

フォルダーからの光沢のあるファイルからloaedファイルへのドロップダウンボトムの使用

分類Dev

ドロップダウンリストからアクションを選択するためのDjango管理者カスタムフォーム送信強制

分類Dev

ドロップダウンボックス-Spring MVCモデル/コンテキストからフリーマーカーを使用したフォームへ

Related 関連記事

  1. 1

    データベースからドロップダウンリストへのデータの取得

  2. 2

    ドロップダウンフォームから別のphpスクリプトに値を表示する方法

  3. 3

    データベースからの依存ドロップダウンリスト値

  4. 4

    Maven jarとその依存関係をデフォルトの中央mavenと他のパブリックリポジトリの両方からダウンロードする方法は?

  5. 5

    データベースの同じテーブルからのPHPの依存ドロップダウンリスト

  6. 6

    ドロップダウン選択リストの内容をPHPのあるフォームから別のフォームに渡す

  7. 7

    SpringMVCのデータベースからドロップダウンリストを使用してフォームをjspに保存します

  8. 8

    ドロップダウンリストから同じページのテキストボックスへのデータ取得

  9. 9

    Symfonyフォームのドロップダウン選択に基づいてデータベースからデータを取得する

  10. 10

    PHPの依存ドロップダウンからデータを表示する

  11. 11

    PHPのデータベースからのドロップダウンリスト

  12. 12

    名前リストドロップダウンフォームからMySQLINSERTのIDをプルします

  13. 13

    laravel4.2のeloquentのリストに基づくドロップダウンリストの両方のデータを使用します

  14. 14

    ドロップダウンリストのデータを取得しますか?

  15. 15

    ドロップダウンリストのデータはCodeigniterのDBから取得します

  16. 16

    DBから値を取得し、PHPの編集フォームのドロップダウンに表示します

  17. 17

    データベースからのonchangeドロップダウンリスト-php、javaまたはajaxなし

  18. 18

    PHPのSQLデータベースからドロップダウンリストを作成する

  19. 19

    パンダのデータフレームから行のリストをドロップする方法は?

  20. 20

    Rシャイニーダッシュボード:ローカルファイルとオンラインデータベース(Googleスプレッドシートなど)の両方からデータをアップロードします

  21. 21

    フォームからMySQLデータベースへのデータのアップロード

  22. 22

    データベースのソート順の英数字からのドロップダウンリスト

  23. 23

    PHPフォームでは、ドロップダウンリストに.txtファイルの間違ったデータが表示されます

  24. 24

    データ検証のためのExcelデータの注文(依存するドロップダウンリスト)

  25. 25

    ドロップダウンからフォームデータをどのように入力しますか?

  26. 26

    カテゴリデータと数値データの両方を使用したパンダデータフレームの散布図のプロット

  27. 27

    フォルダーからの光沢のあるファイルからloaedファイルへのドロップダウンボトムの使用

  28. 28

    ドロップダウンリストからアクションを選択するためのDjango管理者カスタムフォーム送信強制

  29. 29

    ドロップダウンボックス-Spring MVCモデル/コンテキストからフリーマーカーを使用したフォームへ

ホットタグ

アーカイブ