![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć mam pytanie, jak wylosować Jedną cyfrę z podanych kilku.
Wyszukuję na początku wszystkie id z moimi warunkami (WHERE) następnie dodaje je do pętli while i odczytuję wszystkie ID . I teraz mam pytanie jak wylosować jedno z tych ID ? Chciałem zrobić tak: Ale wyskakuję tylko: " 00 " Wiem, że to pewnie przez to, że źle się tworzy tablica, ale jak ją zrobić poprawnie ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 221 Pomógł: 20 Dołączył: 4.05.2006 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
ale w trakcie już odczytywania w pętli while nie możesz ich ładować do tablicy pod kolejnymi id.
i później robić array rand na tej tablicy? -------------------- Macho odpadacie ;) .
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem jakimś geniuszem w tych sprawach, próbowałem kilku rzeczy, ale żadna nie działa..
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 221 Pomógł: 20 Dołączył: 4.05.2006 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
pisane z palca chyba zadziała ![]() mam nadzieję że pomogłem -------------------- Macho odpadacie ;) .
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
A nie prościej zrobić to już na etapie zapytania SQL?
-------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie no spoko @blooregard, ale nie wiemy czy @Giluś używa bazy danych jako źródła dla tablicy.
Ja podałem swój sposób jako alternatywę dla Twojego Pozdrawiam |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ano własnie nie, bo nie wiem dlaczego omija mi drugi warunek...
Mam taki warunek:
Wiec szuka id który ma kolizjaokr = 0 a kolizja jest inne niż Jan, działa bardzo dobrze 1 warunek, natomiast drugi już nie, sam nie wiem dlaczego, wiec chciałem spróbować coś innego. A dodatkowo, czy można zamienić w jakiś inny sposób " mysql_fetch_array " ?, ponieważ mam troszkę dziwny skrypt forum - SMF 2 i posiada on swoje funkcję mysql np.:
A w internecie znalazłem, że nie ma takiej funkcji jak: mysql_fetch_array, wiec pytam sie czy da się ją jakoś zastąpić ? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Opis funkcji mysql_fetch_array znajdziesz w manualu
|
|
|
![]()
Post
#10
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
A w internecie znalazłem, że nie ma takiej funkcji jak: mysql_fetch_array, wiec pytam sie czy da się ją jakoś zastąpić ? Coś słaby ten Twój internet: http://pl2.php.net/mysql_fetch_array -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
[...] A w internecie znalazłem, że nie ma takiej funkcji jak: mysql_fetch_array, wiec pytam sie czy da się ją jakoś zastąpić ? mysql_fetch_array() co do problemu... spróbuj zrobić to na około jak nie masz pomysłu, czyli:
Powinno zadziałać (również pominięcie nowej tablicy etc.) Ten post edytował kpt_lucek 12.10.2011, 16:45:13 -------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio z @northwest w tym wątku szukaliśmy rozwiązania podobnego problemu i w końcu @northwest skorzystał z podobnej funkcji, którą polecił Ci @kpt_lucek
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Coś słaby ten Twój internet: http://pl2.php.net/mysql_fetch_array Mój internet jest znakomity, a twój chyba pomija niektóre rzeczy: "A dodatkowo, czy można zamienić w jakiś inny sposób " mysql_fetch_array " ?, ponieważ mam troszkę dziwny skrypt forum - SMF 2 i posiada on swoje funkcję mysql np.: " "A w internecie znalazłem, że nie ma takiej funkcji jak: mysql_fetch_array, wiec pytam sie czy da się ją jakoś zastąpić ?" Może przeczytałeś to, a źle mnie zrozumiałeś, chodzi mi oto, że skrypt smf2 posiada swoje funkcję bezpieczeństwa i nie ma w niej mysql_fetch_array, dlatego chciałem to jakimś innym sposobem podmienić. @pianta_d Ogólnie mi chodzi obojętnie jakim sposobem wylosowanie tego ID, chciałem prostym sposobem własnie tym z MySQL, tylko nie wiem dlaczego on mi nie działa:
Działa np:
Tak jak by przez ten RAND lub Limit... |
|
|
![]()
Post
#14
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat Mój internet jest znakomity, a twój chyba pomija niektóre rzeczy: "A dodatkowo, czy można zamienić w jakiś inny sposób " mysql_fetch_array " ?, ponieważ mam troszkę dziwny skrypt forum - SMF 2 i posiada on swoje funkcję mysql np.: " "A w internecie znalazłem, że nie ma takiej funkcji jak: mysql_fetch_array, wiec pytam sie czy da się ją jakoś zastąpić ?" Może przeczytałeś to, a źle mnie zrozumiałeś, chodzi mi oto, że skrypt smf2 posiada swoje funkcję bezpieczeństwa i nie ma w niej mysql_fetch_array, dlatego chciałem to jakimś innym sposobem podmienić. Dziwne, że nie tylko ja Cię źle zrozumiałem, no ale pomińmy detale. -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Może to jakaś starsza, dziwna wersja MySQL? Oprócz znanego != , można też użyć mniej popularnej wersji <> i może to zostanie złapane w bazie. Dopiero co przed chwilą w innym topicu podałem 2 wersje funkcji losujących z użyciem tylko i wyłacznie PHP. Popatrz, pomyśl, skorzystaj. Dla Twojego przypadku szybsze będzie użycie wersji pierwszej przerobionej, gdyż losujesz tylko jedną liczbę z zakresu. Możesz wtedy choćby użyć:
ale programowanie ma to do siebie, że sposobów na zrobienie tego samego są dziesiątki nieraz i to co wyżej napisałem jest tylko wariantem spośród wielu. Radn w bazie na dużej tabeli, zarżnie ją. Spróbuj pobrać id, wylosować jeden i potem pobierz rekord o danym Id. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 377 Pomógł: 9 Dołączył: 2.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem wielką gapę, a nawet ogromną i to przez swoją głupotę
![]() Opiszę jaki błąd zrobiłem: Mam bazę danych taką: ID|Imie|czas|kolizjaokr|kolizja 1|Ja| |0| | 2|Ja2| |0| | (kolizjaokr - to Kolizja na danym okrążeniu), (kolizja - to Nick z kim została dokonana kolizja) I chciałem zrobić aby wylosował jedną osobę która kolizjaokr = 0 i kolizja jest inna niż moje imię.. - Ale co jakiś czas wychodziło i tak moje imię... Rozmyślałem dlaczego tak się dzieje ... Aż w końcu pomyślałem: Przecież jak kolizja jest równa nic to != Ja będzie przechodziło ![]() I tak straciłem 1dzień myślenia nad tym czemu losuję mi moje imię, rozwiązanie to dodanie kolejnego warunku imie != Ja(mojeimie). Co do optymalności to mi ogólnie nie zależy na tym bo i tak to będzie co najwyżej uruchamiane raz na jakiś czas (tylko przez administratora) a tych ID będzie maksymalnie (takie maksimum największe ) = 100. Oczywiście dla każdego kto napisał odpowiedz w tym temacie poleci "Pomógł" ![]() Pozdrawiam i dziękuje za odpowiedzi ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:44 |