Autor | Zpráva | ||
---|---|---|---|
MilanJ Profil |
#1 · Zasláno: 20. 2. 2006, 03:26:36
Po úspěšně vykonaném SQL dotazu dojde v mém kódu ke zpracování dat a zobrazení tabulky.
Ve výsledné zobrazované tabulce se zobrazuje odkaz, který umožní otevření nové stránky, na které bude moci uživatel daný řádek databáze editovat v nějakém formuláři. A teď problém: Jak podle odkazu pozná, o kterou položku databáze jde??? Napadlo mě předávat hodnotu pomocí SESSION, ale nevím, jak odkaz se SESSION provázat, takže výsledek stejný. Jak se v takovýchto případech postupuje? Kód mé tabulky v PHP: ... $pocet_radku = mysql_num_rows($vysledek_dotazu); if ($pocet_radku >= 1) // našel minimálně 1 řádek { echo '<table width="485" border="1" cellpadding="3" cellspacing="2">'; echo '<tr>'; echo '<td width="70" bgcolor="#0033CC" class="login">Začátek</td>'; echo '<td width="70" bgcolor="#0033CC" class="login">Konec</td>'; echo '<td width="150" bgcolor="#0033CC" class="login">Název</td>'; echo '<td width="175" bgcolor="#0033CC" class="login">Popis</td>'; echo '<td width="20" bgcolor="#0033CC" class="login"></td>'; echo '</tr>'; while($radek = mysql_fetch_array($vysledek_dotazu)) { echo "<TR>"; echo "<TD>".ereg_replace("([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})"."([0-9] {2})([0-9]{2})", "\\3.\\2.\\1 - \\4:\\5",$radek["zacatek"])."</TD>"; echo "<TD>".ereg_replace("([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})"."([0-9] {2})([0-9]{2})", "\\3.\\2.\\1 - \\4:\\5",$radek["konec"])."</TD>"; echo "<TD>".$radek["nazev"]."</TD>"; echo "<TD>".$radek["popis"]."</TD>"; echo "<TD><a href='detail_aukce.php'>detail</a></TD>"; echo "</TR>"; } echo "</table>"; |
||
Hugo Profil |
#2 · Zasláno: 20. 2. 2006, 05:11:53
Stačí k tomu odkazu přidat do URL odkaz na primární klíč.
echo "<TD><a href='detail_aukce.php?id=".$radek['id']."'>detail</a></TD>"; |
||
MilanJ Profil |
#3 · Zasláno: 20. 2. 2006, 08:06:08
echo "<TD><a href='detail_aukce.php?id=".$radek['id']."'>detail</a></TD>";
Zní to nadějně, ale co to pak udělá? Jak na další stránce, kde chci zobrazit detail zobrazím požadovaná data? Využiju to, co je už vygenerováno a odkážu se přímo na to? |
||
MilanJ Profil |
#4 · Zasláno: 20. 2. 2006, 08:16:16
Tak mě napadlo, že jsi to myslel jinak...že se dá hodnota primárního klíče v URL na další stránce nějak vytáhnout a použít, ne?
Pokud tomu tak je, nevím jak. |
||
Hugo Profil |
#5 · Zasláno: 20. 2. 2006, 08:18:32
MilanJ
Budeš ji mít v proměnné $_GET['id']. Pak pomocí této hodnoty vytáhneš data z db. |
||
MilanJ Profil |
#6 · Zasláno: 20. 2. 2006, 08:19:02
Skvěle! Díky.
|
||
mitr Profil |
#7 · Zasláno: 20. 2. 2006, 11:58:53
MilanJ
nebylo by lepší ten "ereg_replace" dělat předtím než to vložíš do DB ? a ne při vypisování z DB ? :-) btw: nebylo by lepší kdyby každý řádek byl formulář s možností editace záznamu,každá hodnota by byla <input ...... value="'.$radek["zacatek"].'"> a nakonci s tlačítkem změnit ? a přidal bych tam ještě: <input type="hidden" name="id" value="'.$radek["id"].'" /> aby se vědělo o který řádek jde :) |
||
MilanJ Profil |
#8 · Zasláno: 20. 2. 2006, 12:11:09
nebylo by lepší ten "ereg_replace" dělat předtím než to vložíš do DB ? a ne při vypisování z DB ?
Já myslím, že je to jedno, ne? btw: nebylo by lepší kdyby každý řádek byl formulář s možností editace záznamu,každá hodnota by byla <input ...... value="'.$radek["zacatek"].'"> ... Možné to je, ale takhle to má svoji logiku, vidím to v širším kontextu, je potřeba, celá aukce byla "blbuvzdorná", a takhle mi to přijde jednodušší a na první pohled srozumitelnější. Ale je to věc názoru. |
||
mitr Profil |
#9 · Zasláno: 20. 2. 2006, 12:33:57
MilanJ
Proč vkládat do databáze něco co potom budeš pokaždé kontrolovat, proč to nezkontrolovat jednou při vkládání ? I tak někdo může do databáze vložit nehezké věci, někd ejinde to zapomeneš zkontrolovat .... důvodů by se našlo určitě ještě víc :) Nevěděl jsem co to vlastně vůbec je, pokud je to aukce a bude tak dostupná pro XXX lidí a není to jen věc pro administrátora, tak OK. Ale jinak pokud by to bylo něco pro administraci atd, tak by mi to připadalo zase rychlejší, bez načítání další stránky :) |
||
MilanJ Profil |
#10 · Zasláno: 20. 2. 2006, 23:28:14
pokud je to aukce a bude tak dostupná pro XXX lidí a není to jen věc pro administrátora, tak OK
Přesně tak, je to především pro lidi. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0