Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyświetlenie tablicy...
artvip
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.02.2009

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


Znowu muszę prosić o pomoc..

kawałek kodu:
  1. $r = array_merge_recursive($array1, $array2);
  2.  
  3. foreach ($r as $user => $dane) {
  4.  
  5. foreach ($dane as $key => $value2) {
  6.  
  7. echo "<br>";
  8. echo $user;
  9. echo "<tr> <td>";
  10. echo $key;
  11. echo "<tr> <td>";
  12. print_r($value2);
  13. }
  14. }


Połączyłem dwie tablice. Dokładniej tak to wygląda:
  1. Array1:
  2. [user1] => Array
  3. (
  4. [nazwa1] => 0
  5. [nazwa2] => 3
  6. [nazwa3] => 0
  7. )
  8. Array2:
  9. [user1] => Array
  10. (
  11. [nazwa2] => 3
  12. )
  13.  
  14. $r = array_merge_recursive($array1, $array2);
  15. [user1] => Array
  16. (
  17. [nazwa1] => 0
  18. [nazwa2] => Array
  19. (
  20. [0] => 3
  21. [1] => 3
  22. )
  23.  
  24. [nazwa3] => 0
  25. )

Wywołanie kodu powyżej daje mi taki wynik:
user1 nazwa1 0
user1 nazwa2 Array ( [0] => 3 [1] => 3 ) - ten array wyrzucam print_r($value2);
user1 nazwa3 0
Prośba o pomoc.. jak to przerobić foreach'a albo wyrzucić dane w postaci echo tak abym mógł je sobie w tabelę wrzucić.. Dodanie kolejnej pętli wyrzuca mi błąd i nie pokazuje rekordów które są w array1 a nie ma w array2 i odwrotnie.
Dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
organista18
post
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 22.07.2009

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


W ten sposób tabelki nie zrobisz...
  1. echo "<br>";
  2. echo $user;
  3. echo "<tr> <td>";
  4. echo $key;
  5. echo "<tr> <td>";
  6. print_r($value2);


to powinno raczej wyglądać tak:

  1.  
  2. //przed pętlą dajesz table:
  3. <table>
  4. foreach ($r as $user => $dane) {
  5.  
  6. echo "<tr>";
  7. echo $user;
  8. foreach ($dane as $key => $value2) {
  9.  
  10. //tutaj komórki:
  11. echo "<td>"
  12. echo $key;
  13. print_r($value2);
  14. echo "</td>";
  15. }
  16. echo "</tr">
  17. }


Przydałoby się też, żebyś napisał, jak miałaby wyglądać ta tabela... bo teraz to improwizowałem...

więcej info znajdziesz tutaj: http://www.kurshtml.boo.pl/html/struktura_tabeli,tabele.html
Go to the top of the page
+Quote Post
artvip
post
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.02.2009

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


Tak zrobiłem tabele:

  1. echo "<center>";
  2. echo "<TABLE WIDTH=650 HEIGHT=70 CELLSPACING=1 CELLPADDING=1 BORDER=1 BGCOLOR=silver >";
  3. echo "<td>";
  4. print("<b>1:</b>");
  5. echo "<td>";
  6. print("<b>2:</b>");
  7. echo "<td>";
  8. print("<b>3:</b>");
  9. echo "</td>\n";
  10. echo "</center>";
  11.  
  12. foreach ($r as $user => $dane) {
  13.  
  14. foreach ($dane as $key => $value3) {
  15.  
  16. echo "<tr>";
  17. echo "<td>";
  18. echo $user;
  19. echo "</td>";
  20. echo "<td>";
  21. echo $key;
  22. echo "</td>";
  23. echo "<td>";
  24. echo $value3;
  25. echo "</td>";
  26. echo "</tr>";
  27.  
  28. }
  29. }

i w sumie jest OK. Prawie oczekiwany efekt mam ale.. Układ danych w tabeli jest podobny z tablic które pokazałem wyżej.

Dane z mojej tablicy na tym konkretnym przypadku wyświetlane są tak:
  1. [user1] => Array
  2. (
  3. [nazwa1] => Array
  4. (
  5. [0] => 0
  6. )
  7.  
  8. [nazwa2] => Array
  9. (
  10. [0] => 3
  11. [1] => 3
  12. )
  13.  
  14. [nazwa3] => Array
  15. (
  16. [0] => 0
  17. )
  18.  
  19. )

W tabeli wygląda to tak:
user1, nazwa1, 0
user1, nazwa2, 3
user1, nazwa2, 3
user1, nazwa3, 0

a chciałbym żeby było tak:
user1, 0, nazwa1, 0
user1, 3, nazwa2, 3
user1, 0, nazwa3, 0

Czyli bez powielenia nazwa2 i pokazanie wartości 3 po lewej i po prawej stronie żeby można było porównać.
Znacznie czytelniejsze jest wtedy.

Czy przy takiej budowie tablicy jest to wykonalne? Czy jak w pętli wyrzucam dane to mam wpływ na uzupełnianie
tabeli z tablicy array?

dzięki






Go to the top of the page
+Quote Post

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: 25.08.2025 - 04:19