第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

復選框,使用多對多關系 php

復選框,使用多對多關系 php

慕田峪9158850 2023-09-11 14:46:22
我正在嘗試創(chuàng)建一個管理表單,允許用戶選擇他們的需求并使用多對多關系保存到數據庫。我可以使用下面的 while 循環(huán)生成表單項并提交這些while ($rows = $equipresults->fetch()) {$eqid = $rows['req_id'];$eqname = $rows['requirement'];echo "<label class='checkbox'><input type='checkbox' name='requirement[]' value='$eqid'> $eqname </label><br>";}上面的代碼產生這樣的結果:當我在提交后返回表單時,即使值已添加到數據庫中,復選框也不會被選中。我明白為什么上面沒有返回任何內容。所以我的問題是如何編寫一個循環(huán),允許我以數組形式顯示選中的復選框,類似于下面的內容?    $equipresult = array ( [0] => Array ( [artistid] => 2 [req_id] => 1 [requirement] => Microphone ) [1] => Array ( [artistid] => [req_id] => 2 [requirement] => Table ) [2] => Array ( [artistid] => 2 [req_id] => 3 [requirement] => Chair ) [3] => Array ( [artistid] => [req_id] => 4 [requirement] => Microphone Stand ) [4] => Array ( [artistid] => [req_id] => 5 [requirement] => Personal Artifacts ) [5] => Array ( [artistid] => [req_id] => 6 [requirement] => Set Dressing ) [6] => Array ( [artistid] => [req_id] => 7 [requirement] => Raised Step )[7] => Array ( [artistid] => [req_id] => 8 [requirement] => Other ) ) 我試圖根據上面的數組顯示下面的內容我一直在玩 foreach 循環(huán),但我無法設法檢查復選框。我如何循環(huán)遍歷上面的數組,如果artistid = 2,當foreach循環(huán)生成時,在html中將其顯示為“已選中”$req=explode(",",$rows['requirement']);if (!empty($equipresult)) {    foreach ($equipresult as $row) {      $checked = (in_array($row, $req)) ? 'checked="checked"' : '';  ?>            <label class='checkbox'>                <input type="checkbox" name="requirement[]" value="<?php echo $row;?>"                    <?php $checked;?>><?php echo implode(", ", $row);?>            </label><br>            <?php}}?>最終我試圖避免對 html 進行硬編碼。這里的任何指導將非常感激。我也確信可能有一種非常簡單的方法可以做到這一點。
查看完整描述

2 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

例子:


<?php

$options =  [

    ["artistid" => 1,  "req_id" => 1,  "requirement" => "Microphone"],

    ["artistid" => 1,  "req_id" => 2,  "requirement" => "Table"],

    ["artistid" => 1,  "req_id" => 3,  "requirement" => "Chair"],

    ["artistid" => 1,  "req_id" => 4,  "requirement" => "Microphone Stand "],

    ["artistid" => 1,  "req_id" => 5,  "requirement" => "Personal Artifacts"],

    ["artistid" => 1,  "req_id" => 6,  "requirement" => "Set Dressing"],

    ["artistid" => 1,  "req_id" => 7,  "requirement" => "Raised Step "]

];

$checkedOptions = [2, 7];


foreach ($options as $option) {

    ?>

    <label class='checkbox'>

        <input type="checkbox" name="requirement[]" value="<?= $option['req_id']?>" <?= in_array($option['req_id'], $checkedOptions)  ? 'checked' : '' ?> >

           <?= $option['requirement'] ?>

    </label>

            <br>

<?php

    }

?>


查看完整回答
反對 回復 2023-09-11
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

您需要一個條件語句來查看變量是否設置為來自$_POST[]或$row[]數組的輸入字段的名稱,以及是否設置回顯checked輸入字段中的屬性。如果您動態(tài)創(chuàng)建輸入列表,則需要對 value 屬性執(zhí)行相同的操作。


<input type='checkbox' name='microphone' value='$eqid' <?php if($eqname === "microphone"){ echo 'checked'; }> 

<input type='checkbox' name='table' value='$eqid' <?php if($eqname === "table"){ echo 'checked'; }> 

<input type='checkbox' name='chair' value='$eqid' <?php if($eqname === "chair"){ echo 'checked'; }>

<input type='checkbox' name='microphone_stand' value='$eqid' <?php if($eqname === "microphone_stand"){ echo 'checked'; }> 

<input type='checkbox' name='personal_artifacts' value='$eqid' <?php if($eqname === "personal_artifacts"){ echo 'checked'; }> 

<input type='checkbox' name='set_dressing' value='$eqid' <?php if($eqname === "set_dressing"){ echo 'checked'; }>    

<input type='checkbox' name='raised_step' value='$eqid' <?php if($eqname === "raised_step"){ echo 'checked'; }> 

<input type='checkbox' name='other' value='$eqid' <?php if($eqname === "other"){ echo 'checked'; }>


查看完整回答
反對 回復 2023-09-11
  • 2 回答
  • 0 關注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號