Jump to content
  • 0

pomoc Duplikovanie v DB


City2016

Dotaz

Dobrý deň, keďže sa nerozumiem moc dobre PHP ale učím sa, chcem sa spýtať ako zabrániť jednej veci.

 

Príklad: Mám na webe 3 formuláre, ktoré odosielaju udaje do rovnakej DB (aj do rovnakych stlpcov), a moja otazka znie ako docielit to aby pred odoslanim do DB skontrolovalo ci sa tam uz urcita vec v DB(v stlpci) nachadza a tým pádom by ju tam znova nepridalo.

 

Pre lepsie pochopenie: Vyplnim formular meno, priezvisko, ... odoslem a ulozia sa mi udaje do DB.

A chcem zabranit tomu ze napriklad pokial uz bude v DB Meno a priezvisko 1x napriklad Janko Mrkvicka, tak pokial by niekto znova chcel odoslat formular s menom Janko Mrkvicka tak uz to do DB neprida, proste aby sa nerobili duplicitne zaznamy.

 

Viete mi pomoct ?? Ďakujem. 

Link to comment
Share on other sites

7 odpovědí na tuto otázku

Recommended Posts

  • 0

Dobrý deň, keďže sa nerozumiem moc dobre PHP ale učím sa, chcem sa spýtať ako zabrániť jednej veci.

 

Príklad: Mám na webe 3 formuláre, ktoré odosielaju udaje do rovnakej DB (aj do rovnakych stlpcov), a moja otazka znie ako docielit to aby pred odoslanim do DB skontrolovalo ci sa tam uz urcita vec v DB(v stlpci) nachadza a tým pádom by ju tam znova nepridalo.

 

Pre lepsie pochopenie: Vyplnim formular meno, priezvisko, ... odoslem a ulozia sa mi udaje do DB.

A chcem zabranit tomu ze napriklad pokial uz bude v DB Meno a priezvisko 1x napriklad Janko Mrkvicka, tak pokial by niekto znova chcel odoslat formular s menom Janko Mrkvicka tak uz to do DB neprida, proste aby sa nerobili duplicitne zaznamy.

 

Viete mi pomoct ?? Ďakujem. 

Hodíš si do proměnné to jméno z databáze a dáš to do podmínky.

 

Takže potřebuješ:

- Výpis z databáze

- Podmínku, která řekne "Když daný záznam neexistuje", tak se vyvolá kód pro zápis do databáze, pokud ne, tak se vyvolá hláška, že jméno již existuje v databázi. 

Link to comment
Share on other sites

  • 0

Lenže myslel som to tak že sa nejedná o konkrétne meno. Meno môže byť hociaké len proste sa niekedy stane že jeden človek použije aj druhý formulár na webe, ktorý ten údaj odosiela do tej istej DB a tým pádom tam mám 2 údaje s rovnakými údajmi, a tomuto chcem zabrániť že by najskôr nejakým spôsobom skontrolovalo či sa tie údaje už v DB nachádzajú a tak by mu to dalo znamenie že sa formulár kvázi neodoslal pretože už existujú tieto údaje. Neviem či som to dobre vysvetlil. 

Link to comment
Share on other sites

  • 0

Lenže myslel som to tak že sa nejedná o konkrétne meno. Meno môže byť hociaké len proste sa niekedy stane že jeden človek použije aj druhý formulár na webe, ktorý ten údaj odosiela do tej istej DB a tým pádom tam mám 2 údaje s rovnakými údajmi, a tomuto chcem zabrániť že by najskôr nejakým spôsobom skontrolovalo či sa tie údaje už v DB nachádzajú a tak by mu to dalo znamenie že sa formulár kvázi neodoslal pretože už existujú tieto údaje. Neviem či som to dobre vysvetlil. 

No však, tím jménem z databáze jsem myslel to, že uděláš porovnání záznamů z databáze. 

Edited by Petr Hnátek
Link to comment
Share on other sites

  • 0

Vedel by si mi poradit nejaky navod na internete ako na to ?? Nieco som aj hladal ale asi som pre to nepouzil spravny vyraz, velmi by si mi pomohol.

//Připojení k databázi
$connection = mysqli_connect("host", "user", "pass", "db_name");

//Vypíšeš si z databáze sloupec
$zaznam = mysqli_query("SELECT name from nazev_db WHERE name='".$formName."' ", $connection);

//Podmínka, pokud žádný záznam nebyl nalezen, tudíž je prázdný, tak se zapíše do databáze
if(empty($zaznam)) {
     mysqli_query("INSERT...", ....);
} else {
     echo "Jméno již v databázi existuje";
}
Edited by Petr Hnátek
Link to comment
Share on other sites

  • 0

Nebo v ty databazi tomu sloupci nastav vlastnost UNIQUE. pak kdyz se pokusis tam dat neco co tam uz je databaze ti vyhodi error a neprida to tam a jen phpckem vyresis error hlasky

Edited by ATomas
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...