Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] petla foreach pobieranie rekordow do tabeli, potem podzial ich na kategorie
Wertas
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.03.2010

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


Chciałem napisać skrypcik , który by tworzył tabelę i uzupełnia ją danymi z zapytania mysql.

Otoż mam tabelę mysql

users - potrzebuję z niej pobrać wszystko (sobie wybiorę ale tak będzie łatwiej)

warunek dla tego zapytania to WHERE group = (i w tym miejscu chcę zrobić by było jakby wiele możliwości do tej grupy np. 01 do 12. ) a tabela która by to robiła wyglądałaby tak

Grupa 01 (z zapytania WHERE group np. 01)
----------------------------------------------------
+ User + | + POLE (wlasne) + | +Pole wlasne +
----------------------------------------------------
User 1 POLE POLE
----------------------------------------------------
User 2 POLE POLE
----------------------------------------------------

Grupa 02 (z zapytania WHERE group np. 02)
----------------------------------------------------
+ User + | + POLE (wlasne) + | +Pole wlasne +
----------------------------------------------------
User 4 POLE POLE
----------------------------------------------------
User 6 POLE POLE
----------------------------------------------------
Napisałem coś ale jest to na pewno źle:(

Cytat
Tyle ze nie ma to byc pobierane z array tylko wszystkie mozliwe.
  1.  
  2. $grupy= array(1 => "Grupa 1");
  3.  
  4. foreach ($skills as $key => $value) {
  5. $allM5 = $mysqli->query("SELECT * FROM `user` WHERE `group` = ".$key."")->fetch_array();
  6. #var_dump($allM5);
  7. echo $grupy;
  8. }


Zrobilem cos takiego

  1. $data = $mysqli->query("SELECT * FROM `user`")->fetch_array();
  2. foreach ($data as $row) {
  3. print $row['id'] . "\t";
  4. print $row['username'] . "\t";
  5. }


daje to straszne dziwne wartosci :S

3 3 3 3 a a a a e e e e 1 1 1 1 0 0 0 0 0 0 0 0 a a a a d d d d A A A A 7 7 7 7 2 2 2 2 1 1 1 1 0 0 0 0 1 1 1 1

Prosze o pomoc


Proszę zobaczyć 2gi post

Ten post edytował Wertas 21.02.2012, 17:54:04
Powód edycji: [wookieb]:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wertas
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.03.2010

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


  1. $sql = $mysqli->query("select * from user");
  2.  
  3. //najpierw pozyskamy niezbędne dane
  4. $cities = array();
  5.  
  6. while ($row = $sql->fetch_array()){
  7.  
  8. //jeśli będziemy w bazie mieli miasta z nazwami zaczynającymi
  9. //się od polskich liter należy użyć modułu mb_string
  10. $firstLetter = 'Grupa '.strtoupper(substr($row['group'],0,2));
  11.  
  12. //jeśli nie było jeszcze danej litery, to ją tworzymy
  13. if (!isset($cities[$firstLetter]))
  14. $cities[$firstLetter] = array();
  15.  
  16. //dodajemy kolejne miasta do danej litery
  17. $cities[$firstLetter][] = $row['username'];
  18.  
  19. foreach ($cities as $letter => $_cities){
  20. echo '<table align="center" width="95%" class="_table" id="prd__contentTable" dir="ltr">
  21. <tr align="center" class="dg_tr">
  22. <td class="_th" colspan="6"><b>'.$letter.'</b></td>
  23. </tr>';
  24. foreach ($_cities as $city){
  25. echo '<tr class="_tr" style="background:none repeat scroll 0 0 '.$bg.'><tr align="center" class=_tr><td class=_td><div align="center"><img src="images/icons/articles.png"><a href="#">'.$city.' '.$cit.'</a></img></div></td></tr>';}
  26. echo '</table>';
  27. }


Output - działa wszystko teraz chce aby pobrać jeszcze jedną wartość z zapytania pole type (jest to pole int(2) i może w nim być 0 albo 1) - i chcę aby gdy było 1 pokazał komentarz przy nicku.

Grupa 0

admin -( komentarz type=1)

Grupa 1

test - komentarz type=1
Kavvson - komentarz type =0
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 03:02