Kezdőoldal » Számítástechnika » Weblapkészítés » Regisztráció megvalósítása...

Regisztráció megvalósítása MYSQL-el,2 külön táblába. Pontosan hogyan?

Figyelt kérdés

Sziasztok!

Van két táblám, kicsit leegyszerüsítve(több mező van):


Users:

id,username


Users_Desc:

id,user_id,email


Szóval a html formmal megkapom az adatokat, de nem tudom, hogy vigyem fel célszerűen?


1) vigyem fel előszőr az Users táblába az adatokat. utána kérdezzem le az id-t, majd hozzam létre a Users_Desc-ben az adott userhez tartozó rekordot?


2) Users_Desc táblában ne legyen id, hiszen az user_id is jó annak. és akkor egy lépésben feltölthetem , nem kell lekérdezgetni.


Még nem csináltam ilyesmit, és így nézve a 2. jobbnak tűnik, de lehet van benne vmi buktató, amit nem látok. Segítsetek pls!


2011. aug. 10. 00:47
1 2
 1/11 anonim ***** válasza:
Miért van két külön tábla egyáltalán?
2011. aug. 10. 00:51
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:
Mert elég sok rekord van. És így szerettem volna leegyszerűsíteni az adatbázist. Amik szükségesek a számlához, azok kerültek be az Users táblába, amik meg pl. a felhasználó profiljában megjelennek, azok az Users_Desc-ben. Vki írta itt régebben, hogy ilyenkor érdemes szétválasztani.
2011. aug. 10. 00:53
 3/11 anonim ***** válasza:
Csak akkor érdemes szétválasztani, ha 1:n kapcsolat van, egyébként felesleges... Ebben az esetben meg főleg, mert így vagy joinolgatsz(nem túl jó) vagy több lekérdezést írsz(ez sem jó).
2011. aug. 10. 00:57
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:
Furán fogalmaztam m,ondjuk, nem reghez kell join, hanem majd később, ha adatokat akarsz kinyerni... Ebben az esetben simán 2 insert into és csókolom.
2011. aug. 10. 00:59
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:

Nem kell joiningolni.

Belépéskor letárolom az user_id-t Session-be.


Ha megnyitja a profilját, akkor meg user_id alapján csak egy lekérdezés.


Az admin felületnél mondjuk már van join, de azt meg nem hívják meg olyan gyakran, hogy zavaróan sok erőforrást foglaljon.

2011. aug. 10. 01:00
 6/11 anonim ***** válasza:
És mégis mi alapján léptetsz be ember? Nem látok jelszót, az email meg a másik táblában van -.-
2011. aug. 10. 01:02
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:

írtam, hogy leegyszerűsítettem a táblákat , hogy csak 1 adatmezőt tartalmazzanak.


Users táblában van username,jelszo,email bla bla bla

Users_Desc táblában van lakcímen át, születési dátumig minden vacak...

2011. aug. 10. 01:10
 8/11 anonim ***** válasza:

Én inkább így csinálnám:


CREATE TABLE `lol`.`users` (


`user_id` INT NOT NULL AUTO_INCREMENT ,


`email` VARCHAR(45) NOT NULL ,


`nickname` VARCHAR(45) NOT NULL ,


`real_name` VARCHAR(100) NOT NULL ,


`password` VARCHAR(16) NOT NULL ,


`password_salt` VARCHAR(40) NOT NULL ,


`created_at` DATETIME NOT NULL DEFAULT 'NOW()' ,


`updated_at` DATETIME NOT NULL DEFAULT 'NOW()' ,


`user_dscr` MEDIUMTEXT NULL ,


`lakcim` VARCHAR(255) NULL ,


`varos_id` INT(10) NULL ,


`megye_id` INT(2) NULL ,


PRIMARY KEY (`user_id`) ,


UNIQUE INDEX `email_UNIQUE` (`email` ASC) ,


UNIQUE INDEX `nickname_UNIQUE` (`nickname` ASC) )


ENGINE = InnoDB


DEFAULT CHARACTER SET = utf8


COLLATE = utf8_general_ci;



így a városok meg a megyék mehetnek külön táblába, így sokkal könnyebb a usernek is (nem kell neki beírni, választ selectből) meg neked is kezelni, mert nem nagyon lesz hibás input. Ennél jobban szétszedni ebben a példában felesleges szerintem, meg általában sem kell tárolni mást, esetleg ip-t meg hogy mikor jelentkezett be uccsónak, de ez már ízlés dolga...

2011. aug. 10. 01:27
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:
Hopp, nem a jelszót akartam 16 karakteresre hanem a nicknevet, képzeletben cseréld ki :D
2011. aug. 10. 01:27
Hasznos számodra ez a válasz?
 10/11 A kérdező kommentje:

most két táblában van összesen 25 mező. és amilyen szerencsém van , ez még bővülni fog :).


egyszerűen lesz két insert , aztán happy. ahogy nézem, még inodb sincs ezen a vackon, szóval a kulcsokkal sem kell vesződnöm. >_<


köszi a tanácsokat :)

2011. aug. 10. 01:44
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!