[MySQL][PHP] Wyświetlanie rekordów z mysql (po przecinkach) |
[MySQL][PHP] Wyświetlanie rekordów z mysql (po przecinkach) |
1.01.2016, 20:39:10
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 1.01.2016 Ostrzeżenie: (0%) |
Witam to znów ja.
Robię sobie taki skrypt typu kwejk itd podpięty pod użytkowników z mybb. I teraz tak. Chcę zrobić listę ulubionych postów, ale też nie chce zaśmiecać sobie bazy... Jakiś gość kiedyś pokazywał mi rozwiązanie w bazie, że mam przykładowo: Komórkę: id Z rekordem: 12 - id użytkownika Komórkę: posts Z rekordem: 21, 32, 53, 64 - id postów po przecinkach tak jak tu Z dodawaniem sobie myślę poradzę, gorzej z odczytywaniem tego przez php. Gdy mam wszystko w osobnych rekordach łatwo, za pomocą pętli, to sobie wyświetlę. A jak mam to zrobić w takim przypadku? Proszę o szybką pomoc |
|
|
1.01.2016, 21:04:02
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
-------------------- |
|
|
1.01.2016, 21:21:32
Post
#3
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 27 Dołączył: 19.10.2014 Ostrzeżenie: (0%) |
PHP funkcja explode
|
|
|
1.01.2016, 21:23:11
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 1.01.2016 Ostrzeżenie: (0%) |
No dobra ale jeżeli każdy użytkownik (przypuśćmy jest ich 100) doda sobie do ulubionych 15 postów to jest 1500 rekordów - duzo, nie? ;D Dlatego nie chce sobie tak zaśmiecać bazy.
Tam gościu nie zabardzo wytłumaczył jak miałbym wyświetlić wszystkie posty z tymi ID.. Czy mógłby mi ktoś bardziej to wytłumaczyć? D: |
|
|
1.01.2016, 21:28:53
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Dużo to jest 150 milionów. Dla bazy to normalna praca.
-------------------- |
|
|
1.01.2016, 21:38:01
Post
#6
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 27 Dołączył: 19.10.2014 Ostrzeżenie: (0%) |
Funkcja explore bierze sobie powiedzmy zmienna w tym przypadku naprzyklad $posty = 1,2,3,4,5
I konwertuje ja do tablicy array. Następnie używasz for loop aby przejść przez wszystkie wyniki z tablicy Powinno go wyglądać tak $przekonwertowane = explode(',',$rowZBazy) foreach($przekonwertowane as $userPost){ I tutaj używasz userPost żeby pobrać post z bazy danych o tym id } |
|
|
1.01.2016, 22:20:45
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 1.01.2016 Ostrzeżenie: (0%) |
Zrobiłem to na tej zasadzie jak wytłumaczyłeś goarthur:
Jednak nie wyświetla mi nic. Spróbowałem dać w środku pętlę, ale też to nie wyszło. Może jesteś w stanie jeszcze jakoś mi pomóc..? Ten post edytował Emrys 1.01.2016, 22:21:18 |
|
|
1.01.2016, 22:31:16
Post
#8
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 27 Dołączył: 19.10.2014 Ostrzeżenie: (0%) |
Hm nie widzę tutaj błędów, co zwraca ci var_dump($fav) oraz var_dump($row) w środku loopa? Dlaczego używasz 2 razy select z bazy posts?
Ten post edytował goartur 1.01.2016, 22:33:21 |
|
|
1.01.2016, 23:03:15
Post
#9
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 1.01.2016 Ostrzeżenie: (0%) |
Już wiem dlaczego nie wyświetlało..
w tym zapytaniu wpisałem złą tabelę, powinno być favorite, nie posts. Dzięki za pomoc Edit// Jednak mam jeszcze jedno pytanko.. Podczas dodawania postu do ulubionych, przydałoby się sprawdzić czy takowy post już nie jest tam dodany, jak mogę to wykonać..? Ten post edytował Emrys 1.01.2016, 23:10:07 |
|
|
2.01.2016, 00:03:51
Post
#10
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 27 Dołączył: 19.10.2014 Ostrzeżenie: (0%) |
Chodzi ci o sprawdzanie czy w tym posts nie ma danego id? Jeśli tak to pobierasz najpierw te wszystkie id z tej tabeli a później używasz funkcji in_array aby sprawdzić czy takie id juz istnieje
|
|
|
2.01.2016, 09:07:17
Post
#11
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 1.01.2016 Ostrzeżenie: (0%) |
Tak myślałem, żeby tego użyć, ale nie wiem czy jak mam np. id 2,12,22, nie wyszuka mi tych 3 id gdy jako "igłę w stogu siana" wpiszę 2.. ;/
Chociaż spróbuję tak zrobić i jeszcze mam jeden swój pomysł. Odezwę się, jeżeli nie będzie mi to działać.. ;D Ten post edytował Emrys 2.01.2016, 09:14:44 |
|
|
2.01.2016, 09:29:14
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Pomyśl jeszcze co będzie, kiedy użytkownik zdecyduje usunąć post z ulubionych.
-------------------- |
|
|
2.01.2016, 10:36:30
Post
#13
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 1.01.2016 Ostrzeżenie: (0%) |
W usuwać to spróbuję pokombinować z
Dobra.. Myślałem, że już sobie poradzę ale jednak nie.
Dostaje taki oto błąd: http://scr.hu/5c6f/ogmgy To nie jest związane z mysql, bo nawet jak
zamieniłem na zwykłe liczby po przecinku, to i tak dostałem ten sam błąd. Pomocy ;/ |
|
|
2.01.2016, 10:51:43
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
$post_tablic jest stringiem (co oczywiste biorąc pod uwagę że to jakaś wartość z zapytania bezpośrednio) a ma być tablicą. Do tego poczytaj o podzapytaniach. Twój sposób jak widzisz jest marny, do tego generuje ogromną ilość zapytań.
-------------------- |
|
|
2.01.2016, 17:32:47
Post
#15
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 1.01.2016 Ostrzeżenie: (0%) |
Postanowiłem, że zrobię to jednak normalnie bez kombinowania. Dzięki wszystkim, którzy próbowali mi pomóc Ten post edytował Emrys 2.01.2016, 21:00:13 |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 15:38 |