2015-02-09 49 views
2

create.phpPHP回显从形式

多重选择我做的第一件事是建立在我的表发送每一个这些以它自己的专栏。

$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> 

每次我试过回声,我都会得到一个值,你可以想象得到。没有选择任何一个。我应该测试一下,看看每个变量是否是空的,并且要做很长的路?我是否在说这个?

UPDATE

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) "" 
    } 
} 
+0

你是如何将数据送回页面? – Bankzilla 2015-02-09 03:41:01

+0

我并没有真正将价值观传递给新的页面。我只是通过MYSQL调用每个类别列。然后分配每个$ cat1等,以便我可以使用它们。那有意义吗? – Chris 2015-02-09 03:42:23

+0

不知道为什么你三重分配一切,你使用框架?需要从'update.php'中看到更多代码,我假设表单html也是? – Bankzilla 2015-02-09 03:50:42

回答

0

为您subCategoryDirectories数组:

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

在循环使用数组(无论是foreachfor)除了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++; } ?> 
+0

Intersting的想法。唯一的是,如果我不检查空白,那么即使没有提交任何cat3,cat4等等,也会列出每个选项。 – Chris 2015-02-09 04:25:21

+0

有很多方法可以检查变量是否有值或者甚至是否设置('is_set'就是一个例子)。 – 2015-02-09 04:42:49