So sick! Posted November 26, 2009 Report Share Posted November 26, 2009 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? Quote Link to comment Share on other sites More sharing options...
marcis Posted November 26, 2009 Report Share Posted November 26, 2009 Sesijā vajadzētu drīzāk id glabāk, nevis niku (īstenībā abus). Un priekš kam tev 2 tabulas? Pieliec jaunas vienkārši vajadzīgās kolonas. Quote Link to comment Share on other sites More sharing options...
So sick! Posted November 26, 2009 Author Report Share Posted November 26, 2009 Ja būs klāt tikai lauki tad tur būs pārbāzts un nepārskatāms, tāpēc es gribētu divas tabulas, bet ja neviens nezin to tad jav laikam taisīšu vairāk kollonas.. Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted November 26, 2009 Report Share Posted November 26, 2009 (edited) 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 November 26, 2009 by rATRIJS Quote Link to comment Share on other sites More sharing options...
So sick! Posted November 28, 2009 Author Report Share Posted November 28, 2009 (edited) 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 November 28, 2009 by So sick! Quote Link to comment Share on other sites More sharing options...
marcis Posted November 28, 2009 Report Share Posted November 28, 2009 Š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. Quote Link to comment Share on other sites More sharing options...
So sick! Posted November 28, 2009 Author Report Share Posted November 28, 2009 (edited) 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 November 29, 2009 by So sick! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.