UPDATE databazy – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

UPDATE databazy – PHP – Fórum – Programujte.comUPDATE databazy – PHP – Fórum – Programujte.com

 

tomi860
Newbie
18. 1. 2008   #1
-
0
-

caute mam problem ohladne updatovania databazy. pri registracii a po odoslani udajov sa udaje zapisu do databazy. ale ked chcem udaje po prihlaseni upravit niektore polia, ktore upravit nechcem mi v databaze automaticky prepise resp. vymaze, kedze vo formulari som do daneho pola nic nenapisal. Neviete mi poradit ako to mam zabezpecit, aby mi nevyplnene polia neodosielalo??? dakujem vopred

Nahlásit jako SPAM
IP: 85.135.231.–
18. 1. 2008   #2
-
0
-

Pri vkladani do databaze si v PHP over, jestli je pole nastavene treba takhle:




// jmeno pole je treba "policko"

if(@$_GET["policko"]) ...//zde pridej kod pro pridani tohoto udaje do MySQL prikazu



podminka bude splnena pouze pokud se policko nerovna 0,"" (prazdny retezec) nebo null.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Tocimanko0
Grafoman
18. 1. 2008   #3
-
0
-

Alebo $_POST['policko'] ;)

Neviem, či som ťa správne pochopil, ale ja to riešim asi tak, že si načítam do formulára (v ktorom nastavujem editované hodnoty) všetky pôvodné hodnoty. Keď žiadnu z nich nezmeníš, znovu sa to uloží tak, ako to bolo pôvodne. Dúfam, že ma chápeš...

Nahlásit jako SPAM
IP: 195.91.54.–
tomi860
Newbie
18. 1. 2008   #4
-
0
-

To CommanderZ :

CommanderZ napsal:
Pri vkladani do databaze si v PHP over, jestli je pole nastavene treba takhle:



// jmeno pole je treba "policko"

if(@$_GET["policko"]) ...//zde pridej kod pro pridani tohoto udaje do MySQL prikazu



podminka bude splnena pouze pokud se policko nerovna 0,"" (prazdny retezec) nebo null.






hmm..a nemozem namiesto GET pouzit POST???

Nahlásit jako SPAM
IP: 85.135.231.–
tomi860
Newbie
18. 1. 2008   #5
-
0
-

Tocimanko napsal:
Alebo $_POST['policko'] ;)

Neviem, či som ťa správne pochopil, ale ja to riešim asi tak, že si načítam do formulára (v ktorom nastavujem editované hodnoty) všetky pôvodné hodnoty. Keď žiadnu z nich nezmeníš, znovu sa to uloží tak, ako to bolo pôvodne. Dúfam, že ma chápeš...




ano presne to som chcel spravit aj ja, ale mam tam textarea do ktoreho sa mi neda nacitat predosly text. do klasickych inputov mi to ide, ale do textarea nie

Nahlásit jako SPAM
IP: 85.135.231.–
tomi860
Newbie
18. 1. 2008   #6
-
0
-

neviem ci som to spravil tak ako si myslel

if(@$_POST['name']) $meno=$_POST['name'];
$hesloold=$_POST['hesloold'];
if(@$_POST['nick']) $Username=$_POST['nick'];
if(@$_POST['icq']) $icq=$_POST['icq'];
if(@$_POST['email']) $email=$_POST['email'];
if(@$_POST['osebe']) $popis=$_POST['osebe'];
if(@$_POST['posobenie']) $posobisko=$_POST['posobenie'];

$query = "update users set meno='$meno',Username='$Username',icq='$icq', email='$email', popis='$popis', posobisko='$posobenie' WHERE Password='$hesloold'";


ale takto to nefacha prepisuje to stale

Nahlásit jako SPAM
IP: 85.135.231.–
Tocimanko0
Grafoman
18. 1. 2008   #7
-
0
-



if(@$_POST['name']) $meno=$_POST['name'];
$hesloold=$_POST['hesloold'];

if(@$_POST['nick'])
$Username=$_POST['nick'];

if(@$_POST['icq'])
$icq=$_POST['icq'];

if(@$_POST['email'])
$email=$_POST['email'];

if(@$_POST['osebe'])
$popis=$_POST['osebe'];

if(@$_POST['posobenie'])
$posobisko=$_POST['posobenie'];

$query = "update users set meno='$meno',Username='$Username',icq='$icq', email='$email', popis='$popis', posobisko='$posobenie' WHERE Password='$hesloold'";


Nie nie nie... V tomto tvojom prípade sa uloží buď zmenená hodnota alebo nulová. A ty predsa nechceš uložiť hodnotu, pokiaľ nebola zmenená. Moje riešenie je najjednoduchšie. Ako to, že nevieš načítať text do textarea? Príklad...

Povedzme, že máš v premennej $zaznam[1] uloženú nejakú informáciu, ktorú si "vytiahol" z db. Nasleduje výpis do textarea...



echo "<textarea>".$zaznam[1]."</textarea>";


Jednoduché, že? :)

Nahlásit jako SPAM
IP: 195.91.54.–
18. 1. 2008   #8
-
0
-

Fuj, pracovat s SQL prikazy v textovem rezimu, na to uz jsem si odvykl...:P

Blbes to pochopil.




$sql=array();
if(@$_POST['jmeno']) $sql[]="jmeno='".$_POST['jmeno']."'";
if(@$_POST['telefon']) $sql[]="telefon='".$_POST['telefon']."'";
if(@$_POST['mail']) $sql[]="mail='".$_POST['mail']."'";


$sql="update users set ".implode(", ",$sql)." where...";


Jen jako postouchnuti, rozhodne to neni hotove reseni ;)

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Tocimanko0
Grafoman
19. 1. 2008   #9
-
0
-

Hmm, tak to ti moc neporadím. Mne to funguje. Takisto to používam (ale v inej súvislosti) a fičí to perfektne ;)

Nahlásit jako SPAM
IP: 195.91.54.–
tomi860
Newbie
19. 1. 2008   #10
-
0
-

dakujem vam vsetkym uz to klape ako ma...

Nahlásit jako SPAM
IP: 85.135.244.–
Tocimanko0
Grafoman
19. 1. 2008   #11
-
0
-

Ešte povedz, ako si to vyriešil a v čom bola chyba. Ďalší, ktorí budú mať podobný problém, to určite ocenia ;)

Nahlásit jako SPAM
IP: 195.91.54.–
tomi860
Newbie
20. 1. 2008   #12
-
0
-

no vyriesil som to tak ako pisal Tocimanko :


dal som vzdy nacitat udaje z databazy do poli, ktore su odosielane a v tie, kde sa nic neprepise, resp. nedopise/vymaze sa ulozia rovnako opat do databazy.

Nahlásit jako SPAM
IP: 85.135.244.–
Tocimanko0
Grafoman
20. 1. 2008   #13
-
0
-

:smile2:

Nahlásit jako SPAM
IP: 195.91.54.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

Podobná vlákna

Vkladanie do databázy — založil Peter

Prenasanie celej databazy — založil Ján Varhol

Nova polozka do databazy — založil Elited

Import suborov do databazy — založil Tomas1988

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý