Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 16 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok NapísalOffline : 31.10.2013 8:14

prosim Vas ako spravim podmienku proti duplicite ?

Kód:
$sn_od = stripslashes(htmlspecialchars(trim(safe($_POST['sn_od']))));
$sn_do = stripslashes(htmlspecialchars(trim(safe($_POST['sn_do']))));

$dat = "SELECT sn FROM db_sn";
$res = mysql_query($dat) or die($dat."<br/>". mysql_error());
$sn = $res['sn'];

    if( $sn === $sn_od && $sn === $sn_do )
    {
        $sql = "INSERT INTO projekt (p_datum, i_datum, model, sn_od, sn_do, meno, reason) VALUES ('$p_datum1','$i_datum1','$model','$sn_od','$sn_do','$meno','$reason')";
        mysql_query($sql) or die($sql."<br/>". mysql_error());

        ...

        echo "Successful";
        mysql_close();
    }
    else
    {
        echo "<script language=javascript> alert('Serial number is allredy in the databaze, try again.') </script>";
        return true;
    }


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 31.10.2013 9:41

Možno sa ti hodí klauzula ON DUPLICATE KEY UPDATE
http://dev.mysql.com/doc/refman/5.0/en/ ... icate.html







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok Napísal autor témyOffline : 31.10.2013 9:56

Dakujem , ale to nie je to co by som potreboval.

Potrebujem sprati to aby pri odoslani 6tich udajov s formulara skontrolovalo podla dvoch ,s tych 6tich, udajov ci sa nachadza v databaze, ak ano tak vyhodit alert ze sa uz nachadza a nic sa neudeje a vrati sa na stranku a ak sa nenachadza v db tak proste insertne ...


Offline

Správca fóra
Správca fóra
uprava proti duplicitam

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 31.10.2013 10:52

Da sa to riesit viacerymi sposobmi. Naviazem na ten, ktory mas nacrtnuty vo svojom kode, aj ked je v podstate u teba nefunkcny a nelogicky. V prvom selecte si zistis pocet zaznamov, ktore obsahuju tebou zvolene 2 udaje (SELECT...WHERE...). Ak sa nic nenajde, vykonas insert, inak zobrazis alert. Jednoduche, len je potrebne pouzit spravne funkcie...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok Napísal autor témyOffline : 31.10.2013 11:17

no ja som tym kodom co mam chcel povedat to ze ak $sn s databazy rovna odoslanemu $sn_od tak zapis a ak nie tak alert.
no a nefunkcny je pretoze bud zapisuje vsetko alebo nic.
Taaak tu sa to trocha komplikuje pretoze to co odosiela formular sa zapisuje do tabulky projekt a to podla coho kontrolujem je v tabulke db_sn , tu ako nastavim ten SELECT ... WHERE ???


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok Napísal autor témyOffline : 07.11.2013 14:55

Stanley , ake su tie spravne funkcie ?
neviem to dat dajak dokopy ...


Offline

Užívateľ
Užívateľ
uprava proti duplicitam

Registrovaný: 02.06.08
Prihlásený: 19.07.16
Príspevky: 3325
Témy: 147
Bydlisko: Žilina / Os...
Príspevok NapísalOffline : 07.11.2013 19:53

Však ti to napísal, už len pri tom selecte čo tam máš sa musia prenášať dáta, takto to môžeš spraviť ako ti napísal
Kód:
SELECT sn FROM db_sn WHERE [row]= sn_od;
Ak vráti False, tak spravíš insert. Alebo ešte lepšie to skontrolovať cez
Kód:
SELECT COUNT();







_________________
PC - ASUS M2N-MX Se+ | AMD X2 4200+ | 2GB RAM | Nvidia 8600GT | WD 320GB | 350W |NTB - ASUS K50AB SX-010 | | ASUS X550L | SteelSeries Mousepad | A4tech XL-750BF | HTC Explorer |
CCNA (640-802) |
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok Napísal autor témyOffline : 08.11.2013 8:51

Takto:
Kód:
$dat = "SELECT count(sn) FROM db_sn WHERE [row]= sn_od AND [row]= sn_do;";
$res = mysql_query($dat) or die($dat."<br/>". mysql_error());

alebo
Kód:
$dat = "SELECT count(db_sn.sn) FROM db_sn JOIN projekt WHERE [row]= projekt.sn_od AND [row]= projekt.sn_do";
$res = mysql_query($dat) or die($dat."<br/>". mysql_error());

v oboch pripadoch mi to hlasi error sql syntax
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[row]= sn_od , [row]= sn_do' at line 1

To , Ak vrati false tak insert inak true tak alert , mam spravit cez if , else alebo while , if , else ?


Naposledy upravil Elrohir dňa 08.11.2013 12:53, celkovo upravené 2

Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 08.11.2013 9:26

lebo za [row] si máš doplniť svoje názvy stĺpcov (sĺpcov, takže neviem, majky358, prečo si napísal row, ale nevadí)
To prvé je správne, presne tak to urob a ak to vráti nulu, nič také tam nie je a môžeš smelo pridávať.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok Napísal autor témyOffline : 08.11.2013 9:35

tak som to skusil takto a stale to vypisuje tu istu chybu ako keby nepoznalo [row]
Kód:
SELECT count(sn) FROM db_sn WHERE [row]= sn_od, sn_do

a sn_od a sn_do su nazvy stlpcov v tabulke databazy
Nevadi ze su to dve rozne tabulky v databaze ?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 08.11.2013 10:11

Aspoň klauzulu SELECT a JOIN by si si veru mohol pozrieť hlbšie, zíde sa ti to.
A tiež by si mmal čítať, čo ti ostatní píšu a snažiť sa to pochopiť
BX píše:
lebo za [row] si máš doplniť svoje názvy stĺpcov


