Autor | Zpráva | ||
---|---|---|---|
Hanka S. Profil * |
#1 · Zasláno: 17. 4. 2009, 09:21:11
Potrebovala bych poradit, jak se vyporadat s nasledujicim zadanim... Mam v databazi 2 tabulky a chci, aby se mi urcita data z jedne ulozila pres formular (do ktereho se natahnou data z prvni tabulky).
1. tabulka (Datum, Restaurace, Znamka) ... a chci, aby se mi do formulare natahlo poslednich 10 rows z 1. tabulky tak, aby za vyplnenymi okenky byly CHECKBOXY, abych si z tech 10ti mohla vybrat 1 - 3 rows a ty by se meli ulozit do 2. tabulky... 2. tabulka (Datum1, Restaurace1, Znamka1, Datum 2, Restaurace2, Znamka2, Datum3, Restaurace3, Znamka3, Total) Mam to udelany takhle, ale ta logika je spatne... :( <FORM action="admin_save.php" method="post"> <?php $i=1; while($show_tiket = mysql_fetch_array($tiket)): ?> <input name="<?='datum'.$i; ?>" value="<?=$show['datum']?>"> <input name="<?='restaurace'.$i; ?>" value="<?=$show[restaurace']?>"> <input name="<?='znamka'.$i; ?>" value="<?=$show['znamka']?>"> <input name="<?='skrtatko'.$i; ?>" type="checkbox" value="ano" checked><br> <?php $i++; endwhile; ?> ... na a blby je, ze ja si treba vyberu zaskrnu rows kde je datum4, restaurace4, znamka4 a datum6, restaurace6, znamka6 ... ale nevim, jak to udelat, aby se mi treba ulozilo do 2.tabulky jako Datum1, Restaurace1, Znamka1, Datum 2, Restaurace2, Znamka2 ... BUDU VAM MOC VDECNA ZA RADY |
||
tiso Profil |
#2 · Zasláno: 17. 4. 2009, 09:36:45
Hanka S. - čo tie dáta vlastne znamenajú? Skús ešte raz vysvetliť čo chceš dosiahnuť, ale ľudsky, bez pokusov o programátorské vyjadrovanie.
|
||
joe Profil |
#3 · Zasláno: 17. 4. 2009, 09:58:21
Logika se mi zdá špatná celkově i v databázi. Druhou tabulku bych udělal - restauraceId | datum, každá restaurace by měla mít svůj identifikátor, aby nedocházelo k duplikaci dat, ale na co jsi se ptala.
Pojmenoval bych všechny (datum, restaurace, znamka a skrtatko) inputy na pole: <input name="<?='datum['.$i; ?>]" value="<?=$show['datum']?>"> Pak cyklem projít všechny ty přijaté data z formuláře $poleVysledku = array(); for $i = 1; $i < 11; $i++ { // tady si nejsem jisty jak ma byt podminka, jestli je policko zaskrtnute.. if($_POST['skrtatko' . $i] == "1") { // pokud je, pridas aktualne prochazeny radek do pole $poleVysledku pokud jsou vsechny pole vyplneny if($_POST['datum' . $i] != "" || $_POST['restaurace' . $i] != "" || $_POST['znamka' . $i] != "" ) { $poleVysledku[] = array($_POST['datum' . $i], $_POST['restaurace' . $i], $_POST['znamka' . $i]); } } } .. ted uz staci projit to $poleVysledku, kde budou ulozeny vysledky pomoci foreach třeba |
||
Hanka S. Profil * |
#4 · Zasláno: 17. 4. 2009, 10:43:36
tiso
Chci dosahnout toho, aby se mi do formulare natahlo z jedne tabulky poslednich 10 zaznamu, ze kterych bych si potom zaskrtnutim checkboxu vybrala napr. 3 a ty by se mi potom ulozili to te druhe tabulky, ale rozepsane jako jako Datum1, Restaurace1, Znamka1, Datum 2, Restaurace2, Znamka2, Datum3, Restaurace3, Znamka3 |
||
Hanka S. Profil * |
#5 · Zasláno: 17. 4. 2009, 11:03:21
joe
pro zjednoduseni jsem to omezila jen na zapis datum, ale nefunguje mi to :( <FORM action="save_tiket.php" method="post"> <?php $i=1; while($show_tiket = mysql_fetch_array($tiket)): ?> <input name="<?='datum['.$i; ?>]" value="<?=$show_tiket['datum']?>"> <?php $i++; endwhile; ?> SAVE_TIKET.php $poleVysledku = array(); for ($i = 1; $i < 11; $i++): if($_POST['skrtatko' . $i] == "1") { if($_POST['datum' . $i] != "" ) { $poleVysledku[] = array($_POST['datum' . $i]); } } endfor; $datum1 = $poleVysledku[0]; echo "$datum1"; |
||
tiso Profil |
#6 · Zasláno: 17. 4. 2009, 12:11:41
Hanka S. - neodpovedala si mi na prvú otázku.
|
||
Hanka S. Profil * |
#7 · Zasláno: 17. 4. 2009, 12:13:56
tiso
datum navstevy restaurace, jmeno restaurace, hodnoceni restaurace |
||
tiso Profil |
#8 · Zasláno: 17. 4. 2009, 12:34:20
Hanka S. - ja to vzdávam, toto nemá cenu...
|
||
joe Profil |
#9 · Zasláno: 17. 4. 2009, 13:50:15
Hanka S.
Máš to dobře, jen ten příklad jsem pak psal pro ten tvůj způsob, takže místo <input name="<?='datum['.$i; ?>]" value="<?=$show_tiket['datum']?>"> |
||
Časová prodleva: 15 let
|
0