php - フォームから選択した複数のPHPエコーバック

原文 php mysql forms

create.php

私が最初に行うことは、これらのそれぞれを作成して、テーブル内の独自の列に送信することです。

    $subCategoryDirectory = $_POST["subCategoryDirectory"];
    $subCategoryDirectory_1 = $subCategoryDirectory[0];
    $subCategoryDirectory_2 = $subCategoryDirectory[1];
    $subCategoryDirectory_3 = $subCategoryDirectory[2];
    $subCategoryDirectory_4 = $subCategoryDirectory[3];
    $subCategoryDirectory_5 = $subCategoryDirectory[4];


+----------------------+------------------------+------------------------+------------------------+------------------------+--+
| subCategoryDirectory | subCategoryDirectory_2 | subCategoryDirectory_3 | subCategoryDirectory_4 | subCategoryDirectory_5 |  |
+----------------------+------------------------+------------------------+------------------------+------------------------+--+
| selection            | selection2             | selection3             | selection4             | selection5             |  |
+----------------------+------------------------+------------------------+------------------------+------------------------+--+
|                      |                        |                        |                        |                        |  |
+----------------------+------------------------+------------------------+------------------------+------------------------+--+
|                      |                        |                        |                        |                        |  |
+----------------------+------------------------+------------------------+------------------------+------------------------+--+



update.php


更新するときは、それぞれを呼び出して変数に割り当てます。

$selectUpdate = "SELECT * from table where id=$id LIMIT 1";
$selectUpdateDisplay =  $wpdb->get_results($selectUpdate, ARRAY_A);

foreach ($selectUpdateDisplay as $sqlStuf){    
$cat1 = $sqlStuf[subCategoryDirectory];
$cat2 = $sqlStuf[subCategoryDirectory_2];
$cat3 = $sqlStuf[subCategoryDirectory_3];
$cat4 = $sqlStuf[subCategoryDirectory_4];
$cat5 = $sqlStuf[subCategoryDirectory_5];
}


だから私は更新時に選択フォームにエコーバックしたい上記のテーブルを持っています。現在、更新すると、最初のアップロードから値が失われます。

<select id="subCategoryDirectory" name="subCategoryDirectory[]" style="width:100%;" multiple>
        <option value="<?php echo $cat1; ?>"><?php echo $cat1; ?></option>
<optgroup label="Advertising & Media">
        <option value="Advertising &amp; Marketing">Advertising &amp; Marketing</option>
        <option value="Advertising, Marketing, Promotions">Advertising, Marketing, Promotions</option>
</optgroup>
<optgroup label="Transportation">
        <option value="Delivery Service">Delivery Service</option>
        <option value="Limousine Service ">Limousine Service </option>
        <option value="Taxicab">Taxicab</option>
        <option value="Transportation">Transportation</option>
</optgroup>
</select>


エコーを試すたびに、ご想像のとおり1つの値が得られます。どれも選択されていません。各変数が空であるかどうかを確認するためにテストする必要がありますか?私はこれを考えすぎていますか?


更新


array(1) {
  [0]=>
  array(32) {
    ["id"]=>
    string(3) "112"
    ["nameDirectory"]=>
    string(14) "test to delete"
    ["nameDirectoryAbv"]=>
    string(4) ""
    ["descriptionDirectory"]=>
    string(14) ""
    ["summaryDirectory"]=>
    string(14) ""
    ["addressDirectoryStreet"]=>
    string(11) ""
    ["addressDirectorySuiteNumber"]=>
    string(0) ""
    ["addressDirectoryNumber"]=>
    string(5) ""
    ["addressDirectoryPrefix"]=>
    string(0) ""
    ["addressDirectoryTwo"]=>
    string(0) ""
    ["zipDirectory"]=>
    string(5) ""
    ["websiteDirectory"]=>
    string(21) ""
    ["facebookDirectory"]=>
    string(21) ""
    ["twitterDirectory"]=>
    string(21) ""
    ["linkedinDirectory"]=>
    string(21) ""
    ["emailDirectory"]=>
    string(13) ""
    ["contactNameDirectory"]=>
    string(4) ""
    ["phoneDirectory"]=>
    string(12) ""
    ["faxDirectory"]=>
    string(12) ""
    ["categoryDirectory"]=>
    string(0) ""
    ["subCategoryDirectory"]=>
    string(23) "Advertising & Marketing"
    ["subCategoryDirectory_2"]=>
    string(34) "Advertising, Marketing, Promotions"
    ["subCategoryDirectory_3"]=>
    string(0) ""
    ["subCategoryDirectory_4"]=>
    string(0) ""
    ["subCategoryDirectory_5"]=>
    string(0) ""
    ["cityDirectory"]=>
    string(11) ""
    ["stateDirectory"]=>
    string(2) ""
    ["hoursDirectory"]=>
    string(13) ""
    ["image_1"]=>
    string(80) ""
    ["image_2"]=>
    string(92) ""
    ["image_3"]=>
    string(85) ""
    ["image_4"]=>
    string(85) ""
  }
}
答え
subCategoryDirectoriesの配列を作成します。

$cat = array($sqlStuf[subCategoryDirectory_1],$sqlStuf[subCategoryDirectory_2], ...);


foreachに加えてループ(forまたはis_set)で配列を使用すると、設定されている配列の項目のみを表示できます。

foreach:

<?php foreach ($cat as $item) { if (isset($item)) { echo "<option value=\""; echo "$item\">$item</option>\n"; } } ?>


ために:

<?php for ($i = 0; $i <= 4;) { if (isset($cat[$i])) { echo "<option value=\""; echo "$cat[$i]\">$cat[$i]</option>\n"; } $i++; } ?>
関連記事

php - 別のページとしてページに投稿する-Facebook API

php - 最初の行のみを表示する演算子間のMySQL

php - 特定の投稿からWordpressブログフィードを開始する

php - laravelのCron(https://github.com/liebig/cronを使用)

php - Joomlaの兄弟アイテムを一覧表示します! K2商品ページ

php - インポートされた依存関係注入構成にコンテナーがありません

php - スクリプトを呼び出して、それをPHPのバックグラウンドで実行し続けますか?

php - コードは更新時に実行されます

php - ACLチュートリアルに従った後、CakePHP 2.0.0にログインできません

php - phpMyAdmin:FROMの後でデフォルトのデータベースが無視される