Kemito Posted June 17, 2009 Report Share Posted June 17, 2009 Nekas garš, nekas dižš, bet varbūt neradīsies diskusijas un kādam tiešam šis noderēs :) <table width=100%><tr> <td> <?php $sql = mysql_query("SELECT * FROM lietotaaji WHERE online=1"); while($data = mysql_fetch_array($sql)) { echo''.$data['niks'].'<font color=orange>*</font>'; } ?> </td> </tr> </table> Paskaidrojums: ja jums ir Reģistrācijas un Login sistema, varat redzet kas online :) lietotaaji - nomainam uz jūsu tabulas nosaukumu! Tajā apzīmēto online teiksim Y vai N vai kā jums ir apzīmēts, ja ir nomainam online= Un lūktum :) Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted June 17, 2009 Report Share Posted June 17, 2009 gribetos pielabot teiksim "online" varetu but time() vertiba un tad attiecigi velkot ara where online>(time()-3600) kautka ta :) Quote Link to comment Share on other sites More sharing options...
Kemito Posted June 17, 2009 Author Report Share Posted June 17, 2009 Nesapratu tavu domu :) Tu domā likt online laiku noteiktu cik drīkst būt online? vai arī neko nedarot viņs cik ilgi online? Attiecība uz skriptu ja kāds var pielabot lietu kad izvada 5 vienā rindā tad 5 nākamajā tad atkal 5us! itkā man atbildēja ar masīvu kko bet ta arī īsti nesapratu :P Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted June 18, 2009 Report Share Posted June 18, 2009 ne.. tipa tu ka lietotajs ienac un update savu ierakstu tabula .. set online='".time()."' tadejadi mes tabula saglabajam laiku kad tu biji online teiksim kad es rados online bet aizveru parluku, tev skripts nezin ka aizveru un tures mani ar to tavu online='1' tapec kad tu velc ara online sarakstu tu noradi ka "select * from users where online>'".(time()-3600)."'" laiks kad lietotajs bija online bus lielaks neka (shobridejais_laiks - 3600 sekundes, kas ietver 1 stundu) Quote Link to comment Share on other sites More sharing options...
kechums Posted June 18, 2009 Report Share Posted June 18, 2009 Reāli, ja cilvēks prot uztaisīt reģistrācijas un logina sistēmu, tad uztaisīt kaut kādu online panelīti būtu kā divus pirkstus apčurāt :) Par pašu kodu runājot, tas "WHERE online=1" ir muļķīgs risinājums, reāli sanāk veikt papildu darbību ar mysql update, lai pēc noteiktā laika atstatītu online vērtību atpakaļ uz 0. Tāpēc arī EdgarsA minēja to time vērtību. Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted June 18, 2009 Report Share Posted June 18, 2009 paldies dievam normalam programmetajam tas liekas pashsaprotami, kapec runaju par time(). savadak jau likas ka esmu tizls jo rakstu to ko domaju, bet kad lasu nesaprotu ko nesaprot ;) Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted June 18, 2009 Report Share Posted June 18, 2009 Tajā apzīmēto online teiksim Y vai N vai kā jums ir apzīmēts, ja ir nomainam online= Nopietna kluda pasaa risinajuma pamataa , jo: 1. naksies parskatiit VISUS lietotaajus , kas stipri vien iebremzees sistemu 2. kas notiksies ja useris vienkarshi aizvers brauzeri, nevis izlogosies... -- cits risinajums ir saads: tiek izveidota atseviskja tabulinja online kaa tabulas tipu izmantojot HEAP MEMO , tas ir pati tabula atradiisies servera RAM , kas dod ieverojamu atruma pieaugumu ( sis ir tas gadijums ka pie servera parstratesanas nav jabaidas zaudeet datus, jo tapat tajaa briidii neviens nevar atrasties onlinee ) kur ir teiksim 3 lauki user_ID , niks, laiks ( Unix_timestamps).. un attieciigas darbiibas .. Nodzesam visus ierakstus kas vecaki teiksim par 5-10 minuteem ; Insertojam usera_id, niku , un laiku [ time() ]; ieselektejam visus UNIKALOS user_id ierakstus. --- tas dod 1. nevajag parlasiit visu user tabulu, jo onlinee VIENMER buus mazak lietotaaju nekaa reali registreti sistemaa 2. izmantojot MEMO ( HEAP) tabulas tipu iegustam ieverojamu atrdarbiibu Papildus visus shos kverijus var parcelt uz DB pleciem ( trigeri/ funkcijas etc. risinajumi) , jo reali tachu japadod tikai 2 parametri -> User_id un niks ... --------- Ja grib registret arii cieminjus tad papildus var pieseivot Sesijas_id kas katram userim ( lietotajam buus unikals) , cieminja gadijumaa, user_id vietaa rakstam 0 , un papildus savacam cik Unikalu ( peec sesijas_id) ierakstu ir kam ir user_id 0 .. ------------------- Quote Link to comment Share on other sites More sharing options...
Kemito Posted June 18, 2009 Author Report Share Posted June 18, 2009 Nopietna kluda pasaa risinajuma pamataa , jo: 1. naksies parskatiit VISUS lietotaajus , kas stipri vien iebremzees sistemu 2. kas notiksies ja useris vienkarshi aizvers brauzeri, nevis izlogosies... -- cits risinajums ir saads: tiek izveidota atseviskja tabulinja online kaa tabulas tipu izmantojot HEAP MEMO , tas ir pati tabula atradiisies servera RAM , kas dod ieverojamu atruma pieaugumu ( sis ir tas gadijums ka pie servera parstratesanas nav jabaidas zaudeet datus, jo tapat tajaa briidii neviens nevar atrasties onlinee ) kur ir teiksim 3 lauki user_ID , niks, laiks ( Unix_timestamps).. un attieciigas darbiibas .. Nodzesam visus ierakstus kas vecaki teiksim par 5-10 minuteem ; Insertojam usera_id, niku , un laiku [ time() ]; ieselektejam visus UNIKALOS user_id ierakstus. --- tas dod 1. nevajag parlasiit visu user tabulu, jo onlinee VIENMER buus mazak lietotaaju nekaa reali registreti sistemaa 2. izmantojot MEMO ( HEAP) tabulas tipu iegustam ieverojamu atrdarbiibu Papildus visus shos kverijus var parcelt uz DB pleciem ( trigeri/ funkcijas etc. risinajumi) , jo reali tachu japadod tikai 2 parametri -> User_id un niks ... --------- Ja grib registret arii cieminjus tad papildus var pieseivot Sesijas_id kas katram userim ( lietotajam buus unikals) , cieminja gadijumaa, user_id vietaa rakstam 0 , un papildus savacam cik Unikalu ( peec sesijas_id) ierakstu ir kam ir user_id 0 .. ------------------- Sapratu, runājot par lietu kad aizver brovzeri viņs automātiski UPDATE DB un SEt online=0 esmu testējis, jo kkur lasīju par šādu tipa izmantošanu, un laikam tur arī atradu par šo kodu. Pēdējais ieteikums par user_id 0 diezgan labs! Bet teiksim šīs SESSIJAS_ID uzlikt NULL? un šo nulli vērtēt kā Viesus vai arī es neapreizi sapratu? Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted June 18, 2009 Report Share Posted June 18, 2009 runājot par lietu kad aizver brovzeri viņs automātiski UPDATE DB un SEt online=0 esmu testējis, Nush nush padalies ar informaciju kaa parbaudiisi kad brauzeris aizverts & kompis izsleegts.. teiksim vienkarshi norubijaas I-nets OR elektriiba??? Reali useris pazuud no Online, bet Konstateet TO NAV IESPEJAMS ... --- Nee NULL labak vispar neizmantot... Vienkarshi palaid sesiju, noskaidro vinjas id un to arii izmantot, tas tomeer ir Unikals ieraksts .. Quote Link to comment Share on other sites More sharing options...
Kemito Posted June 18, 2009 Author Report Share Posted June 18, 2009 Nush nush padalies ar informaciju kaa parbaudiisi kad brauzeris aizverts & kompis izsleegts.. teiksim vienkarshi norubijaas I-nets OR elektriiba???Reali useris pazuud no Online, bet Konstateet TO NAV IESPEJAMS ... --- Nee NULL labak vispar neizmantot... Vienkarshi palaid sesiju, noskaidro vinjas id un to arii izmantot, tas tomeer ir Unikals ieraksts .. Tomēr mazliet kļūdījos attiecībā uz to. Man session ir pailikts time() respektīvi ja nedarīsi neko 3 min tevi automātiski izmet! :) Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted June 18, 2009 Report Share Posted June 18, 2009 respektīvi ja nedarīsi neko 3 min tevi automātiski izmet! :) Un gribi teikt ka ik peec paris sek laid Kveriju kas parbauda Sesijas ( ir nav) un updeito DB ??? Quote Link to comment Share on other sites More sharing options...
Kemito Posted June 18, 2009 Author Report Share Posted June 18, 2009 Un gribi teikt ka ik peec paris sek laid Kveriju kas parbauda Sesijas ( ir nav) un updeito DB ??? Vai tad norādot $_SESSION['id'] = time() + 180 ? šādi nenosaki laiku cik neko nedarot sessijā izmet laukā no sesijas? CIk man pamācīja vaidzetu tā būt, varbūt kļūdos! :) Quote Link to comment Share on other sites More sharing options...
nemec Posted June 18, 2009 Report Share Posted June 18, 2009 Nush nush padalies ar informaciju kaa parbaudiisi kad brauzeris aizverts & kompis izsleegts.. teiksim vienkarshi norubijaas I-nets OR elektriiba???Reali useris pazuud no Online, bet Konstateet TO NAV IESPEJAMS ... Kā nevar? Uztaisam socket konekciju pie servera un visu laikam turam = flash vai java :) Quote Link to comment Share on other sites More sharing options...
codez Posted June 18, 2009 Report Share Posted June 18, 2009 (edited) Nevajag ne flašu, ne javu, izmantojam Comet http://en.wikipedia.org/wiki/Comet_(programming) Atveram ar ajax vai Iframe konekciju un nepārtraucam. Tiklīdz konekcija pārtrūkst, tā uzskatām, ka lietotājs vairs nav online. ;) Edited June 18, 2009 by codez Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted June 18, 2009 Report Share Posted June 18, 2009 nu redz izmatojam flash / Java utt.. Bet BEZ taa NAV iespejam noteikt :) tas ir domaju ar parastu PHP, ja vien visu laiku nekontralejam useri , Piedevam sakumaa doma bija par to ka Tiek Pierakstiits DB tas ka useris ir Onlinee, taatad shis ieraksts arii kautkaa jaanulee ... ----------- 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.