Autor | Zpráva | ||
---|---|---|---|
AMATER Profil * |
#1 · Zasláno: 1. 8. 2007, 16:01:36
Prosim Vas nevedel by mi niekto napisat jednoduchy kod ako mam urobit,
aby ked si vo formulary napisem do okienka nieco, tak to po kliknuti na SUBMIT zapisalo do tabulky v databaze cez mysql??? Prosim, neviem to urobit, viem to iba urobit bez tej premennej, ale neviem ako napisat kod tak, aby som si ja napisal do formulara slovo, ktore sa zapise do tabulky, teda vsadit do kodu premennu. DAKUJEM KRAAAAAAASNE. |
||
Taps Profil |
#2 · Zasláno: 1. 8. 2007, 16:18:19
Jednoduchá ukázka:
$prvni_hodnota=$_POST['prvni_hodnota']; $druha_hodnota=$_POST['druha_hodnota'] mysql_query("insert into tabulka values('$prvni_hodnota','$druha_hodnota')"); |
||
AMATER Profil * |
#3 · Zasláno: 1. 8. 2007, 16:45:22
Dakujem kraaaaasne, trosku som si to prisposobil a ide mi to...
ale mozes mi este prosim poradit s poslednou vecou? ako mam urobit, aby mi prazdnu kolonku nevypisovalo... teda ak nic nenapisem a kliknem na submit aby to neodoslalo??? Dakujem este raz :)))))) |
||
beax Profil * |
#4 · Zasláno: 1. 8. 2007, 17:08:07
ak na strane klienta tak javascriptom
ak na strane servera tak over ci je hodnota prazdna |
||
AMATER Profil * |
#5 · Zasláno: 1. 8. 2007, 17:27:04
Oki dakujem, uz aj to som zvladol...
a neviete niekto preco ak si dam do kodu aby mi zobrazilo riadky, tak mi ich zobrazuje v stlpci a nie tak v riaku ako su zapisane v tabulke v databaze??? |
||
AMATER Profil * |
#6 · Zasláno: 1. 8. 2007, 17:33:32
nooo, uz som urobil urobil aby to bolo v riadku, a preco mi dalsi riadok daze vedla a nie pod ten prvy???
|
||
fikus Profil * |
#7 · Zasláno: 1. 8. 2007, 18:06:20
asi proto, ze musis rucne odradkovat, nejlepe kdyz v ramci cyklu vygenerujes html tabulku, prip. kazdy radek uzavri mezi <p>radek</p>, pro jednoduche otestovani muzes pouzit i <br>, ktere umistis na konec kazdeho pruchodu cyklu.
|
||
AMATER Profil * |
#8 · Zasláno: 1. 8. 2007, 18:24:53
uz to maaaaaaaaaaaaaaaam,
kraaaaaasne dakujem vsetkym co pomohli :) |
||
AMATER Profil * |
#9 · Zasláno: 2. 8. 2007, 20:17:39
Prosim, este by som potreboval poriesit to zapisovanie z formulara..
Vsetko sa zapisuje ok, ale neviem urobit to overenie ci je formular vyplneny, lebo stale sa mi odosle aj nevyplneny a tak tam vzikaju prazdne miesta... :((((( Nedari sa mi to, lepsie povedane, neviem to urobit, skusal som co som si myslel ze by mohlo byt, ale na to nestacim... prosim viete mi nieto napisat priklad ako sa da overit formular??? dakujem pekne |
||
echo Profil * |
#10 · Zasláno: 2. 8. 2007, 20:30:07
if (!empty($_POST['prvni_hodnota'])) {
//urob to svoje } else { //hodnota je prazdna } |
||
AMATER Profil * |
#11 · Zasláno: 2. 8. 2007, 21:13:03
funguje tooooooooooooooooooooo :)))))
Dakujem... Take jednoduche a ja sa tu s tym trapim a nebyt echa, trapim sa ktovie dokedy... Dakujem este raz... |
||
AMATER Profil * |
#12 · Zasláno: 3. 8. 2007, 13:35:58
Prosim Vas, mudri ludia :)))
Pripadam si tu ako taky tupec, ale vedel by mi niekto poradit s tymto? Mam vytvorenu databazu, kde su mena a prikazdom mene sa v prehliadaci zobrazi aj tlacitko "Zadat" Na "dalsom liste" mam formular kde sa vyplnaju hodnoty, medzi inymi aj Meno. Dalo by sa to urobit dat, ze ak kliknem na tlacitko "Zadat" v zozname, tak sa prepne stranka do "druheho listu" a kolonka "Meno" vo formulary uz bude vypisana prisluchajucim menom z riadku kde som klikol na "Zadat"? Ako sa to robi? super by bolo ak niekto ma priklad.... Dakujem za radu. :)) |
||
Petr--- Profil * |
#13 · Zasláno: 3. 8. 2007, 15:11:08
Ideální by bylo, kdyby každé jméno v té tabulce mělo svůj jedinečný identifikátor - nejlépe číslo které se bude zadávat třeba do sloupce jménem "id".
Na prvním listě do inputu toho tlačítka "Zadat" vygeneruješ ke každému jménu třeba tohle: action="druhy-list.php?id=cislo-ze sloupce-id" Na druhém listě pak pomocí $id = $_POST['id']; získáš proměnou $id kterou využiješ v SELECTu a dáš jí do WHERE: SELECT id, jmeno, atd FROM tabulkasejmeny WHERE id = '$id' a třeba to jmeno pak vypíšeš opět do inputu formuláře vložením value="$jmeno" Ale netuším, jestli je tohle přesně co chceš... |
||
Petr--- Profil * |
#14 · Zasláno: 3. 8. 2007, 15:13:00
Sorry, ten action má být ve <form>
|
||
Petr--- Profil * |
#15 · Zasláno: 3. 8. 2007, 15:22:49
Sakra já jsem neměl ponocovat... omlouvám se všem, znovu:
Na prvním listě do formuláře se jménem vygeneruješ navíc třeba tohle: <input type="hidden" name="id" value="cislo-id"> Action toho formuláře bude jen action="druhy-list.php" Na druhém listě pak pomocí $id = $_POST['id']; získáš proměnou $id kterou využiješ v SELECTu a dáš jí do WHERE: SELECT id, jmeno, atd FROM tabulkasejmeny WHERE id = '$id' a třeba to jmeno pak vypíšeš opět do inputu formuláře vložením value="$jmeno" |
||
AMATER Profil * |
#16 · Zasláno: 3. 8. 2007, 18:37:39
Dekuji mockrat, tak ja to jdem skusit :))
|
||
Časová prodleva: 20 dní
|
|||
AMATER Profil * |
#17 · Zasláno: 23. 8. 2007, 10:17:32
Prosím Vás, mne to aj tak nefunguje, asi som to nejako zle napísal alebo neviem čo,
ale stále mi to nefunguje ani zďaleka... Narážam na ten problém, ktorý som mal naposledy: Mám vytvorenú databázu, kde sú mená a pri každom mene sa v prehliadači zobrazí aj tlačítko "Zadat" Na "ďalšom liste" mám formulár kde sa vypĺňajú hodnoty, medzi inými aj Meno. Dalo by sa to urobit tak, ze ak kliknem na tlačítko "Zadat" v zozname, tak sa prepne stránka do "druhého listu" a kolonka "Meno" vo formuláry už bude vypísana prislúchajúcim menom z riadku kde som klikol na "Zadat"? Také mám zdrojove kódy: prvy.php <?php $id=$_POST['ID']; $Meno=$_POST['Meno']; mysql_cennect("localhost", "ja", ""); mysql_select_db("test"); $sql = mysql_query("SELECT * FROM TAB1 ORDER BY ID"); echo ('<table frame="border" border="2">'); echo ('<tr><td>ID</td><td>Meno</td><td>Vyber</td></tr>'); while($row = mysql_fetch_arrat($sql)) { echo "<tr><td>".$row[ID]."</td><td>".$row[Meno].'<td><form action="druhy.php"><input type="submit" name="Potvrd"></form>'; } echo "</table>"; ?> druhy.php <?php $Meno=$_POST['Meno']; $Poznamka=$_POST['Poznamka']; $Ano=$_POST['Ano']; $Nie=$_POST['Nie']; $Anoo=$_POST['Anoo']; $Niee=$_POST['Niee']; $Poznamkaa=$_POST['Poznamkaa']; if(!empty($_POST['Meno'])) { @$spojenie = mysql_cennect("localhost", "ja", ""); or die (Neda sa pripojit"); echo '<br /><br />'; mysql_select_db("test") or die ('Nepodarilo sa pripojit.'); $prikaz = ("INSERT INTO TAB2 (Meno,Ano1,Nie1,Poznamka1,Ano2,Nie2,Poznamka2") VALUES (Meno,Ano1,Nie1,Poznamka1,Ano2,Nie2,Poznamka2") ; $result = mysql_query( $prikaz ) or die ('Chyba'); } else { } { ?> <form method="POST"> <input type="text" name="Meno"><br /> <input type="Checkbox" name="Ano" Value="1">Ano<br> <input type="Checkbox" name="Nie" Value="1">Nie<br> Poznamka<input type="text" Name="Poznamka"><br /> <input type="Checkbox" name="Anoo" Value="1">Ano<br> <input type="Checkbox" name="Niee" Value="1">Nie<br> Poznamka<input type="text" Name="Poznamkaa"><br /> </form> <? } ?> DAKUJEM KRAAASNE KAZDEMU, KTO MI HOCI LEN Z CASTI POMOZE... |
||
Jack Finger Profil |
#18 · Zasláno: 23. 8. 2007, 10:30:22
AMATER
mám pocit, že funkce k připojení k databázi je mysql_connect(), ale to bude pravděpodobně překlik... ;o) |
||
nightfish Profil |
#19 · Zasláno: 23. 8. 2007, 10:34:30
Jack Finger
mám pocit, že funkce k připojení k databázi je mysql_connect() jak to, vždy se přece k databázi "kenektuješ", ne? :-) AMATER mysql_fetch_arrat mysql_fetch_array $row[ID] kde máš definovanou konstantu ID? a vůbec by asi bylo dobré nastavit error_reporting na E_ALL a pokochat se DAKUJEM KRAAASNE KAZDEMU chtělo by to zřejmě novou klávesnici, na které se nebude zasekávat klávesa "A" |
||
AMATER Profil * |
#20 · Zasláno: 23. 8. 2007, 10:41:36
áno to pripojenie na databázu je preklik.
a ča sa týka toho definovania ID, tak v prvom súbore definovaná je $id=$_POST['ID']; v druhom súbore definovaná nie je, lebo ju nikde nepotrebujem, tak ju ani nedefinujem... |
||
Jack Finger Profil |
#21 · Zasláno: 23. 8. 2007, 10:41:57
nightfish
no jo, já zapomněl, teď abych přepisoval všechny skripty :o) AMATER možn by nebylo od věci napsat, co to vypisuje za chyby... |
||
AMATER Profil * |
#22 · Zasláno: 23. 8. 2007, 10:42:48
je tam mozno este aj viac preklepov, lebo som cely zdroj prepisoval a nie kopcil...
take chyby si nemusite vsimat... ide o tu podstatu, proglemu... |
||
Jack Finger Profil |
#23 · Zasláno: 23. 8. 2007, 10:44:06
nightfish
kde máš definovanou konstantu ID? to bude asi sloupec z db, akorát vynechal apostrofy nebo uvozovky... |
||
Jack Finger Profil |
#24 · Zasláno: 23. 8. 2007, 10:45:33
AMATER
co to píše za chyby, když dáš na začátek celýho skriptu řádek: error_reporting(7); ?? |
||
AMATER Profil * |
#25 · Zasláno: 23. 8. 2007, 10:45:55
ono to nevypisuje ziadne chyby, vsetko je OK, to co potrebujem urobit tam nie je vobec zakomponovane este, lebo to neviem urobit...
|
||
nightfish Profil |
#26 · Zasláno: 23. 8. 2007, 10:46:44
ča sa týka toho definovania ID, tak v prvom súbore definovaná je
konstanty se definuje pomocí funkce Define() - tu tam nikde nemáš a tudíž zápis $row[ID] musí minimálně vyhodit varování o neexistující konstantě ID - bohužel si PHP v tomto případě domyslí, že asi místo ID tam má být "ID" a nějak to zprocesuje take chyby si nemusite vsimat... ide o tu podstatu, proglemu... zatím jsi ještě nenapsal, co to vypisuje za chyby při error_reporting nastaveném na E_ALL bez toho se asi nikomu nebude chtít zkoumat tvůj kód |
||
nightfish Profil |
#27 · Zasláno: 23. 8. 2007, 10:47:54
áááha, takže problém typu "něco mi nefunguje", nýbrž "naprogramujte mi"
|
||
nightfish Profil |
#28 · Zasláno: 23. 8. 2007, 10:50:21
prvy.php
echo "<tr><td>".$row['ID']."</td><td><a href='druhy.php?Meno=".$row['Meno']."'>".$row['Meno']."</a>..."; a druhy.php místo $Meno=$_POST['Meno']; bude if (isSet($_POST['Meno'])) $Meno = $_POST['Meno']; else if (isSet($_GET['Meno'])) $Meno = $_GET['Meno']; else $Meno = ""; a pak <input type="text" name="Meno" value="<?php echo $Meno;?>"><br /> |
||
Jack Finger Profil |
#29 · Zasláno: 23. 8. 2007, 10:51:45
AMATER
co takhle?
|
||
AMATER Profil * |
#30 · Zasláno: 23. 8. 2007, 10:59:31
nie tam malo byt "nieco mi nefunguje" lebo uz mi jeden chalan raz radi aj mi napisal ako to urobit, ale to co mi napisal nefungovalo, tak som myslel, ze on tu znova bude a on vie o co ide...
ale tak to tu asi nefunguje... |
||
Téma pokračuje na další straně.
|
0