Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sortowanie zmiennych
Forum PHP.pl > Forum > PHP
shpaque
mam taki kod:
  1. <?php
  2. $dateins = array();
  3. $dateouts = array();
  4. $titles = array();
  5. $citys = array();
  6. $streets = array();
  7. $poolnames = array();
  8. $poollengths = array();
  9. $results = array();
  10. $differences = array();
  11. $count = 0;
  12. $teraz = time();
  13. $database = './db/zawody.db';
  14. $items = file($database);
  15.  
  16. foreach($items as $line)
  17. {
  18. list($datein, $dateout, $title, $city, $street, $poolname, $poollength, $result) = explode('|', trim($line));
  19. $dateins[$count] = $datein;
  20. $dateouts[$count] = $dateout;
  21. $titles[$count] = $title;
  22. $citys[$count] = $city;
  23. $streets[$count] = $street;
  24. $poolnames[$count] = $poolname;
  25. $poollengths[$count] = $poollength;
  26. $results[$count] = $result;
  27. $differences[$count] = $teraz - strtotime($datein);
  28.  
  29. if ($differences[$count] < 0)
  30. {
  31. for ($i = $count; $i <= $count; $i++)
  32. {
  33. echo $differences[$i];
  34. echo " ";
  35. echo $dateins[$i];
  36. echo " ";
  37. echo $titles[$i];
  38. echo "<br>";
  39. }
  40. }
  41. $count++;
  42. }
  43. ?>


wartość, którą mi zwraca, to:
  1. -890129 2013-12-15 Puchar Sprintu
  2. -1235729 2013-12-19 Zimowe Mistrzostwa Polski
  3. -458129 2013-12-10 Super Zawody


chciałbym, żeby wartość była zwracana tak:

  1. -458129 2013-12-10 Super Zawody
  2. -890129 2013-12-15 Puchar Sprintu
  3. -1235729 2013-12-19 Zimowe Mistrzostwa Polski