Napíš ako vyzerá tá časť tvojej databáze, ktorú chceš kontrolovať







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok Napísal autor témyOffline : 08.11.2013 10:28

Ved citam a snazim sa to chapat, ale inak mi to nepride to za [row] mam doplnit svoje nazvy stlpcov ako tak ako som napisal.
Ano pozrel som si SELECT, UPDATE, INSERT, JOIN, JOIN LEFT, WHERE, ORDER BY ...
Nepochopil som co chces.
Databazu mam rozdelenu do troch tabuliek a to projekt kde sa ukladaju zakladne udaje , db_sn tu sa nachadzaju viacerer udaje a tu sa robia vsetky zmeny a user kde si registrovany uzivatelia .
Medzi zakladne udaje su aj sn_od a sn_do cize sa nachadzaju v tabulke projekt a tieto udaje sa nesmu opakovat, v tabulke db_sn je zas sn ktore je vytvorene podla sn_od a sn_do a podla tych udajov ktore su v stlpci sn sa kontroluje ci sa nachadza ci nie.


Offline

Užívateľ
Užívateľ
uprava proti duplicitam

Registrovaný: 02.06.08
Prihlásený: 19.07.16
Príspevky: 3325
Témy: 147
Bydlisko: Žilina / Os...
Príspevok NapísalOffline : 08.11.2013 14:36

Však
Kód:
SELECT COUNT("názov stlpcu") FROM "nazov tabulky" WHERE "nazov stlpcu" = "hodnota"
Selektuješ počet záznamov zo stĺpcu x a tabuľky xy kde stĺpec x = hodnota. Ak ti to vráti nulu, tak daný záznam sa vtom stĺpci nenachádza takže si spravíš INSERT ako chceš. Ak sa nemýlim by to malo fungovať, skús, študuj atď....







_________________
PC - ASUS M2N-MX Se+ | AMD X2 4200+ | 2GB RAM | Nvidia 8600GT | WD 320GB | 350W |NTB - ASUS K50AB SX-010 | | ASUS X550L | SteelSeries Mousepad | A4tech XL-750BF | HTC Explorer |
CCNA (640-802) |
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok Napísal autor témyOffline : 08.11.2013 14:58

ech dnes som dajaky vymlety,
ano to viem co to znamena, mne islo len o to where a ci nevadi ze su to dve tabulky ale mi to uz doslo konecne,
ved stujem, skusam a studujem...atd ...

Tak dufam ze to uz spravim a ked to uz pojde dam sem vysledk.

Aaale este jedna otazka v " SELECT count(sn) FROM db_sn WHERE nazov stlpca = 'hodnota' " - tak nazov stlpca je stlpec ktorim porovnavam data posielane na insert a hodnota ma byt $sn ?

Dakujem vam


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 08.11.2013 20:01

Nazov stlpca je nazov stlpca v databaze, porovnavas to s premennou. A ak je to z dvoch tabuliek, musis pouzit aj JOIN. A nazvy stlpcov radsej pis aj s nazvom tabulky, vyhnes sa tym vela problemom.
Napr ak mas tabulku Tabulka1 a Tabulka2 a v Tabulka1 mas stlpec do, v Tabulka2 mas stlpec od, tak to napises ako
Kód:
SELECT COUNT(*) FROM Tabulka1 JOIN Tabulka2 WHERE Tabulka1.do = $do AND Tabulka2.od = $od;
Ak su premenne typu string (textove). tak este patria do apostrofov.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.13
Prihlásený: 12.12.13
Príspevky: 64
Témy: 7
Bydlisko: Senec
Príspevok Napísal autor témyOffline : 11.11.2013 12:30

hm tak som to dobre mal teda , potom nechapem preco to nefunguje , nevadi skusim na nieco prist a ked nie napisem
zatial dakujem este raz


Odpovedať na tému [ Príspevkov: 16 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. proti hacku

v Redakčné systémy

4

1441

10.04.2006 17:57

gumy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ochrana proti spamerom

v PHP, ASP

11

744

08.02.2008 14:56

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Bezpečnosť proti XSS

v PHP, ASP

2

466

30.05.2014 21:59

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ochrana proti \n

v PHP, ASP

6

625

11.12.2008 12:49

B.A.X.O Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ochrana proti linkovaniu

v Ostatné

0

691

17.05.2009 1:21

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. antivir proti spyware

v Antivíry a antispywary

6

756

02.04.2011 16:25

baltimora Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ockovanie proti chripke

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Zdravie, medicína, choroby a liečenie

32

1822

26.11.2009 20:36

reDo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ochrana proti prepisovaniu

v Operačné systémy Microsoft

0

470

11.03.2009 16:20

Pavol.F Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Boj proti piratum

v Operačné systémy Microsoft

23

1854

04.10.2005 12:33

Luks Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Stužka proti Ficovi

[ Choď na stránku:Choď na stránku: 1, 2, 3, 4, 5 ]

v Spoločnosť, politika, psychológia, filozofia, náboženstvo

126

5071

19.04.2010 11:07

don jebot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Za a proti

v Grafické karty

9

758

12.06.2008 2:07

Saky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako proti spamu?

v Sieťové a internetové programy

2

466

20.04.2010 17:52

Milan.H Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ochrana proti CSRF

v Ostatné

20

781

03.11.2011 14:38

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ochrana proti spamu

v PHP, ASP

2

428

23.04.2009 17:38

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MicroSD - ochrana proti zápisu

v Ostatné zariadenia

5

7292

21.08.2008 13:27

fanky112 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ochrana proti zmazaniu súboru

v Ostatné programy

3

1217

07.08.2011 11:13

tairikuokami Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra