IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @621
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Ekonomický softvér KROS

Programy na vedenie komplexnej agendy JÚ a PÚ. Vyskúšajte demo zadarmo! www.kros.sk

Účtovníctvo, Faktúry, Sklady

jednoducho ovládateľné programy od MRP za 20 rokov cez 100000 inštalácií www.mrp.sk

Ešte ho nemáte?

Výhodné poistenie motorových vozidiel nájdete na našej stránke. www.uniqa.sk

Webhosting - akcia +9 mesiacov

K ročnému predplatnému až 9 mesiacov zadarmo pri prevode hostingu k nám. www.exohosting.sk

Informačné systémy na mieru

Naprogramujeme vám softvér presne pre vaše firemné procesy. www.partnersoft.sk

overenie, ci udaje v tabulke uz existuju

Zaslať odpoveď
AutorSpráva
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: St 05.12.07 20:45Odpovedať s citátomNávrat hore

takze

vytvoril som tabulku:

kód:
CREATE TABLE IF NOT EXISTS `tabulka1` (
  `cislo` int(3) NOT NULL auto_increment,
  `email` varchar(50) collate cp1250_czech_cs NOT NULL,
  `meno` varchar(20) collate cp1250_czech_cs NOT NULL,
  `priezvisko` varchar(20) collate cp1250_czech_cs NOT NULL,
  `obec` varchar(50) collate cp1250_czech_cs NOT NULL,
  `vek` int(3) NOT NULL,
  PRIMARY KEY  (`cislo`)


do tabulky davam udaje z formulara

kód:


$pripojenie = mysql_connect("localhost", "***", "***");

mysql_select_db("tabulka1", $pripojenie);

$poziadavka = "INSERT INTO tabulka1 (email, meno, priezvisko, obec, vek) ";

$poziadavka .= "VALUES (\"$email\", \"$meno\", \"$priezvisko\", \"$obec\", \"$vek\");";

mysql_query($poziadavka) or die ("Stala sa chyba v spojeni s DB !");

mysql_close($pripojenie);

echo "Dakujeme. <br> Tvoje údaje boli odoslane ... ";



vsetko uz pekne funguje ...

no a pomohli by ste mi s tym, aby som do DB, resp. do tabulky tabulka1 nezadaval rovnake udaje, t.j. aby mi pri zadavani hodnot kontrolovalo v databaze, ci sa uz dane udaje nevyskytuju ... napriklad ak je uz jozko mrkvicka zadany v DB, aby mi ho nedovolilo zadat este raz ...

ak uz uzivatel existuje v DB, malo by php vyplut nejaky text, ze "dany uzivatel uz existuje a podobne ..."

snad rozumiete
Zobraziť informácie o autoroviOdoslať súkromnú správu
vl4kn0
Užívateľ
Užívateľ

Založený: 22.11.2007
Príspevky: 254
Bydlisko: 127.0.0.1

PríspevokZaslal: St 05.12.07 21:17Odpovedať s citátomNávrat hore

povedzme ze si uz formular odoslal a zistujes ci zadany nick uz existuje. ked nie regne ho. ked ano vypise error. tak to musis spravit tak ze vytiahnes data z databazi kde nick = $_POST['nick'] a ked ma dotaz viac vysledkov ako 0 tak uz je taky zaznam cize kod:

kód:
$sql = 'SELECT id FROM users WHERE nick='.$_POST['nick'];
$result = mysql_query($sql);
$nums = mysql_num_rows($result);

if ($nums != 0)
{
   print 'Takyto nick uz je registrovany';
}
else
{
  $sql = 'INSERT INTO users bla bla...';
}

_________________
PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber...
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQZobraziť autorove WWW stránky
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: St 05.12.07 21:40Odpovedať s citátomNávrat hore

nick je malo, to je ako keby som kontroloval len meno, ale ved ludia mozu mat rovnake meno ... mohol by si mi to upravit tak, povedzme aby kontrolovalo meno, priezvisko a mesto? proste 3 hodnoty ... potom je uz mala sanca ze sa najdu taki 2ja ludia ...
Zobraziť informácie o autoroviOdoslať súkromnú správu
Flety
Užívateľ
Užívateľ

Založený: 26.11.2006
Príspevky: 4109
Bydlisko: HE(Humenne) - KE
Vek: 18

PríspevokZaslal: St 05.12.07 21:44Odpovedať s citátomNávrat hore

ved si to prerob na 3krat a potom napr urob tak ze
kód:
if($nums_meno!==0 and $nums_priezvisko!==0 and $nums_mesto!==0)
{echo 'uz existuje';}
else
{echo 'moze byt';}

a btw vl4kn0 chyba ti tam jedno rovna sa: if ($nums != 0) ma byt if ($nums !== 0)

_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3776
Bydlisko: Bratislava
Vek: 27

PríspevokZaslal: St 05.12.07 21:51Odpovedať s citátomNávrat hore

v tom selecte proste pridas dalsie podmienky, ktore potrebujes:

kód:
$sql = "SELECT id FROM users WHERE nick='{$_POST['nick']}' AND priezvisko='{$_POST['priezvisko']}' AND mesto='{$_POST['mesto']}'";

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
juho
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 16.05.2007
Príspevky: 837

PríspevokZaslal: St 05.12.07 22:01Odpovedať s citátomNávrat hore

Drako napísal:
vl4kn0 chyba ti tam jedno rovna sa: if ($nums != 0) ma byt if ($nums !== 0)
a odkedy ? nejak mi to uslo. kedy to zas zmenili??cio?

_________________
getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mail
vl4kn0
Užívateľ
Užívateľ

Založený: 22.11.2007
Príspevky: 254
Bydlisko: 127.0.0.1

PríspevokZaslal: St 05.12.07 22:12Odpovedať s citátomNávrat hore

drago ale vobec mi tam to rovnasa nechyba tak nefantaziruj:D
3 znaky su tam len na overenie ci sa rovna aj typ v tomto pripade kedze obydva typi su integer by to vyhodnocovalo spravne a bolo by to uplne zbytcone:D
a k tomu overovaniu viac inputov. mozes si to upravit ako len chces. to je natebe. ale overovanie mena by som zo zasady nedaval. kedze urcite existuju 2ja ludia co sa volaju rovnako. keby chces overovat napr nick a mail nepoviem. ale meno je zbytocne..

_________________
PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber...
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQZobraziť autorove WWW stránky
Flety
Užívateľ
Užívateľ

Založený: 26.11.2006
Príspevky: 4109
Bydlisko: HE(Humenne) - KE
Vek: 18

PríspevokZaslal: St 05.12.07 22:52Odpovedať s citátomNávrat hore

no ja som pocul ze ak chces porovnavat tak musis dat 2x rovna sa a ak chce priradovat tak staci jedno alebo to tak nieje???

_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
vl4kn0
Užívateľ
Užívateľ

Založený: 22.11.2007
Príspevky: 254
Bydlisko: 127.0.0.1

PríspevokZaslal: St 05.12.07 23:00Odpovedať s citátomNávrat hore

ono je to tak
jedno rovna sa = je priradenie hodnoty
2 rovnasa == porovnavanie
3rovnasa === porovnavanie hodnoty a typu
prve je myslim jasne druhe tiez
az na to ze nerovna sa nahradzas to prve rovna sa ! cize !=
a pri troch !== to byb bolo porovnanie typu. cize napr v tretom priklade

$i = 1;

if ($i == true) // vracia true
if ($i ==1 ) vracia true
if ($i === 1) vracia true lebo 1==1 a int == int
if ($i === true) vracia false lebo 1==1 ale int nerovna sa boolean
a to iste mas ale s negaciou != a !== len prve rovnasa nahradzas vykricnikom

_________________
PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber...
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQZobraziť autorove WWW stránky
Flety
Užívateľ
Užívateľ

Založený: 26.11.2006
Príspevky: 4109
Bydlisko: HE(Humenne) - KE
Vek: 18

PríspevokZaslal: Št 06.12.07 10:51Odpovedať s citátomNávrat hore

aha, to som mal vediet skor dikes

_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: Št 06.12.07 11:02Odpovedať s citátomNávrat hore

dikes za vsetky odpovede ...
no idem to skusit ... budem vas informovat
Zobraziť informácie o autoroviOdoslať súkromnú správu
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: Pi 07.12.07 13:52Odpovedať s citátomNávrat hore

skusil som to, ale vypisalo chybu , brrrr.

takze skusil som to takto (len meno testujem zatial):

kód:

$pripojenie = mysql_connect("localhost", "***", "***");

mysql_select_db("dulius", $pripojenie);


//$sql = "SELECT id FROM tabulka1 WHERE meno='{$_POST['meno']}' AND priezvisko='{$_POST['priezvisko']}' AND obec='{$_POST['obec']}'";

$sql = 'SELECT id FROM tabulka1 WHERE meno='.$_POST['meno'];
$result = mysql_query($sql);
$nums = mysql_num_rows($result);

if ($nums != 0)
{echo 'take meno uz existuje';}
else
{

$poziadavka = "INSERT INTO tabulka1 (email, meno, priezvisko, obec, vek) ";

$poziadavka .= "VALUES (\"$email\", \"$meno\", \"$priezvisko\", \"$obec\", \"$vek\");";

mysql_query($poziadavka) or die ("Stala sa chyba v spojeni s DB !");

mysql_close($pripojenie);

echo "Ïakujeme. <br> Tvoje údaje boli odoslane ... <a href=\"vypis.php\">Preh¾ad podporovate¾ov</a>";

}


a vypisalo chybu:

kód:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\VertrigoServ\www\index3.php on line 206


206 line je tento: $nums = mysql_num_rows($result);

asi s tymi premennymi niekde robim chybu...
Zobraziť informácie o autoroviOdoslať súkromnú správu
stenley
Moderátor
Moderátor

Založený: 27.07.2007
Príspevky: 3776
Bydlisko: Bratislava
Vek: 27

PríspevokZaslal: Pi 07.12.07 14:04Odpovedať s citátomNávrat hore

retazec v sql musi byt uzatvoreny do uvodzoviek alebo apostrofov

kód:
$sql = "SELECT id FROM tabulka1 WHERE meno='".$_POST['meno']."'";

_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabber
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: Pi 07.12.07 14:17Odpovedať s citátomNávrat hore

stenley napísal:
retazec v sql musi byt uzatvoreny do uvodzoviek alebo apostrofov

kód:
$sql = "SELECT id FROM tabulka1 WHERE meno='".$_POST['meno']."'";

v tom to asi nebude, vypisuje tu istu chybu ...
Zobraziť informácie o autoroviOdoslať súkromnú správu
dulius
Užívateľ
Užívateľ

Založený: 20.01.2007
Príspevky: 348

PríspevokZaslal: Pi 07.12.07 14:18Odpovedať s citátomNávrat hore

select id ... to id tam ma byt? nema tam byt nieco ine?
co to znamena?

co som robil nejake pokusy, stale som daval select *, akoze vyber vsetkeho ...
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
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.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd