Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] petla foreach pobieranie rekordow do tabeli
Forum PHP.pl > Forum > Przedszkole
Wertas
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
wookieb
Temat: Jak poprawnie zatytulowac watek
// otwieram
Wertas
Napisałem już coś

  1. $get = $mysqli->query("SELECT * FROM `user` ");
  2.  
  3. while($character = $get->fetch_object()) {
  4. echo '';
  5. $tab = array(
  6. 'Name' => 'username',
  7. 'Typ' => 'type',
  8. 'Group' => 'group');
  9.  
  10. foreach($tab as $key => $value)
  11. {
  12. echo "";
  13. echo $key.': '.$character->$value.' ';
  14. }
  15. echo "<br> ";
  16. }


Output

Name: admin Typ: 0 Group: 0
Name: test Typ: 0 Group: 1
Name: Kavvson Typ: 1 Group: 1

A chcę taki. I nie wiem jak to uczynić.
Skrypt zrobi tabele (lub samo <br>) z podziałem na grupy (jak niżej) i oddzieli nagłówki grup <hr>. Grup może być wiele. Bądź wpisane w arrayu

Grupa 1
_____________
Name: test Typ: 0 Group: 1
Name: Kavvson Typ: 1 Group: 1

Grupa 0
_____________
Name: admin Typ: 0 Group: 0

I nikt nie wie:(?
nospor
Cytat
Skrypt zrobi tabele (lub samo <br>) z podziałem na grupy (jak niżej) i oddzieli nagłówki grup <hr>. Grup może być wiele. Bądź wpisane w arrayu

Grupa 1
_____________
Name: test Typ: 0 Group: 1
Name: Kavvson Typ: 1 Group: 1

Grupa 0
_____________
Name: admin Typ: 0 Group: 0
Tu pisałem o grupowaniu
http://nospor.pl/grupowanie-wynikow.html
Może ci się przyda
Wertas
  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
nospor
No to oprócz username, dodawaj tez typ czy cokolwiek sobie zażyczysz. No nikt ci nie broni

nie: $cities[$firstLetter][] = $row['username'];
a: $cities[$firstLetter][] = array( 'username' => $row['username'], 'cosinnego' => $row['cosinnego'] );
Wertas
a jak pobrac do foreach? trzeba robic nowa petle? bo teraz output to

Grupa 0
Array
Grupa 1
Array
Array

sad.gif

Rozwiązane
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.