$i=0; $tablica[$i]['s_id'] = $row['s_id']; $tablica[$i]['id'] = $row['s_a']; $tablica[$i]['s_nazwa'] = $row['s_nazwa']; $tablica[$i]['s_ilosc'] = $row['s_ilosc']; $tablica[$i]['s_jed'] = $row['s_j']; $i++; $smarty->assign('s_ile', $i); } $smarty->assign('skladniki', $tablica);
i wyświetlam:
<td valign="top"><b>Składniki ({$s_ile}):</b></td> <td> {section name=sklad loop=$skladniki} Nazwa składnika: <input type="text" name="s_nazwa[]" value="{$skladniki[sklad].s_nazwa}" > Ilość: <input type="text" name="s_ilosc[]" value="{$skladniki[sklad].s_ilosc}" style="width:50px;"> <select name="s_jed[]"> <option value="gram" {if $skladniki[sklad].s_jed=="gram"} selected="selected"{/if}>gram</option> <option value="dekagram" {if $skladniki[sklad].s_jed=="dekagram"} selected="selected"{/if}>dekagram</option> <option value="kilogram" {if $skladniki[sklad].s_jed=="kilogram"} selected="selected"{/if}>kilogram</option> <option value="łyżeczka" {if $skladniki[sklad].s_jed=="łyżeczka"} selected="selected"{/if}>łyżeczka</option> <option value="łyżka" {if $skladniki[sklad].s_jed=="łyżka"} selected="selected"{/if}>łyżka</option> <option value="szklanka" {if $skladniki[sklad].s_jed=="szklanka"} selected="selected"{/if}>szklanka</option> <option value="mililitr" {if $skladniki[sklad].s_jed=="mililitr"} selected="selected"{/if}>mililitr</option> <option value="litr" {if $skladniki[sklad].s_jed=="litr"} selected="selected"{/if}>litr</option> <option value="pęczek" {if $skladniki[sklad].s_jed=="pęczek"} selected="selected"{/if}>pęczek</option> <option value="kostka" {if $skladniki[sklad].s_jed=="kostka"} selected="selected"{/if}>kostka</option> <option value="opakowanie" {if $skladniki[sklad].s_jed=="opakowanie"} selected="selected"{/if}>opakowanie</option> <option value="sztuka" {if $skladniki[sklad].s_jed=="sztuka"} selected="selected"{/if}>sztuka</option> <option value="szczypta" {if $skladniki[sklad].s_jed=="szczypta"} selected="selected"{/if}>szczypta</option> <option value="ziarno" {if $skladniki[sklad].s_jed=="ziarno"} selected="selected"{/if}>ziarno</option> <option value="plaster" {if $skladniki[sklad].s_jed=="plaster"} selected="selected"{/if}>plaster</option> <option value="ząbek" {if $skladniki[sklad].s_jed=="ząbek"} selected="selected"{/if}>ząbek</option> </select> <input type="checkbox" name="s_usun[]" value={$skladniki[sklad].s_id}> {$skladniki[sklad].s_id} do usunięcia<br /> {/section} </td>
Uaktualnić umiem, nie ma problemu. Ale sobie wymysliłem, że zaznaczę jakieś składniki do usunięcia i przy następnej operacji na bazie usunięcie zaznaczonych rekordów. Niestety, usuwam rekord a na jego miejscu pojawia się identyczny z nowym ID

// usunięcie rekordów if($s_id>=1) { } // insertowanie rekordów przychodzących z $_POST $is=0; $isp=0; $s_n=$_POST['s_nazwa']; $s_ilosc=$_POST['s_ilosc']; $s_jed=$_POST['s_jed']; foreach($_POST['s_nazwa'] as $snn) { if($s_n[$is]<>"" and $s_jed[$is]<>"" and $s_ilosc[$is]<>"") { $in="INSERT INTO ".$pre."skladniki(`s_a`,`s_nazwa`,`s_j`,`s_ilosc`) VALUES ('".$ds_id."','".htmlspecialchars($s_n[$is])."','".htmlspecialchars($s_jed[$is])."','".htmlspecialchars($s_ilosc[$is])."')"; $isp++; } $is++; }
Potrzeba mi warunku, który pominie te, które zaznaczam, czyli te, które odfiltrowuję tak:
for ($i=0;$i<count($_POST["s_usun"]);$i++) { $sid = $_POST["s_usun"][$i]; } }
PS. Chyba edytor forum szaleje?