![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
potrzebuję posortować i przeszukać kilka krótkich tabelek, ale nie chciałbym w tym celu nawiązywać połączenia z bazą danych. Są jakieś funkcje w php działające jak te dwie z SQLa? Szukałem w manualu ale nic nie znalazłem. Czy pozostaje tylko ręczne napisanie tych funkcji? Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat potrzebuję posortować i przeszukać kilka krótkich tabelek Masz na myśli tabele w bazie danych? No to bez nawiązania połączenia się nie da.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
jesli to ma operowac na danych z tablic to:
http://pl.php.net/manual/en/book.array.php tu masz prawie wszystko:) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za odpowiedzi!
Crozin tabelki nie są w bazie danych. Są odczytane z pliku tekstowego. I potrzebuje je posortować wedle kolejnych kolumn (tak jak ORDER BY z SQL), przydałby się też funkcja na wzór SELECT. I pytanie moje jest czy da się to w samym php, nie pisząc tych funkcji od zera zrobić? maly_swd znam tą stronę (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) i przeglądałem poszczególne funkcje w poszukiwaniu czegoś odpowiedniego. Ale nie znalazłem nic co by działało tak jak tego potrzebuję. Ale mogłem przecież coś przeoczyć, dlatego pytam czy są w php takie funkcje? Pozdrawiam. |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
@statek: masz usort() - dopisujesz swoja funkcje porownujaca i ci posortuje tablice.
Ale .... niedlugo napiszesz swoja baze SQL, nie prosciej sie na istniejaca przerzucic? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
Niektore funkcje sortujace, zaleznie co i jak ma byc:
ORDER BY= arsort — Sort an array in reverse order and maintain index association asort — Sort an array and maintain index association key — Fetch a key from an array krsort — Sort an array by key in reverse order ksort — Sort an array by key natcasesort — Sort an array using a case insensitive "natural order" algorithm natsort — Sort an array using a "natural order" algorithm reset — Set the internal pointer of an array to its first element rsort — Sort an array in reverse order shuffle — Shuffle an array sort — Sort an array uasort — Sort an array with a user-defined comparison function and maintain index association uksort — Sort an array by keys using a user-defined comparison function usort — Sort an array by values using a user-defined comparison function SELECT = petla (while, for, foreach...) WHERE = IF.. SWITCH... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Już sobie poradziłem. Pomysł był banalny, implode kolejnych komórek wiersza w jednowymiarową tablicę. Potem zwykły sort i mam swój order by:)
Mam taką wątpliwość, na każdej stronie, w każdej książce o html/php zawsze się radzi aby nie używać w nazwach katalogów spacji i innych znaków nie będących literkami (bez polskich znaków), cyferkami myślnikiem, podkreśleniem. Powiedzcie dlaczego? Sprawdziłem na iis i apachu (win i lin), i żadnych niepokojących objawów nie zauważyłem. To można czy nie można nazwać katalogi: Żółta ćma; pliki: mój żółwik.php ? Pozdrawiam. |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Przenieś te nazwy na inny serwer/platformę, wtedy zobaczysz. ;]
Albo spróbuj wywołać różnymi przeglądarkami nazwy plików przez URL. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
erix no właśnie pisałem, że sprawdziłem na serwerze IIS (WINDOWS) i na serwerze APACHE (WINDOWS i LINUX - UBUNTU). Oglądałem te strony przez: IE, FF, OPERĘ, CHROME. I wszystko działało bez zastrzeżeń. Kiedy mogą pojawić się problemy z takimi stronami?
Przecież wszystko dobywa się po stronie serwera, czyli język systemu użytkownika przeglądarki też nie powinien grać roli? A dwa co mam zrobić jeśli struktura katalogów i plików jest ważna dla strony, menu i treść jest generowana w oparciu właśnie o te nazwy. Spacje można zastąpić podkreśleniem i przy wyświetlaniu znowu zamienić na spacje. Ale co z polskimi literkami? Mógłbym zrobić słownik, ale to dużo roboty w sensie wpisywania tych tłumaczeń: Zolta_cma - Żółta ćma; moj_zolwik.php - mój żółwik.php Jak tego uniknąć? Pozdrawiam i dziękuję za odpowiedź. PS Jak definiować wygląd odnośników |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Kiedy mogą pojawić się problemy z takimi stronami? Naprawdę z góry ciężko powiedzieć. A najważniejsze - goście z ustawionymi innymi stronami kodowymi niż utf/iso (zdarzają się; choćby z konsolki). Cytat A dwa co mam zrobić jeśli struktura katalogów i plików jest ważna dla strony, menu i treść jest generowana w oparciu właśnie o te nazwy. Spacje można zastąpić podkreśleniem i przy wyświetlaniu znowu zamienić na spacje. Ale co z polskimi literkami? Mógłbym zrobić słownik, ale to dużo roboty w sensie wpisywania tych tłumaczeń: Zolta_cma - Żółta ćma; moj_zolwik.php - mój żółwik.php Jak tego uniknąć?
Cytat PS Jak definiować wygląd odnośników Przeczytać kurs HTML. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
erix nie do końca rozumiem. Funkcja iconv służy do zamiany kodowania stringu. Ale nadal nie widzę jak ma to pomóc w rozwiązaniu problemu. Mam na dysku strukturę plików i katalogów w których nazwach są polskie znaki diakrytyczne. I są one ważne. Np nazwa pliku ze zdjęciem, jest jednocześnie opisem zdjęcia, nazwa katalogu jest jednocześnie elementem menu nawigacyjnego. Czyli na stronie wyświetlam często nazwy owych plików/katalogów właśnie z "niedozwolonymi znakami", kodowanie strony to utf8. Wszystko wyświetla się poprawnie. Ale np w odnośnikach są polskie znaki. Dwa, nazwy tych odnośników, jak i reszta kodu strony są tworzone przy pomocy php - odczyt plików/katalogów i wyprodukowywanie strony html.
Jeśli dobrze rozumiem, to fakt, że serwer/os sobie z tym radzi nie musi być regułą i jak przeniosę stronę na jakiś inny, bardziej egzotyczny,to coś się może rypnąć? Czy to o to chodzi? Bo jeśli ktoś przegląda stronę www używając kodowania ascii, to trudno, żeby coś ciekawego zobaczył. Tym się nie martwię. Natomiast ważne jest czy jeśli w nazwie odnośnika będzie 'www.strona.com/kolory ęąć/index.php?a=żółta żółć&różowy róż' to czy z tym może być jakiś problem? Czy jeśli ktoś będzie korzystał z kompa gdzie jest tylko os w angielskiej wersji językowej i przeglądarka również i nie obsługuje kodowania utf8 albo iso, to czy będzie mógł otworzyć stronę i zobaczyć na niej niepoprawnie wyświetlane teksty, czy w ogóle jej nie da rady otworzyć? Jednym zdaniem: Czy polskie znaki w adresie, nazwach odnośników coś mogą popsuć? Pytając o wygląd odnośników miałem na myśli wygląd odnośnika w pasku adresu a nie na stronie www: 'www.strona.com/kolory ęąć/żółta żółć i różowy róż/' zamiast www.strona.com/kolory ęąć/index.php?a=żółta żółć&różowy róż' czy przekazując getem wartości zmiennych muszą one tak straszyć a adresie? Może da się je jakoś ukryć/zamaskować? PS Czy jeśli odczytuje te nazwy plików/katalogów i umieszczam je na stronie to powinienem zmienić jakoś ich kodowanie? |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Jeśli dobrze rozumiem, to fakt, że serwer/os sobie z tym radzi nie musi być regułą i jak przeniosę stronę na jakiś inny, bardziej egzotyczny,to coś się może rypnąć? Czy to o to chodzi? Tak. Cytat erix nie do końca rozumiem. Funkcja iconv służy do zamiany kodowania stringu. Ale nadal nie widzę jak ma to pomóc w rozwiązaniu problemu. Mam na dysku strukturę plików i katalogów w których nazwach są polskie znaki diakrytyczne. Translit zmienia polskie diakrytyki na łacińskie odpowiedniki. Cytat Czy jeśli ktoś będzie korzystał z kompa gdzie jest tylko os w angielskiej wersji językowej i przeglądarka również i nie obsługuje kodowania utf8 albo iso, to czy będzie mógł otworzyć stronę i zobaczyć na niej niepoprawnie wyświetlane teksty, czy w ogóle jej nie da rady otworzyć? Istnieje ryzyko, że może być problem. Cytat Czy jeśli odczytuje te nazwy plików/katalogów i umieszczam je na stronie to powinienem zmienić jakoś ich kodowanie? Zależy od systemu plików serwera. Cytat Jednym zdaniem: Czy polskie znaki w adresie, nazwach odnośników coś mogą popsuć? A czy już na to pytanie nie odpowiedziałem? Zrób kompromisowo: http://example.org/zażółć-gęślą-jaźń-10 i wiążącym składnikiem niech będzie 10, który będzie identyfikatorem rekordu w bazie/tablicy z listą plików. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 11:30 |