LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek PHP (41) - Měníme data v databázích

Hmm... 23.8.2004 18:02
CIJOML

A neni lepsi si poridit databazi s podporou rollback? :D Zalohovani trva dlouuuuuuhoooo

Re: Hmm... 23.8.2004 18:42
Petr Zajíc

Rozhodně je to lepší. V dalším díle je k tomuto tématu noticka ve smyslu tom, že transsakce, uložené procedury, triggery a jiná hejblátka činí život programátora malinko snesitelnějším.

Doufám, že si tím trochu nakloním davy postgresistů, kteří mě chtěli po uveřejnění prvního článku o MySQL lynčovat ;-))

Další díl totiž bude o odstraňování záznamů, kde je potřeba nějakého bezpečného mechanizmečku ještě daleko palčivější.

Prohlížeč 1.4.2008 18:58
Dan Pelíšek

Dobrý den, na konci článku je napsáno: "... jako například IP adresa z níž byl přístup proveden, použitý prohlížeč a tak dále." Vím že tento dotaz nebude přímo k tématu tohoto dílu, ale přesto se zeptám. Jak se dá v php zjistit použitý prohlížeč? Typuju že to bude asi obsaženo v header, ale nevím kde.

proměná v SQL? 1.4.2008 20:36
Dan Pelíšek

Mohu v příkazu REPLACE zvědšit číslo v buňce o 1? Jedná se o počítadlo s tým, že u každé IP bude počet, kolikrát právě daná IP navštívila stránku. Mělo by to vypadat nějak takhle:

mysql_query("REPLACE INTO tabulka (pocet, ip) VALUES (pocet+1, '".$REMOTE_ADDR."')");

Jenže pocet+1 nefunguje. Nevíte jak na to?

Re: proměná v SQL? 1.4.2008 23:19
Aleš Hakl

To nefunguje z pomerne zrejmeho duvodu, co by to jako melo delat, kdyz to vklada novy zaznam? Hledate spise UPDATE.

Dve efektivni metody jak efektivne zmenit existujici nebo vlozit novy radek:

Provest naslepo UPDATE a pokud nezmeni zadny radek, provest INSERT. (to mi prijde jako rozumnejsi pristup)

Provest INSERT a pokud selze kvuli naruseni integritnich omezeni, provest UPDATE. (takle treba funguje neco podobneho REPLACE v sqlite)

Pochopitelne je treba to delat v transakci a zamyslet se nad nejruznejsimi soubehy, pokud tohle ucinite, zjistite, ze udelat v databazi citac, ktery je zaroven spolehlivy a efektivni v podstate nejde, ovsem otazkou je, jak moc to vadi.

Re: proměná v SQL? 2.4.2008 21:01
Dan Pelíšek

Děkuju za odpověď. Udělat to pomocí UPDATA a INSERT mě také napadlo, ale v článku se píše doslova: "Přesně řečeno místo INSERT a UPDATE použijete REPLACE".
Zkoušel jsem použít ještě REPLACE ve tvaru UPDATE - mysql_query("REPLACE INTO tabulka SET pocet=pocet+1, ip='".$REMOTE_ADDR."'"); , ale ani toto nefunguje. Chtěl jsem REPLACE použít jen proto, abych se ho také naučil, ale pokud žádnou jeho formou nemůžu nahradit UPDATE a INSERT zároveň, tak ho nejspíš používat stejně nebudu.

Re: proměná v SQL? 2.4.2008 21:28
Aleš Hakl

No ono to vase neni "nahradit INSERT a UPDATE zaroven", protoze "INSERT INTO foo VALUES(pocet + 1)" je evidentni nesmysl. Vyrazy v REPLACE se zcela logicky nemuzou odkazovat na hodnoty z meneho radku, protoze ten, kdyz se vyhodnocuji, nemusi existovat. REPLACE je urcene na neco trochu jineho.


KOMENTARZE
Hmm... 23.8.2004 18:02 CIJOML
L Re: Hmm... 23.8.2004 18:42 Petr Zajíc
Prohlížeč 1.4.2008 18:58 Dan Pelíšek
proměná v SQL? 1.4.2008 20:36 Dan Pelíšek
  L Re: proměná v SQL? 1.4.2008 23:19 Aleš Hakl
    L Re: proměná v SQL? 2.4.2008 21:01 Dan Pelíšek
      L Re: proměná v SQL? 2.4.2008 21:28 Aleš Hakl
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4789x
2. FreeBSD
Download: 8979x
3. PCLinuxOS-2010
Download: 8483x
4. alcolix
Download: 10792x
5. Onebase Linux
Download: 9565x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6134x

1. xinetd
Download: 2324x
2. RDGS
Download: 937x
3. spkg
Download: 4539x
4. LinPacker
Download: 9787x
5. VFU File Manager
Download: 3109x
6. LeftHand Mała Księgowość
Download: 6994x
7. MISU pyFotoResize
Download: 2695x
8. Lefthand CRM
Download: 3480x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 2991x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz