Jump to content
php.lv forumi

Lietotāju profili


So sick!

Recommended Posts

Esmu izveidojis lietotāju un reģistrācijas skriptu kur niks glabājas sesijās, bet id,email,parole(md5),niks glabājās datubāzē.

Es gribētu izveidot vēl lietotājiem lai var pievienot avataru, datora info un labot paroli, itkā jav to visu mācētu, tikai kā lai uztaisa lai kad lietotājs uzspiež uz 'Labot profilu' tad parāda tieši viņa pašreizējo info un lai labojot info apdeitojas tikai tā lietotāja dati.

Cik es pats to esmu izpratis tad man no sākuma vajag uzzināt lietotāja ID un pēctam uzzināt Info_id. Un pēc tam ar WHERE apstrādāt viņa submitoto pieprasījumu.

Kā lai es dabūnu lai lietotāja ID ir tāds pats kā Info_id, ja ir divas dažādas tabulas - lietotaji un info?

Link to comment
Share on other sites

Ja tā info un users relācija ir one-to-one, tad tiešām, ļoti iespējams, labāk ir glabāt visu vienā tabulā. Kādā ziņā tad būs nepārskatāms? Neviens tak pa tiešo MySQL tabulā tāpat neskatīsies.

 

Lai nu kā tabulas var JOIN'ot (http://dev.mysql.com....0/en/join.html) Tavā gadījumā tas droši vien izskatītos kaut kā tā:

SELECT users.id, info.* FROM users INNER JOIN info ON users.id = info.info_id WHERE users.nick = 'niks' LIMIT 1

Edited by rATRIJS
Link to comment
Share on other sites

Es šo skriptu pabeidzu un ķeroties pie nākamā man atkal ir problēma..

Tātad, es gribu veidot online sarakstu.

Man uztaisīt jaunu lauku (online) lietotaju tabulā un ar cookie ievadīt 1 uz 10 min tajā brīdī kad lietotājs ielogojas vai kautko izdara? Nekad neesmu strādājis ar cookie, tāpēc nezinu. Pašlaik izmantoju tikai sesijas..

 

EDIT: Es tikko palasiju par cookies un sapratu, ka tas ir līdzīgs sessijām.. Kā tad varētu to online lietotāju padarīšanu realizēt?

Edited by So sick!
Link to comment
Share on other sites

Šeit gan es taisītu atsevišķu tabulu sesijām. Primārā atslēga būtu sesijas id, vēl pieglabātu pēdējās aktivitātes laiku (DATETIME) un drošvien arī lietotāja id, pārējais pēc izvēles. Tabula būtu krietni mazāka par lietotāju tabulu un šo varētu glabāt arī kā MEMORY.

Link to comment
Share on other sites

Varat man pateikt kā lai datubāzē rāda pie Online: 1,ja lietotajs ir ielogojies un 0 ja nav?

EDIT: Es izdoāju tā, ka to var izdar;it tajā brīdī kad lietotājs ielogojas, tad datubāzē lauks Online setojas uz 1, bet kad uzspiež uz iziet tad setojas uz 0. Zinu, ka daudzi vienkārši neizlogojas, tāpēc ko man darīt tālāk? Ik pēc 5 minūtēm visiem setot uz 0?

 

EDIT2: Es izdomāju, ka var uzlikt šādi SET online='".time()."' un izvilkt lietotājus WHERE online='".time(-3600)."'. Tad varētu viss strādāt?

Edited by So sick!
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...