Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Usuwanie użytkowników pętlą po uwzględnieniu warunku
Lethys
post
Post #1





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Witam,

Chcę zrobić prosty skrypt, który mi wypiszę użytkowników którzy dodali artykuł ze słaba punktacją (-5 bądź mniej punktów). W tabeli artykuly, każdy artykuł ma kolumnę id_dodajacy na podstawie której chcę wypisać użytkowników ktorzy dodali słaby artykuł.



  1.  
  2. $artykul_dostep = mysql_fetch_array(mysql_query("select * from artykuly where punkty<=-5")) or mysql_error();
  3.  
  4.  
  5. foreach($artykul_dostep as $userr)
  6. {
  7. $dany_user = mysql_fetch_array(mysql_query("select * from uzytkownicy where id=$userr[id_dodajacego]")) or mysql_error();
  8.  
  9. echo '<br>'.$dany_user[login].'</br>';
  10. }
  11.  
  12.  


Co źle robię? Chcę to zrobić pętlą foreach.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kishin
post
Post #2





Grupa: Zarejestrowani
Postów: 148
Pomógł: 17
Dołączył: 20.12.2011

Ostrzeżenie: (0%)
-----


Cytat(kapslokk @ 10.08.2015, 14:36:28 ) *
To Ty też sobie poczytaj o tablicach asocjacyjnych. Albo wyjaśnij skąd warning? Można wziąć dodatkowo
  1. $userr[id_dodajacego]
w apostrofy, ale jeżeli jest liczbą to nie ma takiej potrzeby.


Wiesz że warning jest przy zaproponowanym przez Ciebie zapytaniu?
Proponuje napisać takie zapytanie i przekonać się na własnej skórze.

Cytat(Lethys @ 10.08.2015, 14:36:56 ) *
Teraz odkryłem, że skrypt zawsze zwraca ID:1 (nie wpadłem na to bo testowałem swoim kontem z id 1)

  1. $podobienstwa_dostep = mysql_fetch_array(mysql_query("select * from artykuly where punkty<=-5 and id_dodajacego IS NOT NULL")) or die(mysql_error());
  2.  
  3.  
  4. foreach($podobienstwa_dostep as $userr)
  5. {
  6. $dany_user = mysql_fetch_array(mysql_query("select * from `uzytkownicy` where id='$userr[id_dodajacego]'")) or die(mysql_error());
  7.  
  8. //$userr['id_dodajacego'] WYNOSI ZAWSZE 1 MIMO, IŻ W BAZIE UŻYTKOWNIK, KTÓRY PISAŁ DANY ARTYKUŁ MA INNY ID
  9.  
  10. echo ''.$userr['id_dodajacego'].'</br>';
  11. echo ''.$dany_user['login'].'</br>';
  12. }



Możesz wrzucić jakieś screeny tych tabelek?
Go to the top of the page
+Quote Post
Lethys
post
Post #3





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Cytat(Kishin @ 10.08.2015, 14:03:42 ) *
Wiesz że warning jest przy zaproponowanym przez Ciebie zapytaniu?
Proponuje napisać takie zapytanie i przekonać się na własnej skórze.

Możesz wrzucić jakieś screeny tych tabelek?



Jasne

Jak widać istnieje użytkownik z ID 8, który ma artykuły z minimum -5 punktami, a skrypt mi pokazuje usera z ID:1 zamiast 3 echo z userem o ID:8

Uzytkownicy:

(IMG:http://s2.postimg.org/hz7psqkq1/uzytkownicy.png)

Artykuły:

(IMG:http://s22.postimg.org/wfd6c1vf5/podobienstwo.png)
Go to the top of the page
+Quote Post

Posty w temacie
- Lethys   [PHP] Usuwanie użytkowników pętlą po uwzględnieniu warunku   10.08.2015, 11:44:06
- - kapslokk   Tak na pierwszy rzut oka to: [PHP] pobierz, plaint...   10.08.2015, 11:47:28
|- - Lethys   Cytat(kapslokk @ 10.08.2015, 11:47:28...   10.08.2015, 12:07:00
- - Kishin   Po co robisz dodatkowe zapytanie w pętli? Nie lep...   10.08.2015, 12:13:36
|- - Lethys   Cytat(Kishin @ 10.08.2015, 12:13:36 )...   10.08.2015, 12:25:12
- - com   pokaż poprawiony kod   10.08.2015, 12:13:52
- - Kishin   ehh mój błąd [SQL] pobierz, plaintext  SELEC...   10.08.2015, 12:33:55
|- - Lethys   Cytat(Kishin @ 10.08.2015, 12:33:55 )...   10.08.2015, 12:47:05
- - kapslokk   [PHP] pobierz, plaintext $dany_user = mysql_fetc...   10.08.2015, 12:51:21
|- - Lethys   Cytat(kapslokk @ 10.08.2015, 12:51:21...   10.08.2015, 12:55:02
- - kapslokk   Legendy głoszą, że jak dasz: [PHP] pobierz, plain...   10.08.2015, 12:58:29
|- - Lethys   Cytat(kapslokk @ 10.08.2015, 12:58:29...   10.08.2015, 13:07:52
- - kapslokk   Warning Ci wywala, bo nie masz apostrofów. Znajdź ...   10.08.2015, 13:15:45
- - Kishin   Cytat(kapslokk @ 10.08.2015, 14:15:45...   10.08.2015, 13:27:47
|- - kapslokk   Cytat(Kishin @ 10.08.2015, 14:27:47 )...   10.08.2015, 13:36:28
|- - Lethys   Cytat(Kishin @ 10.08.2015, 13:27:47 )...   10.08.2015, 13:36:56
- - Kishin   Cytat(kapslokk @ 10.08.2015, 14:36:28...   10.08.2015, 14:03:42
|- - Lethys   Cytat(Kishin @ 10.08.2015, 14:03:42 )...   10.08.2015, 14:12:06
- - kapslokk   Ok, spoko. Ale dajmy w takim razie: [PHP] pobierz,...   10.08.2015, 14:06:08
- - Kishin   wrzuc jeszcze przed foreachem takie coś i napisz c...   10.08.2015, 14:40:53
|- - Lethys   Cytat(Kishin @ 10.08.2015, 14:40:53 )...   10.08.2015, 15:03:40
- - kapslokk   Jeden rekord, bo mysql_fetch_array powinieneś używ...   10.08.2015, 15:56:48
- - Kishin   Zamiast [PHP] pobierz, plaintext $dany_user = mys...   11.08.2015, 07:50:32
|- - Lethys   Cytat(Kishin @ 11.08.2015, 06:50:32 )...   11.08.2015, 09:20:27
- - kapslokk   [PHP] pobierz, plaintext $res = mysql_query(...   11.08.2015, 09:27:21


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 13:34