Autor Zpráva
Hanka S.
Profil *
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
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
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']?>">
Po odeslání budeš mít tedy výsledky v poli, i když teď mi dochází že to je jedno, no dobře, jak chceš :-)

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 *
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 *
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
Hanka S. - neodpovedala si mi na prvú otázku.
Hanka S.
Profil *
tiso

datum navstevy restaurace, jmeno restaurace, hodnoceni restaurace
tiso
Profil
Hanka S. - ja to vzdávam, toto nemá cenu...
joe
Profil
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']?>">
napíšeš to původní, bez těch hranatých závorek a mělo by to fungovat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: