| | |
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec |
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; }
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 31.10.2013 9:41 | |
|
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec | Napísal autor témy Elrohir: 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 ...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
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 |
|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec | Napísal autor témy Elrohir: 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 ???
|
|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec | Napísal autor témy Elrohir: 07.11.2013 14:55 | |
|
Stanley , ake su tie spravne funkcie ? neviem to dat dajak dokopy ...
|
|
Registrovaný: 02.06.08 Prihlásený: 19.07.16 Príspevky: 3325 Témy: 147 Bydlisko: Žilina / Os... |
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) | |
|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec | Napísal autor témy Elrohir: 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 1To , 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
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 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! |
|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec | Napísal autor témy Elrohir: 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 ?
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 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! |
|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec | Napísal autor témy Elrohir: 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.
|
|
Registrovaný: 02.06.08 Prihlásený: 19.07.16 Príspevky: 3325 Témy: 147 Bydlisko: Žilina / Os... |
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) | |
|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec | Napísal autor témy Elrohir: 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
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 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! |
|
Registrovaný: 30.08.13 Prihlásený: 12.12.13 Príspevky: 64 Témy: 7 Bydlisko: Senec | Napísal autor témy Elrohir: 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
|
|
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| proti hacku v Redakčné systémy | 4 | 1441 | 10.04.2006 17:57 gumy | | ochrana proti spamerom v PHP, ASP | 11 | 744 | 08.02.2008 14:56 Tominator | | Bezpečnosť proti XSS v PHP, ASP | 2 | 466 | 30.05.2014 21:59 Ďuri | | Ochrana proti \n v PHP, ASP | 6 | 625 | 11.12.2008 12:49 B.A.X.O | | Ochrana proti linkovaniu v Ostatné | 0 | 691 | 17.05.2009 1:21 JanoF | | antivir proti spyware v Antivíry a antispywary | 6 | 756 | 02.04.2011 16:25 baltimora | | Ockovanie proti chripke [ Choď na stránku: 1, 2 ] v Zdravie, medicína, choroby a liečenie | 32 | 1822 | 26.11.2009 20:36 reDo | | Ochrana proti prepisovaniu v Operačné systémy Microsoft | 0 | 470 | 11.03.2009 16:20 Pavol.F | | Boj proti piratum v Operačné systémy Microsoft | 23 | 1854 | 04.10.2005 12:33 Luks | | Stužka proti Ficovi [ 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 | | Za a proti v Grafické karty | 9 | 758 | 12.06.2008 2:07 Saky | | Ako proti spamu? v Sieťové a internetové programy | 2 | 466 | 20.04.2010 17:52 Milan.H | | Ochrana proti CSRF v Ostatné | 20 | 781 | 03.11.2011 14:38 Flety | | ochrana proti spamu v PHP, ASP | 2 | 428 | 23.04.2009 17:38 stenley | | MicroSD - ochrana proti zápisu v Ostatné zariadenia | 5 | 7292 | 21.08.2008 13:27 fanky112 | | Ochrana proti zmazaniu súboru v Ostatné programy | 3 | 1217 | 07.08.2011 11:13 tairikuokami |
| 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
|
|