Autor | Zpráva | ||
---|---|---|---|
SkyVessel Profil |
#1 · Zasláno: 13. 4. 2014, 21:53:07 · Upravil/a: Moderátor (editace znemožněna) 28. 4. 2014, 10:19:33
Zdravím,
tak stránku, na které dělám mám už skoro hotovou. Teď už jen admin prostředí a ... tu jsem narazil na problém... Zkusím ho dobře popsat - snad se to bude dát pochopit... Mám udělanou tabulku se skrytými form prvky, kde si uživatel nakliká údaje, které potřebuje, ty se poté odešlou ke zpracování jako pole (řešeno tady O:)). Teď ty data admin načte z databáze a zobrazí se v podobné tabulce. Problém: v stejný den si může zamluvit směnu více uživatelů. Ti se mi zobrazí, já si vyberu třeba třetího a odešlu -> do dbs se mi u něj uloží "1". A řeším situaci, dky si ten záznam otevřu znovu a chci to změnit na druhého. Jednoduše vykliknu checkbox třetího a zaškrtnu checkbox druhého. Při odeslání se mi u druhého uloží "1", ale jak mám poznat, že jsem odškrtnul třetího a potřebuji u něj nastavit "0"?? ...snad jde pochopit, co jsem chtěl vyjádřit... |
||
Someone Profil |
#2 · Zasláno: 13. 4. 2014, 22:10:23
Všem zaškrtlým nastav 1 a ostatním nastav 0.
|
||
SkyVessel Profil |
Aha... no mohlo mě to napadnout dříve - nejdřív všem nastavím 0 a potom zpracuji odeslaný form a přiřadm jedničky :)... Díky
A teď trochu mysql... V podstatě pomocí cyklu si do proměnné $dotaz2 nahážu to, co potřebuji zapsat do databáze a potom na konci dotaz jednou provedu.
<?php if (!empty($_POST['vyber'])) { // při odeslání formuláře $plan = $_POST['vyber']; $dotaz2 = ""; foreach ($plan as $pln) { $den_smeny = substr("$pln",1,2); $smena_user = substr("$pln",0,1); if ($dotaz2 != "") $dotaz2 = "$dotaz2, "; // přidání čárky oddělující hodnoty $dotaz2 = "$dotaz2 ('$den_smeny', '$dalsi_mesic', '$smena_user', '$user[0]')"; } } $dotaz2 = "INSERT INTO smena_user (den_smeny, mesic_smeny, smena_user, user) VALUES $dotaz2"; $vysledek2 = mysql_query($dotaz2) or die (mysql_error()); ?> Výsledek je potom: "INSERT INTO smena_user (den_smeny, mesic_smeny, smena_user, user) VALUES ('5', '5', 'b', '3'), ('15', '5', 'a', '4'), ('15', '5', 'a', '2'), ('20', '5', 'a', '3')"
Lze tohle nějak udělat i s příkazem UPDATE?? Nebo musím pro každý řádek provést update zvlášť - nezahltí se to tím, když třeba v cyklu 60x udělám UPDATE? myšleno takto: <?php foreach ($plan as $pln) { $plan_data = explode("-", $pln); $dotaz3 = "UPDATE smena_user SET vybrany = '1' WHERE user = '$plan_data[0]', smena_user = '$plan_data[1]', den_smeny = '$plan_data[2]', mesic_smeny = '$pristi_mesic'"; $vysledek3 = mysql_query($dotaz3) or die (mysql_error()); } ?> |
||
peta Profil |
Muzes zkusit INSERT INTO nebo pouzit transakce.
Kdyz mas nove tema, zaloz nove. Moderátor jenikkozak: Druhý dotaz s prvním souvisí, založení duplicitního vlákna by nebylo žádoucí.
|
||
Časová prodleva: 10 let
|
0