żeby w pierwszym przypadku $i przyjmował wartość 0 (bo kiedy wpiszę np $titles[0] - zwraca mi pierwszy wpis w pliku...
Pyton_000
Masz człowiecze kochany. Szkoda mi patrzeć jak się tak męczysz nie wiedząc co chcesz smile.gif Nudziło mi się więc napisałem coś.
Ale rozgryźć musisz sobie już sam.
  1. <?php
  2.  
  3. $items = file('test.db');
  4.  
  5. $data = array();
  6. foreach($items as $line) {
  7. $tmp = explode('|', $line);
  8. $data[] = array(
  9. 'dateins' => $tmp[0],
  10. 'dateouts' => $tmp[1],
  11. 'titles' => $tmp[2],
  12. 'citys' => $tmp[3],
  13. 'streets' => $tmp[4],
  14. 'poolnames' => $tmp[5],
  15. 'poollength' => $tmp[6],
  16. );
  17. }
  18.  
  19. $dateins = array();
  20. foreach ($data as $key => $row) {
  21. $dateins[$key] = strtotime($row['dateins']);
  22. }
  23.  
  24. array_multisort($dateins, SORT_ASC, $data);
  25.  
  26. //Najbliższa data przed dniem dzisiejszym
  27. $dateBefore = 0;
  28. // Analogicznie po
  29. $dateAfter = 0;
  30.  
  31. //Klucz tablicy $data dnia przed
  32. $keyB = 0;
  33. // Analogicznie po
  34. $keyA = 0;
  35.  
  36. foreach ($dateins as $key => $date) {
  37. if($date < time() && $date > $dateBefore){
  38. $dateBefore = $date;
  39. $keyA = $key;
  40. }
  41.  
  42. if($date >= time() && ($date < $dateAfter || $dateAfter === 0)){
  43. $dateAfter = $date;
  44. $keyB = $key;
  45. }
  46. }
  47. var_dump($keyA, $keyB, $data);
shpaque
ok, to zwróciło mi coś takiego:

  1. nt(6) int(7) array(10) { [0]=> array(8) { ["dateins"]=> string(13) "2013-10-19" ["dateouts"]=> string(10) "2013-10-19" ["titles"]=> string(39) "IV runda - O Laur Lubelskiego Koziołka" ["citys"]=> string(6) "Lublin" ["streets"]=> string(19) "Al. Zygmuntowskie 4" ["poolnames"]=> string(5) "MOSiR" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } [1]=> array(8) { ["dateins"]=> string(10) "2013-10-26" ["dateouts"]=> string(10) "2013-10-26" ["titles"]=> string(43) "V runda Ligi Dzieci i Młodzików 11-12 lat" ["citys"]=> string(6) "Lublin" ["streets"]=> string(19) "Al. Zygmuntowskie 4" ["poolnames"]=> string(5) "MOSiR" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } [2]=> array(8) { ["dateins"]=> string(10) "2013-10-26" ["dateouts"]=> string(10) "2013-10-27" ["titles"]=> string(26) "Grand Prix - Puchar Polski" ["citys"]=> string(8) "Suwałki" ["streets"]=> string(5) "Adres" ["poolnames"]=> string(13) "Nazwa obiektu" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } [3]=> array(8) { ["dateins"]=> string(10) "2013-11-09" ["dateouts"]=> string(10) "2013-11-10" ["titles"]=> string(26) "Grand Prix - Puchar Polski" ["citys"]=> string(7) "Kraków" ["streets"]=> string(5) "Adres" ["poolnames"]=> string(13) "Nazwa Obiektu" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } [4]=> array(8) { ["dateins"]=> string(10) "2013-11-10" ["dateouts"]=> string(10) "2013-11-10" ["titles"]=> string(62) "Puchar Krasnegostawu - VII runda Krasnostawskiej Ligi Szuwarek" ["citys"]=> string(10) "Krasnystaw" ["streets"]=> string(21) "ul. Piłsudskiego 52a" ["poolnames"]=> string(16) "MOSiR Krasnystaw" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } [5]=> array(8) { ["dateins"]=> string(10) "2013-11-11" ["dateouts"]=> string(10) "2013-11-11" ["titles"]=> string(23) "IV runda Ligi Juniorów" ["citys"]=> string(6) "Lublin" ["streets"]=> string(15) "ul. Radości 13" ["poolnames"]=> string(5) "SP 28" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } [6]=> array(8) { ["dateins"]=> string(10) "2013-11-17" ["dateouts"]=> string(10) "2013-11-17" ["titles"]=> string(46) "Mistrzostwa Województwa Lubelskiego 10-11 lat" ["citys"]=> string(8) "Kraśnik" ["streets"]=> string(5) "Adres" ["poolnames"]=> string(13) "nazwa obiektu" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } [7]=> array(8) { ["dateins"]=> string(10) "2013-12-10" ["dateouts"]=> string(10) "2013-12-10" ["titles"]=> string(12) "Super Zawody" ["citys"]=> string(8) "Loobleen" ["streets"]=> string(7) "adresik" ["poolnames"]=> string(5) "nazwa" ["poollength"]=> string(2) "50" ["results"]=> string(2) " " } [8]=> array(8) { ["dateins"]=> string(10) "2013-12-15" ["dateouts"]=> string(10) "2013-12-15" ["titles"]=> string(14) "Puchar Sprintu" ["citys"]=> string(7) "Puławy" ["streets"]=> string(5) "Adres" ["poolnames"]=> string(13) "nazwa obiektu" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } [9]=> array(8) { ["dateins"]=> string(10) "2013-12-19" ["dateouts"]=> string(10) "2013-12-22" ["titles"]=> string(25) "Zimowe Mistrzostwa Polski" ["citys"]=> string(25) "Ostrowiec Świętokrzyski" ["streets"]=> string(5) "Adres" ["poolnames"]=> string(13) "nazwa obiektu" ["poollength"]=> string(2) "25" ["results"]=> string(2) " " } }


co mogę z tym zrobić?

jak teraz np wyciągnąć tylko wpis z datą następną po bieżącej? Dziś mamy 5.12.2013 - pierwszy wpis od dzisiaj do 10.12.2013 - jak wyswietlic tylko ten wpis?

Dziękuję, że z nudów napisałeś skrypt - ale jest on dla mnie jeszcze bardziej czarny niż biały smile.gif
Chodzi mi tylko o to, żeby w pętli w której jestem (w moim starym skrypcie), gdzie wyświetla mi już tylko daty przyszłe - wyświetlił je chronologicznie - tylko tyle - wtedy będę wiedział, że jeśli chcę wpis następnej daty od najbliższej zrobię $titles[1], a jesli chce pierwsza od dzisiejszej, zrobie $titles[0]...

@próbuję cały dzień i nic mi nie idzie z tego Twojego kodu - fakt głupi jestem, bo nie rozumiem jego działania zupełnie, to jedno. Druga rzecz, to taka że mi trzeba tylko dla tej pętli
  1. if ($differences[$count] < 0)
  2. {
  3. for ($i = $count; $i <= $count; $i++)
  4. {
  5. echo $differences[$i];
  6. echo " ";
  7. echo $dateins[$i];
  8. echo " ";
  9. echo $titles[$i];
  10. echo "<br>";
  11. }
  12. }
  13. $count++;


zrobić sortowanie, bo: mam wpisane 3 zdarzenia w pliku, które dopiero nadejdą. Mam je wpisane achronologicznie, żebym widział czy sortowanie zadziała - ale tak czy inaczej wyświetla mi tak, jak jest w pliku, a nie sortuje - co tutaj ptrzebna zrobić żeby w tej pętli po kolei:

posortować wg $differences;
wyświetlić posortowane..?
Pyton_000
Widzę że olałeś to co zrobiłem.
Wszystko masz podane jak na tacy a Ty nie zadałeś sobie trudu żeby zapoznać się z tym co dostałeś. Liczysz na gotowce a i tak masz głęboko w .... pomoc.

Radzę Ci zadaj sobie odrobinę wysiłku bo życie nie lekkie.
shpaque
Pyton napisałem Ci że podmieniałem wklejałem Twoją solucję i nic! wyświetla mi tylko całą tabelę... Tego wpisu w ogóle nie rozumiem, dlatego nie wiem gdzie co robić żeby osiągnąć cel... Ale Ale!

zmieniłem swój kod (który rozumiem - dlatego próbuję go dostosować):

  1. <?php
  2. $dateins = array();
  3. $dateouts = array();
  4. $titles = array();
  5. $citys = array();
  6. $streets = array();
  7. $poolnames = array();
  8. $poollengths = array();
  9. $results = array();
  10. $count = 0;
  11. $teraz = strtotime(date('Y-m-d'));
  12. $database = './db/zawody.db';
  13. $items = file($database);
  14.  
  15. foreach($items as $line)
  16. {
  17. list($datein, $dateout, $title, $city, $street, $poolname, $poollength, $result) = explode('|', trim($line));
  18. $difference = ($teraz - strtotime($datein)) / 86400;
  19. if ($difference < 0)
  20. {
  21. $dateins[$count] = $datein;
  22. $dateouts[$count] = $dateout;
  23. $titles[$count] = $title;
  24. $citys[$count] = $city;
  25. $streets[$count] = $street;
  26. $poolnames[$count] = $poolname;
  27. $poollengths[$count] = $poollength;
  28. $results[$count] = $result;
  29. $differences[$count] = ($teraz - strtotime($datein)) / 86400;
  30.  
  31. $roznica = $differences[$count].', ';
  32. echo $roznica;
  33. }
  34. $count++;
  35. }
  36. ?>


teraz jest prościej tym bardziej, że zamieniłem wartości liczbowe na liczbę dni, która to aktualnie zwraca mi wartości:
  1. -10, -14, -5,


teraz pytanie: Jak TYLKO $roznica posortować, aby liczby były od największej do najmniejszej? Później zrobię sobie porównanie $roznica do konkretnego $datein i będę mógł znaleźć $count dla każdego wpisu w linijce... Zostanie przypisanie $i w sposób: dla -5[$i = 0], dla -10[$i = 1], dla -14[$i = 2] i tak dalej...
Pyton_000
Przecież w tym co Ci napisałem w tym
  1. $keyB = 0;
  2. // Analogicznie po
  3. $keyA = 0;

masz ID klucza z tablicy $data dnia poprzedzającego dzień dzisiejszy i ID klucza dnia dzisiejszego LUB następnego jeżeli dzisiejszy nie występuje.

Więc jaki problem zrobić
  1. echo $data[$keyB]

lub
  1. for($i=$keyB, $count < count($data); $i<$count; $i++) {
  2. echo $data[$i];
  3. }



I radzę weź się za podstawy i nie kombinuj jak koń pod górę
shpaque
no właśnie problem w tym, że mi wyświetla: ArrayArrayArray
Pyton_000
Wiesz co to za zapis??
  1. $data[] = array(
  2. 'dateins' => $tmp[0],
  3. 'dateouts' => $tmp[1],
  4. 'titles' => $tmp[2],
  5. 'citys' => $tmp[3],
  6. 'streets' => $tmp[4],
  7. 'poolnames' => $tmp[5],
  8. 'poollength' => $tmp[6],
  9. );
shpaque
nie wiem, nie wiem po co dałeś $tmp, nie wiem dlaczego $tmp przyjmują wartości [0 - 6]... Nie wiem jak go dostosować pod siebie bo tej formy nie rozumiem - dlatego wklejałem kod, który jest dla mnie jasny i z nim mógłbym zrobić wiele rzeczy.

A czy w Twojej solucji będzie możliwe:
- obliczenie dni do zawodów, obliczenie dni zawodów, które się odbyły;
- wyświetlenie tylko jednej zmiennej dla jednego konkretnego terminu;
- wyświetlenie zawodów, które odbędą / odbyły się DZISIAJ;
- itp?

czy tylko walnie mi całą linijkę z array'a podporządkowaną dacie?

...bo wiem, jak zrobić to w moim kodzie - potrzebuję tylko żeby mi cholera smile.gif posortował te liczby 10,14,5...

temat można zamknąć - doszedłem do tego własnymi siłami przy pomocy Nospor'a za co szczerze dziękuję - nie moża było mi tak podsunąć tydzień temu tego kodu? Mi tylko o to chodziło:

  1. <?php
  2. $dateins = array();
  3. $dateouts = array();
  4. $titles = array();
  5. $citys = array();
  6. $streets = array();
  7. $poolnames = array();
  8. $poollengths = array();
  9. $results = array();
  10. $differences = array();
  11. $count = 0;
  12. $teraz = strtotime(date('Y-m-d'));
  13. $database = './db/zawody.db';
  14. $items = file($database);
  15.  
  16. foreach($items as $line)
  17. {
  18. list($datein, $dateout, $title, $city, $street, $poolname, $poollength, $result) = explode('|', trim($line));
  19. $difference = (strtotime($datein) - $teraz) / 86400;
  20. if ($difference > 0)
  21. {
  22. $dateins[$count] = $datein;
  23. $dateouts[$count] = $dateout;
  24. $titles[$count] = $title;
  25. $citys[$count] = $city;
  26. $streets[$count] = $street;
  27. $poolnames[$count] = $poolname;
  28. $poollengths[$count] = $poollength;
  29. $results[$count] = $result;
  30. $differences[$count] = $difference;
  31.  
  32. $roznica[] = $differences[$count];
  33. sort($roznica);
  34.  
  35. }
  36.  
  37. $count++;
  38. }
  39. $bez = implode(', ', $roznica);
  40. echo $bez;
  41. ?>


...teraz krok dalej...
nospor
sort() ma tez byc wykonane tylko raz po petli a nie w petli. Ucz sie pisac optymalnie.
shpaque
ale mi to doskonale działa!
nospor
facepalmxd.gif
A czy ja napisalem ze nie dziala? Napisalem, ze to nie optymalne bo zamiast raz na koncu posortowac to sortujesz petryliard razy tyle ile masz obrotow w petli...
shpaque
Cytat(nospor @ 6.12.2013, 12:09:07 ) *
facepalmxd.gif
A czy ja napisalem ze nie dziala? Napisalem, ze to nie optymalne bo zamiast raz na koncu posortowac to sortujesz petryliard razy tyle ile masz obrotow w petli...


smile.gif ok smile.gif zmieniłem

  1. <?php
  2. $dateins = array();
  3. $dateouts = array();
  4. $titles = array();
  5. $citys = array();
  6. $streets = array();
  7. $poolnames = array();
  8. $poollengths = array();
  9. $results = array();
  10. $differences = array();
  11. $count = 0;
  12. $teraz = strtotime(date('Y-m-d'));
  13. $database = './db/zawody.db';
  14. $items = file($database);
  15.  
  16. foreach($items as $line)
  17. {
  18. list($datein, $dateout, $title, $city, $street, $poolname, $poollength, $result) = explode('|', trim($line));
  19. $difference = (strtotime($datein) - $teraz) / 86400;
  20. if ($difference > 0)
  21. {
  22. $dateins[$count] = $datein;
  23. $dateouts[$count] = $dateout;
  24. $titles[$count] = $title;
  25. $citys[$count] = $city;
  26. $streets[$count] = $street;
  27. $poolnames[$count] = $poolname;
  28. $poollengths[$count] = $poollength;
  29. $results[$count] = $result;
  30. $differences[$count] = $difference;
  31.  
  32. $roznica[] = $differences[$count];
  33. }
  34. $count++;
  35. }
  36. sort($roznica);
  37. $bez = implode(', ', $roznica);
  38. echo $bez;
  39. ?>


tak więc teraz mam posortowane dni. Co teraz powinienem zrobić z array_multisort?

Pyton Twoje mi nie działa, wyświetla pustkę albo Array - skąd ja mam wiedzieć o co tu chodzi..? Dlatego proszę Was o pomoc przecież...
nospor
ArrayArrayArray.....

Jak robisz echo na tablicy to zawsze dostaniesz tekst Array....

zaprzyjaznij sie var_dump() lub od biedy z print_r()
shpaque
...i mija kolejny dzień, nikt nie ma pomysłu - znaczy podejrzewam, że 90% przeglądających wie jak to zrobić, żeby działało - ponieważ skrypt Pythona jak pisałem wcześniej nie do końca działa i go nie rozumiem - więc nie dostosuję go pod siebie, stworzyłem coś takiego (to o to mniej więcej mi chodziło):

  1. <?php
  2. $dateins = array();
  3. $dateouts = array();
  4. $titles = array();
  5. $citys = array();
  6. $streets = array();
  7. $poolnames = array();
  8. $poollengths = array();
  9. $results = array();
  10. $differences = array();
  11. $newdateins = array();
  12. $count = 0;
  13. $dzisiaj = strtotime(date('Y-m-d'));
  14. $database = './db/zawody.db';
  15. $items = file($database);
  16.  
  17. foreach($items as $line)
  18. {
  19. list($datein, $dateout, $title, $city, $street, $poolname, $poollength, $result) = explode('|', trim($line));
  20. $difference = (strtotime($datein) - $dzisiaj);
  21. $newdatein = date('Y-m-d', ($dzisiaj + $difference));
  22.  
  23. if ($difference > 0)
  24. {
  25. $dateins[$count] = $datein;
  26. $dateouts[$count] = $dateout;
  27. $titles[$count] = $title;
  28. $citys[$count] = $city;
  29. $streets[$count] = $street;
  30. $poolnames[$count] = $poolname;
  31. $poollengths[$count] = $poollength;
  32. $results[$count] = $result;
  33. $differences[$count] = $difference;
  34.  
  35. $newdateins[$count] = $newdatein;
  36. $nowa[] = $newdateins[$count];
  37. }
  38. $count++;
  39. }
  40. sort($nowa);
  41. print_r($nowa);
  42. $i = 0;
  43. foreach($nowa as $key => $value)
  44. {
  45. if ($value == $dateins)
  46. {
  47. $i = $key;
  48. $i = str_replace(array('[', ']'), '', $i);
  49. }
  50. }
  51. echo $dateins[$i];
  52. ?>


i teraz - sortuje się jak powinno, teraz jak zrobić, żeby sprawdził czy data w $nowa po sorcie odpowiada którejś z $dateins[$count] i jeśli tak, to przypisała $i tej dacie równe $key

tak, żeby wpisując $dateins[0] dał mi wynik pierwszej daty w sorcie, co za tym idzie $dateouts[0], $citys[0]... było czytane z tej samej linii co dateins... Bo ta pętla powyżej (foreach) mi nie działa...
Pyton_000
Po 1 nie Python
Po 2 jak widać jesteś nie reformowalny.
Jest takie przysłowie. "Jesteś jak osioł. Odporny na wiedzę i trudny do zajebania"

Człowiecze biedy. Rozumiem że bieda w kraju, ludzie na naukę nie mają ale jak już się bierzesz za coś to się naucz czegoś a nie idziesz w swoje tym bardziej że dostałeś GOTOWE rozwiązanie które spełnia TWOJE wszystkie zachcianki.

Skoro jesteś taki "nieuczny" to WYJAŚNIĘ Ci co mój skrypt robi.

Otóż po wykonaniu go w zmiennej $date masz posortowaną tablicę WSZYSTKICH wpisów w pliku po dateins.
Nadal po wykonaniu w zmiennej $keyA masz numer klucza ww. tablicy z datą która jest PRZED dniem dzisiejszym, natomiast $keyB numer klucza w ww. tablicy z wpisami które są ALBO dnia dzisiejszego ALBO kolejnego dnia (nie ważne czy kolejny dzień to jutro CZY za 4 dni, kolejny == następny dzień wg. listy z PLIKU.

Jeżeli chcesz wyświetlić 3 kolejne dni PO dniu dzisieszym wystarczy:
  1. for($i=$keyB; $i<=$keyB+3; $i++) {
  2. var_dump($data[$i];
  3. }


Czy to naprawdę takie STRAAASZNIE skomplikowane? Nie, wystarczyło ZROZUMIEĆ kod który dostałe. Nie ma w nim NIC czego nie powinieneś umieć (o ile to co Ty wklejasz sam napisałeś). Jedyna trudność może być z array_multisort.

PS. Nie wklejaj za każdym razem swojego kodu jeżeli piszesz odpowiedź.
shpaque
wleczę swój kod, bo go zmieniam co rusz...

zrobiłem tak jak napisałeś, ale zamiast var_dump chciałem wyświetlić 3 po kolei daty rozpoczęcia, więc dałem:

  1. for($i = $keyB; $i <= $keyB + 3; $i++)
  2. {
  3. print_r($value[0]);
  4. }


i wiesz co mi zwróciło?
  1. 2013-12-102013-12-102013-12-102013-12-10


o to chodziło? Pewnie że nie. Sprawdzałeś w ogóle jak i CZY Twój skrypt działa? Poza tym ja nie będę chciał wyświetlić 3 dat po dzisiejszej, tylko pierwszą datę po dzisiejszej, drugą datę po dzisiejszej z pliku i tak dalej - to samo tyczy się innych zmiennych...

czepiasz się mojego kodu, a w moim kodzie mogę sobie zrobic "echo $dateins[0];" i wyswietli mi pierwszą datę z pliku po dzisiejszej, "echo $dateins[1]; $dateouts[1];" drugą datę rozpoczęcia po dzisiejszej i drugą datę zakończenia po dzisiejszej... - to o to mi chodzi...

Ja też mogę zapytać: Dlaczego nawet nie spojrzysz na mój kod, i nie pomożesz mi z nim - tylko bierzesz jako aksjomat, że jest zły; w Twoim przypadku nie muszę robić składni $keyB + 3, skoro mogę zamienić $keyB = 0 na $keyB = 3 - i tak nic mi to nie da, bo jak pisałem wyżej dalej mi wyświetla tylko najbliższą datę...
Pyton_000
A widzisz różnicę pomiędzy tym:
  1. for($i = $keyB; $i <= $keyB + 3; $i++)
  2. {
  3. print_r($value[0]);
  4. }

a tym:
  1. for($i=$keyB; $i<=$keyB+3; $i++) {
  2. var_dump($data[$i]);
  3. }


Nie? To uruchom a zobaczysz...

Cytat
i wiesz co mi zwróciło?

Boś głupotę napisał nie wiedząc dlaczego co i jak....

Cytat
Sprawdzałeś w ogóle jak i CZY Twój skrypt działa?

blink.gif
Cytat
Poza tym ja nie będę chciał wyświetlić 3 dat po dzisiejszej, tylko pierwszą datę po dzisiejszej, drugą datę po dzisiejszej z pliku i tak dalej

Chyba jestem jakiś upośledzony brzydal.gif

Cytat
w Twoim przypadku nie muszę robić składni $keyB + 3, skoro mogę zamienić $keyB = 0 na $keyB = 3 - i tak nic mi to nie da

Oczywiście że nic ci nie da, ba nawet zepsuje wynik działania skryptu bo te zmienne SAME się ustawiają co oznacza że po wykonaniu tego kawałka kodu TE ZMIENNE będą zawierały GOTOWE klucze...
Potwierdziłeś tym samym że bezmyślnie skopiowałeś kod, uruchomiłeś nie wiedząc nic. Dodatkowo wprowadzasz poprawki kompletnie nie mając pojęcia o ich działaniu...

Powiem ta....
Nie zadałeś sobie trudu; trudno. Masz problem? Trudno... Dostałeś rozwiązanie? Trudno... No nic... Ode mnie więcej pomocy nie uzyskasz. Mam przekonanie że ktokolwiek nie śledzi Twoich tematów z tym problemem też Ci nie pomoże ale to moje subiektywne zdanie.

Na zakończenie dodam, że gdybyś wykazywał więcej zaangażowania w pomoc którą dostajesz już dawno rozwiązałbym Twój problem tak jak tego byś chciał. Ba nawet sam byś go rozwiązał gdybyś tylko chciał się czegoś nauczyć.

A to że idę w zaparte, że Twój kod jest... kiepski bo tak jest. Mój idealny też nie jest bo można rozwiązać na xxxx sposobów. Ale pokazuje jak w miarę dobrze programować żeby osiągnąć efekt a się bez sensu nie napracować...

shpaque
W rakim razie zapytam znow - po cholere jest to forum skoro jedna osoba sposrod 200 chce pomoc ale nie potrafi wyjasnic takiemu oslowi jak ja - co ma zrobic zeby otrzymac wynik zamierzony w Twoim kodzie?

Cytat(Pyton_000 @ 7.12.2013, 20:22:52 ) *
Oczywiście że nic ci nie da, ba nawet zepsuje wynik działania skryptu bo te zmienne SAME się ustawiają co oznacza że po wykonaniu tego kawałka kodu TE ZMIENNE będą zawierały GOTOWE klucze...
Potwierdziłeś tym samym że bezmyślnie skopiowałeś kod, uruchomiłeś nie wiedząc nic. Dodatkowo wprowadzasz poprawki kompletnie nie mając pojęcia o ich działaniu...


drugi raz tłumaczę: dokładnie tak - wkleiłem bezmyślnie kod, ponieważ jak pisałem wcześniej nie wiem o co w nim chodzi - nie rozumiem go, dlatego NIE WIEM jak go dostosować pod siebie... Gdybym wiedział - wkleił bym zmyślnie kod, co więcej zrobił tak, żeby uzyskać wynik o jaki mi chodzi, poza tym gdybym, wiedział co i jak - z pewnością nie zakładał tematu tylko zrobił to w 5 minut sam - a skoro powtarzam eNty raz nie wiem jak działa Twój kod, nie mam czasu na czekanie na Twój jeden wpis dziennie - próbuję zrobić coś sam i sam do czegoś dojść - co widać po zmienianym przeze mnie, a wg Ciebie wleczonym ciągle moim kodzie... I za każdym razem jestem krok dalej, nie uważam żeby mój kod był gorszy od Twojego, bo do momentu do którego został napisany wykonuje się wyśmienicie...

Ale nie ma problemu - są jeszcze inne fora PHP w internecie, są i pomocni ludzie, którzy mam nadzieję pokażą mi lub nawet dopiszą i poprawią to, co pragnę uzyskać w moim kodzie - lub objaśnią mi działanie Twojego kodu, skoro Ty sam nie potrafisz go obronić...

wracając jeszcze do 3 na raz - dałeś mi wycinek, który miał wyświetlić mi 3 daty na raz od dzisiejszej - ale mi to do niczego nie będzie potrzebne, bo ja muszę mieć możliwość wyświetlenia każdej zmiennej oddzielnie w każdej linii oddzielnie, a nie w 3 na raz...

proszę bardzo proszę Państwa - oczywiście musiałem sam do tego dojść i mój skrypt jest krótki i świetnie działa - i tylko O TO MI CHODZIŁO!

  1. <?php
  2. $dateins = array();
  3. $dateouts = array();
  4. $titles = array();
  5. $citys = array();
  6. $streets = array();
  7. $poolnames = array();
  8. $poollengths = array();
  9. $results = array();
  10. $differences = array();
  11. $newdateins = array();
  12. $dzisiaj = strtotime(date('Y-m-d'));
  13. $database = './db/zawody.db';
  14. $items = file($database);
  15.  
  16. foreach($items as $line)
  17. {
  18. list($datein, $dateout, $title, $city, $street, $poolname, $poollength, $result) = explode('|', trim($line));
  19. $difference = (strtotime($datein) - $dzisiaj);
  20. $newdatein = date('Y-m-d', ($dzisiaj + $difference));
  21.  
  22. if ($difference > 0)
  23. {
  24. $dateins[] = $datein;
  25. $dateouts[] = $dateout;
  26. $titles[] = $title;
  27. $citys[] = $city;
  28. $streets[] = $street;
  29. $poolnames[] = $poolname;
  30. $poollengths[] = $poollength;
  31. $results[] = $result;
  32. $differences[] = $difference;
  33.  
  34. $newdateins[] = $newdatein;
  35. }
  36. }
  37. array_multisort ($newdateins, SORT_ASC, $dateins, $dateouts, $titles, $citys, $streets, $poolnames, $poollengths, $results);
  38. echo $dateins[1];
  39. echo ", ";
  40. echo $dateouts[1];
  41. echo ", ";
  42. echo $citys[1];
  43. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.