Autor Zpráva
LukasR
Profil *
Zdravím všechny,

Používám při výpisu dat na stránku - přes while - jeden obalový DIV a v něm 3 schované na principu ZobrazSkryj, o čemž se toho popsalo již mnohé. Nicméně narazil jsem na problém když jsem v jedné ze 3 rozklikávacích sekcí chtěl zakomponovat přímo i editaci. Přiblížím:

První je obalový DIV - na stránce se jich vypíše pěkně pod sebe třebas 10, 20, 50..dle počtu záznamů v DB, jasné, víme, známe.
V každém takovém DIVu jsou tři vnořené, které si dle potřeby zobrazíme (schováme). V jednom informace, v druhém obrázky, a ve třetím právě má být editace, tak aby to bylo pěkně po kopě a "user friendly" bez proklikávání jinam.

Problém je, že při vkládání do DB mi patřičný kód nepřiřadí ID toho či onoho DIVu a změna tedy neproběhne. Proces se dokončí, JS mi přešoupne url na OK hlášku, ale v DB nic. Ticho. Předpokládám, že to nerozpozná který ID chci měnit, a tak to projede bez efektu.

Jak tedy přiřadit požadavku, aby poznal, že jsem rozkliknul editaci na řádku 8, a edituji tedy data která patří v DB k ID 8?

$neco = MySQL_Query("SELECT * FROM neco ORDER BY -datum ASC LIMIT 0,10");
    while ($pl = mysql_fetch_assoc($neco))
        {
         ..vypsané DIVy
                 echo "<div id="e$pl[id]" class="schovano">";

e$pl[id] rozkrývá DIV s editací, při vkládání (UPDATu) do DB jsem k WHERE ID = dal $pl[id], nicméně ID to nerozpoznalo.

Za každou radu budu moc vděčný.
(Omlouvám se pokud to vysvětluji složitě, nemám ten správný cit předkládat myšlenku do psaného projevu tak aby to ostatní dobře chápali :-)
Lukáš.
Lonanek
Profil
Předpokládám, že data ke zpracování jsou odesílány pomocí formuláře. Je také odesláno i $pl[id], respektive $pl['id'].

Myšlenky se nemusí překládat, stačilo by vložit ukázku kódu...
LukasR
Profil *
Ano, pomocí formuláře, zapomněl jsem to zmínit.

Odesílá se toto:
        if(isset($_POST['upravitzaznam'])){
            $e_nazev = $_POST['e_nazev'];
            $e_cena = $_POST['e_cena'];
            $e_stav = $_POST['e_stav'];  // dalších XY položek
                        MySQL_Query("UPDATE reality SET .. WHERE id='$pl[id]'");    
                        }

V tomto znění u WHERE ID mi $pl[id] nic nerozpozná a nepřiřadí se.
juriad
Profil
Přidej si do editačního formuláře <input type="hidden" name="id" value="$pl[id]">, a potom při editaci najdeš ID v $_POST['id'].
LukasR
Profil *
juriad:
Děkuji mnohokráte, již vše funguje. Nevím proč mne hidden nenapadl, přitom jsem jej již používal. Uf.

S pozdravem,
Lukáš.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0