Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] tworzenie zmiennych na podsawie zawartości danej zmiennej
gawar
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Mam zapytanie do bazy MySQL
  1. $max=$sth->query('SELECT sektor, MAX(rzad) as max_rzad, MAX(miejsce) as max_miejsce, MAX(podmiejsce) as max_p
  2. FROM t_miejsce
  3. Group by sektor
  4. order by sektor ASC');


i teraz odczytuje odpwiedź za pomocą foreach
  1. foreach ($max as $r){
  2.  
  3. $max_s = $r["sektor"] ;
  4. $max_r= $r["max_rzad"] ;
  5. $max_m= $r["max_miejsce"] ;
  6. $max_p= $r["max_p"] ;
  7.  
  8. echo ''.$max_s.' '.$max_r.' '.$max_m.' '.$max_p.'<br/>';
  9.  
  10. }

Jak zrobić żeby utworzyć nazwy zmiennych dla tych 4 zmiennych aby wyglądały tak $max_s1, $max_r1, $max_m1, $max_p1 dla max_s=1 dla max_s=7 $max_s7, $max_r7, $max_m7, $max_p7
Chodzi o to żeby to co jest w zmiennej $max_s przypisać do jej nowo utworzonej nazwy zmiennej $max_s.$r["sektor"] = $r["sektor"] ;
Go to the top of the page
+Quote Post
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


Da się to zrobić, jednak kod będzie mało czytelny i trudniejszy do dalszej obróbki.
Czemu nie użyjesz tablicy?

Czyli zamiast $max_s1 będziesz miał $max_s[1] itd.


  1. $i=0;
  2. foreach ($max as $r){
  3.  
  4. $max_s[$i] = $r["sektor"] ;
  5. $max_r[$i]= $r["max_rzad"] ;
  6. $max_m[$i]= $r["max_miejsce"] ;
  7. $max_p[$i]= $r["max_p"] ;
  8.  
  9. echo ''.$max_s[$i].' '.$max_r[$i].' '.$max_m[$i].' '.$max_p[$i].'<br/>';
  10. $i++;
  11. }
  12.  



Ten post edytował timon27 23.11.2013, 14:20:59
Go to the top of the page
+Quote Post
gawar
post
Post #3





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


A jak mam się odnieść potem do tych zmiennych już z poza pętli?
Go to the top of the page
+Quote Post
timon27
post
Post #4





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


No przecież masz wszystko w 4 tablicach.
Masz przykład ponownego wyświetlenia danych:

  1. foreach ($max_s as $i=> $value) {
  2. echo ''.$max_s[$i].' '.$max_r[$i].' '.$max_m[$i].' '.$max_p[$i].'<br/>';
  3. }


Ten post edytował timon27 23.11.2013, 14:24:45
Go to the top of the page
+Quote Post
gawar
post
Post #5





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Ok, o to chodizło:) dziękuję!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 00:09