Autor | Zpráva | ||
---|---|---|---|
Routh Profil * |
#1 · Zasláno: 19. 11. 2008, 21:55:02
Dobrý večer, již mám v provozu na webu formulář pomocí ktrého zapíši text do sloupců v tabulce, a následně ho vypíši an jiné stránce. Problém nastavá když chci jednotlivé zápisi védst pod ID číslem, každý zápis aby si tvořil další vlastní tabulku a šly ty data přes PHP editovat. Zde jsou použité kódy pro zápis a výpis, děkuji za rady.
Vyplňovací formulář <form action='odeslani.php' method='POST'> <ul> <li> <div class='ml40 pb10'> <table width='500' border='0'> <tr> <td align='left' width='200px'> <label class='block w140' for='o_name'>Jméno:</label></td><td align='left' width='300px'> <input class='w140' name='o_name' value type='text' size='20'> * </td> </tr> <tr> <td align='left' width='200px'> <label class='block w140' for='o_surname'>Text:</label></td><td align='left' width='300px'> <input class='w300' name='o_text' value type='text' size='20'> * </td> </tr> </table> </div> </li> </ul> <input type='submit' value='Odeslat' name='sent'> </form> ?> Odesílací soubor <?php include("db.php"); //Starting app with verify connect to database $o_name = $_POST['o_name']; $o_text = $_POST['o_text']; $sql = "INSERT INTO formular VALUES('$o_name', '$o_text')"; $vysledek_vlozeni = mysql_query($sql); if (!$vysledek_vlozeni) die('Nepodařilo se vložit nový řádek.'); ?> db.php připojovací údaje <? $sql = mysql_connect("xxxxx","xxxxx","xxxxx" ); mysql_select_db("xxxxx"); ?> Kód pro výpis dat z db <? include ("db.php"); $sql="SELECT * FROM formular"; //vytvoření sql dotazu $vysledek = MySQL_Query($sql); // provedení sql dotazu while ($formular = MySQL_Fetch_Array($vysledek)){ $o_name=$formular["o_name"]; $o_text=$formular["o_text"]; print "<div style=' margin-bottom:2px; padding-left:10px;'>".$o_name."<br>".$o_text."<br></div>"; } ?> |
||
Routh Profil * |
#2 · Zasláno: 19. 11. 2008, 21:56:57
Promiňte pro upřesnění, aby si vytvořili vlastní tabulku, myslím tím html tabulku, pomocí klteré budou data uspořádána na stránce.
|
||
Routh Profil * |
#3 · Zasláno: 21. 11. 2008, 20:42:18
Mohl by mi tu někdo poradit ?
|
||
Alphard Profil |
#4 · Zasláno: 21. 11. 2008, 21:08:18
tak dejte tabulce sloupec id int auto_increment
nebo v čem je problém? dal jste sem kód, ale nanapsal jste, co nefunguje, pak je každá rada drahá |
||
Routh Profil * |
#5 · Zasláno: 21. 11. 2008, 21:10:17
Tento kód celý funguje, je to jen čistě zápis a výpis z DB. Já potřebuji poradit s editací, aby ty data šly měnit na webu.
|
||
Alphard Profil |
#6 · Zasláno: 21. 11. 2008, 21:27:55
$sql = "INSERT INTO formular VALUES('$o_name', '$o_text')"; tabulka formulář nemá sloupec id, bez něho je editace problémová, protože v update dotazu nepůjde specifikovat záznam 1. viz výše, přidejte sloupec id 2. vypíšete požadovaný záznam (asi vybraný ze seznamu) do formuláře, id se většinou dává do input hidden 3. upravíte a odešlete PHP 4. editujete dotazem na databázi: update formular set jmeno = 'nove_jmeno', text = 'text' where id = 12 |
||
Routh Profil * |
#7 · Zasláno: 21. 11. 2008, 21:40:39
OK, přidám ID sloupec, ale dál přesně nevím jak popisujete co kam napsat nebo vytvořit další skript pro další stránku kde bude editovat a vybrat zápis.
|
||
Alphard Profil |
#8 · Zasláno: 21. 11. 2008, 21:50:02
zajistit editaci je docela pracné :-(
asi budete muset vytáhnout všechny záznamy, vypsat je a dát k nim odkazy pro editaci, např. <a href="edit.php?id=12">Editovat</a> (to je jedna stránka) pak stránka edit.php bude muset načíst konkrétní záznam a vypsat ho do formuláře (druhá stránka) po upravení textu ve formuláři se musí odeslat zpět na server, kde se zpracuje, viz výše (třetí stránka) v kolika souborech to bude záleží na návrhu vašeho systému |
||
Routh Profil * |
#9 · Zasláno: 21. 11. 2008, 22:22:26
Jak se tedy pracuje s těmi ID ? TY tam musí být danné proměnou ne ?
|
||
Alphard Profil |
#10 · Zasláno: 21. 11. 2008, 22:43:54
|
||
Routh Profil * |
#11 · Zasláno: 22. 11. 2008, 00:25:13
Hm klasika, já atyk nci moc nečekal, vždy jen hodíte link na obrovské téma a nazdar, mno nic já chtěl jen třeba ukázat na hotovém skriptu co co je. Ale tady se toho nikdy nedoberu.
|
||
joe Profil |
#12 · Zasláno: 22. 11. 2008, 00:27:10
Routh
„Hm klasika, já atyk nci moc nečekal...“ A jak myslíš, že se to asi učili ti, co by ti měli radit..? Když něco chceš umět, musíš tomu taky věnovat nějaký čas. |
||
Routh Profil * |
#13 · Zasláno: 22. 11. 2008, 00:45:23
Já vím, ale kupříkladu linuxsoft bych moc neuváděl, protože z něho lde pochopit jen teorie, pokud vím tak toto je logické programování a k tomu je potřeba praxe a odzkoušet si to, pochopit. Když mi tu někdo hodí zklopčenej skript a lajcky řekne co co dělá, budu mu vděčen, já to pochopím a budu se vtom š´tourat, dokud to nebude hotový. Zjistil jsem že je k tomu používán příkaz UPDATE. Jen nevím jak provést to aby to vybralo správný řádek, jestli by to šlo nějak rozlišit, těm ID nastavit např. čas nebo název.
|
||
Alphard Profil |
#14 · Zasláno: 22. 11. 2008, 00:55:55
Routh
já jsem se snažil směrovat vás, navést vás na správnou cestu ptal jste se na auto_increment, takže jsem vás odkázal na manuál, na tom nevidím nic špatného, je to na pět minut, jestli máte problém s angličtinou, jsou i české návody, koneckonců, google funguje všem stejně a pro volné chvilky jsem vám odkázal linuxsoft, vím, že je tam tuna teorie, ale bez ní to nejde nikdo vás nenutí to číst, je to jen doporučení a nevím, proč se tady rozčilujete, tohle není technická podpora placeného software, s takovouhle moc odpovědí nezískáte „ Když mi tu někdo hodí zklopčenej skript a lajcky řekne co co dělá, budu mu vděčen“ to máme sypat scripty z rukávů? spusta lidí tady používá frameworky, templatovací systémy apod. vykopírovat z toho funkční script pro editaci není v žádném případě otázka jednoho Ctrl + C a V |
||
Routh Profil * |
#15 · Zasláno: 22. 11. 2008, 11:23:34
Já se tu nerozčiluji, ale pokavad se zeptám na cokoliv, hned mi odpovídáte nauč se PHP a MySQL, jenže pokavad to mám jako koníček a nemůžu se to učit celej den, tak bych čekal nějakou lepší podporu než hodit link a uč se. Kdybych chtěl odkazy na seriály o tom tak mi postačí google, ale pokud tomu moc nerozumím, tak bych chtěl jen jednoduché vysvětlení, né psaní scriptů a otravování vás. Toť vše.
Mohl by mi tedy někdo poradit jak zakomponuji UPDATE do mého kódu ? prosím. |
||
Mastodont Profil |
#16 · Zasláno: 22. 11. 2008, 11:50:37
UPDATE je v podstatě to samé co INSERT, liší se to jen tím klíčem pro identifikaci záznamu. Takže formulář pro update bude vypadat téměř stejně, jen je při odesílání potřeba načíst hodnoty z databáze a dosadit je do value:
INSERT: <input class='w300' name='o_text' value type='text' size='20'> UPDATE: <input class='w300' name='o_text' value='tohle je načteno ze sloupce Text' type='text' size='20'> Primární klíč (ID) se dá vložit jako skryté pole do formuláře, ale tomu bych se raději vyhnul a uložil si ho do session, aby ho nějaký fiškus uhřík-hekřík nezměnil. No a v tom odesílacím souboru zkontroluji, zda jde o update nebo insert a podle toho odešlu SQL. |
||
Časová prodleva: 16 let
|
0