| | |
| Stránka: 1 z 1
| [ Príspevkov: 26 ] | |
Autor | Správa |
---|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
Ako viem nacitat obsah nejakeho riadku v tabulke do textoveho pola, kde ho viem zmenit a nasledne ulozit??
Tusim neco s UPDATE to je, nie??
|
|
Registrovaný: 16.08.07 Prihlásený: 03.10.12 Príspevky: 139 Témy: 25 Bydlisko: Bratislava |
fiha, to je ale zaklad
nacitanie:
Kód: SELECT nazov_stlpca FROM nazov_tabulky WHERE podmienka upldate (upravenie riadky v databaze): Kód: UPDATE nazov_tabulky SET nazov_stlpca = 'hodnota' WHERE podmienka
samozrejme, vacsinou chceme updatnut iba 1 riadok v databaze, tak preto by sme ako podmienku mali zvolit naky jednoznacny identifikator
EDIT: este taky dodatok, tato tema neprati sem, ale do sekcie DATABÁZY
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 15.09.2007 22:10 | |
|
Bananslovak píše: samozrejme, vacsinou chceme updatnut iba 1 riadok v databaze, tak preto by sme ako podmienku mali zvolit naky jednoznacny identifikator
Ešte doplním - jednoznačná zmena len jedného riadku bude zaručená limitom (ten odporúčam obzvlášť pri "DELETE FROM").
Kód: UPDATE nazov_tabulky SET nazov_stlpca = 'hodnota' WHERE podmienka LIMIT 1
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
hmm, ale mne ide hlavne o to, ako ten riadok dostat do textoveho pola, kde ho viem upravit ..
mozno je to zaklad, ale tak kazdy raz zacina.. nemozem sa spytat??
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 16.08.07 Prihlásený: 03.10.12 Príspevky: 139 Témy: 25 Bydlisko: Bratislava |
samozrejme ze sa mozes spytat, od toho je toto forum , ale ajtak odporucam najprv si precitat naku knihu.
no do textoveho pola to dostanes velmi jednoducho, pouzitim funkcie mysql_num_rows()
Kód: //uz sme pripojeny k databaze :-) $query = "SELECT nazov_stlpca FROM nazov_tabulky WHERE podmienka"; $result = mysql_query($query); $line = mysql_num_rows($result);
$vystup = '<input type="text" value= "'.$line['nazov_stlpca'].'" />';
//nezabudneme pouzit funkciu mysql_free_result() pomocou ktorej uvolnime pamat zabratu vysledkom mysql_free_result($result); mysql_close();
//a nakoniec vypiseme echo $vystup;
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 15.09.2007 22:27 | |
|
Už to tu bolo síce asi stokrát, ale opakovanie je matkou múdrosti :
Kód: /* toto je blok pripojenia k databazi */ $hostitel="www.databazovy-server.sk"; $uziv_meno="uzivatelske_meno.sk"; $heslo="supertajne_heslo"; $DB="databaza"; @$spojenie=mysql_connect($hostitel, $uziv_meno, $heslo); if(!$spojenie) echo "Nepodarilo sa vytvorit spojenie s hostitelom $hostitel!"; else { @$navratova_hodnota=mysql_select_db($DB); if (!$navratova_hodnota){ echo "Nepodarilo sa nastavit databazu $DB!"; } } /* tu konci blok pripojenia, zacina sa blok zadavania queries (dopytov) databazi*/ $query = " SELECT nazov_stlpca FROM nazov_tabulky WHERE podmienka ";
$result = mysql_query($query); if ($result) { $row = mysql_fetch_assoc($result); $upraveny_zaznam = toto_je_funkcia_na_upravu($row['nazov_stlpca']); $query = " UPDATE nazov_tabulky SET nazov_stlpca = '".$upraveny_zaznam."' WHERE podmienka LIMIT 1 "; $update = mysql_query($query); if($update){ echo "Hura, upraveny zaznam sme ulozili!"; } else { echo " SQL query: $query <hr>Status: ERROR <hr>".mysql_error()." <hr> "; exit; } } else { echo " SQL query: $query <hr>Status: ERROR <hr>".mysql_error()." <hr> "; exit; }
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 16.08.07 Prihlásený: 03.10.12 Príspevky: 139 Témy: 25 Bydlisko: Bratislava |
a este dodam, ze pokial mas ako vysledok vratenych viac riadkov, a chces sa dostat ku vsetkym a nie len k prvemu, spravis to pomocou while:
Kód: while ($line = mysql_fetch_array($result)) { vystup .= '<input type="text" value="'.$line['nazov_stlpca'].'" />'; }
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
ta podmienka je tam nutna?? musim ju zadat??
Bananslovak:
Preco mas vsade tie bodky?? Na aky ucel su??
Normalne sa s nimi spajaju veci, ale tu nevidim, co by to spajalo..
p360t:
u teba mi to hadze chybu
Fatal error: Call to undefined function: toto_je_funkcia_na_upravu() in D:\WEB\Natt\blackshadow\test5\admin.php on line 11
Tu funkciu niekde musim zadefinovat??
|
|
Registrovaný: 16.08.07 Prihlásený: 03.10.12 Príspevky: 139 Témy: 25 Bydlisko: Bratislava |
Blackshadow píše: ta podmienka je tam nutna?? musim ju zadat??
Bananslovak: Preco mas vsade tie bodky?? Na aky ucel su?? ...
Ked mas retazec v apostrofoch, a chces tam vlozit naku premennu, musis ho prerusit. A v apostrofoch je to pre to, aby som napr. sem type=\"text\" nemusel davat spatnme lomitka. Pripada mi prehladnejsie, ked cas od casu prerusis retazec, ako ked mas vsade same spatne lomitka
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 17.09.2007 16:30 | |
|
Pod tou funkciou "toto_je_funkcia_na_upravu()" si predstav akékoľvek úpravy, ktoré potrebuješ. Písal si, že tie dáta chceš upraviť. Môžeš to zmazať a nahradiť blokom kódu, alebo si nejakú funkciu na tú úpravu zadefinovať.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
nutne nieje nič stačí ti zrobiť spojenie na 3 riadky (resp. na dva)
Kód: mysql_connect("server", "meno", "heslo"); mysql_select_db("tabulka")
a potom ti stačí zrobiť dopyt: Kód: $dopyt=mysql_query("SELECT * FROM nazov_tabulky WHERE podmienka") $vysledok=mysql_fetch_array($dopyt); echo "<input type='text' value='".$vysledok["nazov_stlpca"]."'>";
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
Bananslovak:
diki, je to velka pomoc, to som nevedel, ja som stale daval \"..
p360t:
tiez uz chapem
Tominator:
Pekny kod, kratucky, taky pre mna zrozumitelny
nacitalo mi to ale len prvy riadok a hlavne ako to odoslem? Pomocou Submit tlacitka UPDATE ??
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
Asi ma mate za blbca, ale ako viem z tabulky, dajme tomu: "tabulka" a zo stlpca "nadpis" vybrat urcity riadok (uklada sa mi id riadku, takze by to mohlo byt nahradene premennou, ktoru by som menil podla id a podla toho by to nacitavalo riadok) a ten riadok by sa mi nacital do textoveho pola, kde bude tlacitko ktorym ked to upravim, tak to ulozi naspat..
skusal som uz hadam vsetko mozne, aj knihu mam, ale stale mi to hadze chyby a nic nerobi ;(
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 22.11.05 Prihlásený: 29.01.23 Príspevky: 712 Témy: 25 Bydlisko: SK-Martin | Napísal mokus: 16.10.2007 7:50 | |
|
nič nerobí? a načo máš tú knihu? dával si vôbec ten INPUT kde ti načíta to pole/údaj na editovanie, do FORM? veď pri úprave ti tie upravené dáta zase musí niečo spracovať
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
Spravil som nieco take, ze ten text mi prepisuje tym formom
Ale ja cem nacitat test do formu, nie form do textu
Kde je chyba?
(nesmejte sa nad lama chybami plz )
Kód: <?php include("config.php");
$query = " SELECT nadpis FROM bsupload WHERE `id` = '1' ";
$result = mysql_query($query); if ($result) {
while ($row = mysql_fetch_assoc($result)) { $upraveny_zaznam .= ' <form name="administracia" method="post" enctype="multipart/form-data"> <input name="obrazok_nadpis" type="text" id="obrazok_nadpis" size="55" maxlength="255"><br> <input type="submit" name="odoslat" value="odoslat"> </form>' ; }
$query = " UPDATE bsupload SET nadpis = '".$upraveny_zaznam."' WHERE id = 2 "; $update = mysql_query($query); if($update){ echo "Záznam upravený!"; } else { echo " SQL query: $query <hr>Status: ERROR <hr>".mysql_error()." <hr> "; exit; } } else { echo " SQL query: $query <hr>Status: ERROR <hr>".mysql_error()." <hr> "; exit; } ?>
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky | |
Registrovaný: 25.10.07 Prihlásený: 29.12.14 Príspevky: 6 Témy: 0 | Napísal Neo13: 25.10.2007 19:14 | |
|
ako si to teda vyriesil? napise niekto funkcne riesenie? mne to nejak nechce ist
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
Cele som to prerobil..
daj prikaz na nacitanie z datbazi, cez prikaz while, aby stale nacitavalo a obsah tych stlpcov davaj do tagu textarea.. nasledne odosles, spracujes v dalsom subore, ako pri vkladani a mas..
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 25.10.07 Prihlásený: 29.12.14 Príspevky: 6 Témy: 0 | Napísal Neo13: 25.10.2007 19:52 | |
|
vypisem do textarea... upravim si... ale ako to zasa poslat do db aby to zmenilo... to neviem nefunguje mi tam nic
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
Kód: UPDATE tabulka SET stlpec = '$upraveny_z_formulara' WHERE id = '$riadok_toho_co_upravujes'
|
|
Registrovaný: 25.10.07 Prihlásený: 29.12.14 Príspevky: 6 Témy: 0 | Napísal Neo13: 25.10.2007 20:56 | |
|
a este ako ziskam upraveny z formulara a ten riadok? na to som neprisiel ako to priradit k premennej nejako funkcne...
dik
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
vsak ten input vo formulari nejak pomenujes,napr: name="meno"
a potom do php:
$upravene_meno = $_POST['meno'];
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 25.10.07 Prihlásený: 29.12.14 Príspevky: 6 Témy: 0 | Napísal Neo13: 25.10.2007 21:04 | |
|
no a ten riadok?
to je jedno, ten zadam manualne ale aj tak to neurobi co ma
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
najlepsie tak, ze do toho formulara nacitas aj cislo riadku, das ako readonly, nech to nevies menit, a budes to mat tym padom aj ocislovane a vies ho tak isto nacitat ako aj to meno...
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 25.10.07 Prihlásený: 29.12.14 Príspevky: 6 Témy: 0 | Napísal Neo13: 25.10.2007 21:16 | |
|
staci ako kod, co vlozi do db toto? <?php
include("databaza.inc.php");
$upraveny=$_POST['nazov'];
$query = "
UPDATE notebooky_asus SET nazov = '".$upraveny."' WHERE id =1
";
?>
vyhodil som naozaj vsetko
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
stačí. Celé riešenie:
Načítanie:
Kód: <form action="praca.php" method="POST"> <? mysql_connect("server", "meno", "heslo"); mysql_select_db("tabulka");
$dopyt=mysql_query("SELECT * FROM nazov_tabulky WHERE podmienka"); $vysledok=mysql_fetch_array($dopyt); echo "<input type='text' name="posielame" value='".$vysledok["nazov_stlpca"]."'>"; ?> <input type="submit"> <form>
praca.php kde to uložíme Kód: <? $poslane=$_POST["posielame"];
mysql_connect("server", "meno", "heslo"); mysql_select_db("tabulka");
$praca=mysql_query("UPDATE 'tabulka' SET nazov_stlpca WHERE 'podmienka=nejaka';");
//--nepodstatna časť: if($praca) echo "Prebehlo úspešne - jaká náhoda!"; else echo "Teda, fatal error -> to je priemer :) "; ?>
|
|
| Stránka: 1 z 1
| [ Príspevkov: 26 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|