| Autor | Zpráva | ||
|---|---|---|---|
| Vilak Profil |
#1 · Zasláno: 3. 11. 2020, 12:35:08
Nazdar, mám zde problém. Mám nějaké produkty, které můžu editovat buď všechny (tato varianta v ukázce nejde vidět), nebo jednotlivě. Pak ale taky potřebuji možnost upravit třeba 10 produktů z 20 tak, abych stiskl jen jednou "odeslat". Pro představu přikládám obrázek, kdy bych chtěl všechny "Zadáno" změnit na "Ukončeno", a u některých třeba změnit poznámku (tedy může jít třeba o změnu 10 produktů a v každém produktu může být jiná změna). Jednotlivě je upravit umím, ale jak to mám udělat najednou?
img: ctrlv.cz/shots/2020/11/03/Hzvx.png Kód: function product_info ($ids, $conn, $types_for_product, $status_for_product) {
/* vypise postupne vsechny produkty daneho statusu
* $ids - śkupina jednoho produktu, hromadne id
* $conn - pripojenik db
* $types_for_product - vypise vsechny firmy kam se posilaji produkty vcetne aktualniho
* $status_for_product - vypise vsechny mozne statusy k produktu vcetne aktualniho
*/
echo "
<table>
<tbody>
<tr>
<th>Typ</th>
<th>Firma</th>
<th>Produkt</th>
<th>Stav</th>
<th>Vytvoření</th>
<th>Poznámka</th>
<th colspan=\"2\">Úpravy</th>
</tr>
</tbody>
</table>
";
$result = get_data_from_db($ids, $conn);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$all_types = types_for_product($types_for_product, $row);
$all_firms = status_for_product($status_for_product, $row);
echo "
<form action=\"modules/products/edit-product.php\" method=\"POST\"><table><tbody>
<tr>
<input type=\"hidden\" value=\"".$row['id']."\" name=\"id\">
<input type=\"hidden\" value=\"".$row['ids']."\" name=\"ids\">
<td>".$all_types."</td>
<td><input type=\"text\" name=\"firm\" value=\"".$row['firm']."\" class=\"form_firm\"></td>
<td><input type=\"text\" name=\"product\" value=\"".$row['product']."\" class=\"form_product\"></td>
<td>".$all_firms."</td>
<td><input type=\"text\" name=\"creation_date\" value=\"".$row['creation_date']."\" readonly></td>
<td><input type=\"text\" name=\"note\" value=\"".$row['note']."\"></td>
<td><input type=\"submit\" value=\"Smazat\" name=\"delete-single\"></td>
<td><input type=\"submit\" value=\"Upravit\" name=\"edit-single\"></td>
</tr>
</tbody></table></form>
";
}
}
echo "<table><tr><td colspan=\"3\"><a href=\"products.php\"><button>Vrátit zpět beze změn</button></a></td></tr></table>";
}Je to rozpracovaná verze, vše budu předělávat do bootstrapu a tedy "table" měnit na divy a budu to trochu jinak formátovat, aby to bylo přehlednější. Jinak mě napadlo to udělat nějak pomocí checklistu, ale formulář ve formuláři udělat nejde co vím a pokud bych to udělal jen přes checlisty, tak pokud by se měla udělat jen změna u jendoho produktu, muselo by se vždy zaškrtnout, u kterého, a to je zbytečné zdržování. Předem díky moc za všechny rady. |
||
| anonym_ Profil * |
#2 · Zasláno: 3. 11. 2020, 13:09:55
Vilak:
Pokud chceš upravovat více záznamu naráz, musíš je mít v jednom formuláři. |
||
| Vilak Profil |
#3 · Zasláno: 3. 11. 2020, 13:31:16
To vím. Nicméně jak pak dokážu upravit samostatné produkty zvlášť, abych u každého řádku měl "upravit" a neměl jen dole "upravit vše".
|
||
| anonym_ Profil * |
#4 · Zasláno: 3. 11. 2020, 13:59:46
Vilak:
Budou to také submity a pak budeš kontrolovat, zda byl odeslán submit na konkrétním řádku, nebo “submit_all”. |
||
|
Časová prodleva: 5 let
|
|||
0