raivis Posted December 3, 2004 Report Share Posted December 3, 2004 !?Izvadīt $date, $user, $msg: 1. alfabēta secībā pēc $user . . 2. tos sagrupējot sākot ar jaunāko un beidzot ar vecāko; pēc $date //date("d.m.Y"); . . messages.php $fileData = file("data.txt"); $messageList = array(); foreach ($fileData as $row){ $date = date("d.m.Y"); list($date, $user, $msg) = explode('|', $row); $messageList[] = array('date' => $date, 'user' => $user, 'msg' => $msg); } echo '<h4>Ziņojumi..</h4>'; foreach ($messageList as $key => $message){ echo '<i>'.$message['date'].'</i> <b>'.$message['user'].'</b>: '.$message['msg'] . '<br>---<br>'; } data.txt 03.12.2004|Jānis|komentārs BLĀ| 01.01.2000|Pēteris|comeon| 24.10.2004|Krista|:?| 19.07.2003|Nora|Chawa!:)| 26.08.2001|Olga|Sveiki..| Link to comment Share on other sites More sharing options...
bubu Posted December 4, 2004 Report Share Posted December 4, 2004 Sakārto pēc usera: $fileData = file("data.txt"); $messageList = array(); foreach ($fileData as $row){ $date = date("d.m.Y"); list($date, $user, $msg) = explode('|', $row); $messageList[$user] = array('date' => $date, 'user' => $user, 'msg' => $msg); } ksort($messageList); echo '<h4>Ziņojumi..</h4>'; foreach ($messageList as $key => $message){ echo '<i>'.$message['date'].'</i> <b>'.$message['user'].'</b>: '.$message['msg'] . '<br>---<br>'; } Lai sakārtotu pēc datumiem tad šī "$messageList[$user] = array(..." vietā $user vietā ieliec $date (bet vēlams ne stringa formātā bet unix timestampā) Link to comment Share on other sites More sharing options...
raivis Posted December 6, 2004 Author Report Share Posted December 6, 2004 Paldies bubu! Bet $user vietā ierakstot $date $date = date("d.m.Y"); list($date, $user, $msg) = explode('|', $row); $messageList[$date] = array('date' => $date, 'user' => $user, 'msg' => $msg); izvada: Ziņojumi..01.01.2000 Pēteris: comeon --- 03.11.2004 Juris: komentārs KO!? --- 03.12.2004 Jānis: komentārs BLĀ --- 19.07.2003 Nora: Chawa!:) --- 24.10.2004 Krista: :? --- 26.08.2001 Olga: Sveiki.. --- => ne gluži pēc datuma formas $date=date("d.m.Y"); !? //skat.piem.Y Link to comment Share on other sites More sharing options...
bubu Posted December 7, 2004 Report Share Posted December 7, 2004 Izlasi vēlreiz pēdējā mana posta pēdējo teikumu iekāvās! Link to comment Share on other sites More sharing options...
spoks Posted December 7, 2004 Report Share Posted December 7, 2004 bubu teiktais "Latviski" datumu glabā kā time(); varēs viegli sakārtot. Pie datuma izvades izmanto date("d.m.Y", $time_mainiigais) Link to comment Share on other sites More sharing options...
raivis Posted December 7, 2004 Author Report Share Posted December 7, 2004 KUR KĻŪDA!? .. datumu glabā kā time(); varēs viegli sakārtot. Pie datuma izvades izmanto date("d.m.Y", $time_mainiigais) $fileData = file('data.txt');$messageList = array(); foreach ($fileData as $row){ //$date = time('d.m.Y', $date); list($date, $user, $msg) = explode('|', $row); $messageList[time('d.m.Y', $date)] = array('date' => $date, 'user' => $user, 'msg' => $msg); } ..izvada tikai 'data.txt' pēdējās rindiņas mainīgo vērtības Link to comment Share on other sites More sharing options...
bubu Posted December 8, 2004 Report Share Posted December 8, 2004 Nr1) Tu kādreiz lasi to kādas kļūdas izvada uz ekrāna? Nr2) Cik parametri ir funkcijai time? (http://lv.php.net/time/) Nr3) Tu zini atšķirību starp vārdiem glabā un izvada? (Tev teica glabā laiku timestamp'ā, bet izvadot lieto fju date!! Nevis glabājot datus lieto time() fju) Link to comment Share on other sites More sharing options...
raivis Posted December 8, 2004 Author Report Share Posted December 8, 2004 Nr1) Tu kādreiz lasi to kādas kļūdas izvada uz ekrāna?Nr2) Cik parametri ir funkcijai time? (http://lv.php.net/time/) Nr3) Tu zini atšķirību starp vārdiem glabā un izvada? (Tev teica glabā laiku timestamp'ā, bet izvadot lieto fju date!! Nevis glabājot datus lieto time() fju) Nr1) Jā, lasu kļūdas, kuras izvada php Nr2) 17? Nr3) Zinu, zinu atšķirību starp glabāt un izvadīt Bet tomēr, varbūt uzraktīsi tā koda pāris rindiņas!? :blink: Lūdzu!, jo zināms nav pareizi: .. date("r", time()); $date = date("d.m.Y", $date); $messageList[$date] = array(.. Link to comment Share on other sites More sharing options...
bubu Posted December 9, 2004 Report Share Posted December 9, 2004 Nr1) neizskatās gan, jo Nr2) time ir 0 parametru, ko tu acīmredzami neesi paskatījies, bet kodā padod 2! Nr3) Tad kāpēc tā nedari? Tev dots datums formātā d.M.Y, bet vajag unix timestamp, nu tad šķirsti manuāli, kamēr atrodi fju, kurai rakstīts, ka tā veido datumu unix timestamp'ā: strtotime() (http://lv.php.net/manual/en/function.mktime.php). (date fja, ko tu tur mēģini lietot, vispār atgriež laiku stringa formātā, to nepamani?). Nu un kad tagad fu\ja zināma, tad raksti kodu: list($d, $m, $y) = explode('.', $date); $timestamp = mktime(0, 0, 0, $m, $d, $y); $messageList[$timestamp] = array(...); Link to comment Share on other sites More sharing options...
raivis Posted December 9, 2004 Author Report Share Posted December 9, 2004 (edited) Liels paldies bubu! ;) :) Skripts: <?php $fileData = file('data.txt'); $messageList = array(); foreach ($fileData as $row){ list($date, $user, $msg) = explode('|', $row); list($d, $m, $Y) = explode('.', $date); $timestamp = mktime(0, 0, 0, $m, $d, $Y); $messageList[$timestamp] = array('date' => $date, 'user' => $user, 'msg' => $msg); } ksort($messageList); foreach ($messageList as $key => $message){ echo '<i>'.$message['date'].'</i> <b>'.$message['user'].'</b>: '.$message['msg'] . '<br>---<br>'; } ?> no data.txt: 03.12.2004|Jānis|komentārs BLĀ| 01.01.2000|Pēteris|comeon| 24.10.2004|Krista|:?| 19.07.2003|Nora|Chawa!:)| 26.08.2001|Olga|Sveiki..| 03.11.2004|Juris|komentārs KO!?| izvada: 01.01.2000 Pēteris: comeon --- 26.08.2001 Olga: Sveiki.. --- 19.07.2003 Nora: Chawa!:) --- 24.10.2004 Krista: :? --- 03.11.2004 Juris: komentārs KO!? --- 03.12.2004 Jānis: komentārs BLĀ --- !?Bet, kā būtu: izvadīt $message['date'], $message['user'], $message['msg'] pretējā secībā=> jaunākais-vecākais.. Edited December 10, 2004 by raivis Link to comment Share on other sites More sharing options...
raivis Posted December 10, 2004 Author Report Share Posted December 10, 2004 vai patiešām neviens nezina atbildi!? Link to comment Share on other sites More sharing options...
raivis Posted December 14, 2004 Author Report Share Posted December 14, 2004 !?Bet, kā būtu: izvadīt $message['date'], $message['user'], $message['msg'] pretējā secībā=> jaunākais-vecākais.. Link to comment Share on other sites More sharing options...
Venom Posted December 14, 2004 Report Share Posted December 14, 2004 un paņemt manuālī ievadīt ksort (no koda augstāk) un apskatītes saistītās funkcijas? You may modify the behavior of the sort using the optional parameter sort_flags, for details see sort(). See also asort(), arsort(), krsort(), uksort(), sort(), natsort(), and rsort(). NB: skaisti, parādījies tūlis ūseru reitingošanai Link to comment Share on other sites More sharing options...
raivis Posted December 14, 2004 Author Report Share Posted December 14, 2004 Jap, jap, jap » uzlabots php.lv forumiņš.. ;) Paldies, Venom! » » pareizi būtu: krsort(); Link to comment Share on other sites More sharing options...
jogin Posted February 28, 2006 Report Share Posted February 28, 2006 Ņemot šeit aprakstīto piemēru par paraugu - kāds, lūdzu, nevarētu paskaidrot, kā lai sakārto alfabēta secībā vārdus pēc: latviešu alfabēta, poļu alfabēta, krievu alfabēta, japāņu alfabēta? Link to comment Share on other sites More sharing options...
Recommended Posts