6

質問があります。phpとmysqlを使用してフォームからの膨大なデータをどのように処理しますか?

次のものがあります:〜50フィールド(入力テキスト、checkboxex、select、textarea)

その後、これをMySQLデータベースに保存し、このデータを選択してフィルタリングする必要があります。練習はありますか?プロジェクトでは何を使用しますか?

4

2 に答える 2

6

このようなフォームでデータを整理するには、HTMLフォーム配列を使用できます。ある家に関する膨大な量のデータを送信するとします。たとえばgeneral、データgeoをセクションに分割しfeatures、、、、descriptionsおよびこのようなフォームを作成します。

<form>
  <fieldset>
    <legend>General information</legend>
    <input type="number" name="general[pax]"  value="" placeholder="Pax"  />
    <input type="number" name="general[pets]" value="" placeholder="Pets" />
    <input type="text"   name="general[type]" value="" placeholder="Type" />
  </fieldset>

  <fieldset>
    <legend>GEO data</legend>
    <input type="text" name="geo[longitude]" value="" placeholder="Longitude" />
    <input type="text" name="geo[latitude]"  value="" placeholder="Latitude" />
  </fieldset>

  <fieldset>
    <legend>Features</legend>
    <input type="checkbox" name="features[internet]" value="1" title="Internet" />
    <input type="checkbox" name="features[pool]" value="1" title="Pool" />
    <input type="checkbox" name="features[conditioner]" value="1" title="A/C" />
  </fieldset>
</form>

更新:タグと少しの(デモされていない)を使用する<fieldset>と、さまざまなグループを簡単に表示/非表示にして、好みに合わせて名前を付けることができます。<legend>jQuery

このようなフォームを送信すると、次のような値にアクセスできるようになります。

$pets = (int)$_POST['general']['pets'];
$features = $_POST['features'];

$lon = (float)$_POST['geo']['longitude'];
$lat = (float)$_POST['geo']['latitude'];

これにより、開発が容易になり、さまざまなデータグループを制御/解析/列挙する労力が軽減されます。

更新:またはもう1つの可能なバリアントは

<input type="text" name="params[param1]" value="" />
<input type="text" name="params[param2]" value="" />
<input type="text" name="params[param3]" value="" />

その間PHP

$params = $_POST['params']; // getting our isolated array of parameters
$names = array_keys($params); // extracting names from array
$values = array_values($params); // extracting values from array

$mysql->insert($names, $values) // and trying to implement desired solution
于 2012-07-30T12:21:07.327 に答える
3

情報をセクションに分割し、セクションごとにサブセットのみを表示/要求します。各セクションには保存/次へボタンがあり、データは各セクションの送信時に保存されます。

于 2012-07-30T11:59:44.883 に答える