Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysq] Przerabianie tablic
calebos
post
Post #1





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 22.02.2008

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


Czesc jak przerobic wynik z bazy danych ktory mniej wiecej wyglada tak:
data | login | sum(czas)

Tak aby html wygladal mniej wiecej tak

- | login1 | login2 | login3 | loginN..
21.07 | sum1 | sum2 | sum3 | sumN
22.07 |sum..
23.07 |sum...

Wymotalem cos takiego
  1. <?php
  2. $logins=array();
  3. $data=array();
  4. $id=0;
  5. while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
  6. foreach($days as $day)
  7. {
  8. $sqldate=date("Y-m-d",mktime(0,0,0,$m,$day,$Y));
  9. if($sqldate==$row['data'])
  10. {
  11. $logins[$row['login']]=$row['osoba'];
  12. $data[$sqldate][$row['login']]=array(
  13. 'timestamp' => $row['timestamp'],
  14. 'data' => $row['data'],
  15. 'login' => $row['login'],
  16. 'czas'=> timeformat($row['sum(czas_h)'],$row['sum(czas_m)'])
  17. );
  18. $id++;
  19. }
  20.  
  21. }
  22. }
  23. }
  24. //echo '<tr><th>'.$login.'</th></tr>';
  25.  
  26. foreach($data as $element => $item)
  27. { 
  28. //echo $element;
  29.  
  30. echo '<tr>';
  31. echo '<td>';
  32. echo $element;
  33. echo '</td>';
  34.  
  35. foreach ($item as $login => $osoba)
  36. {
  37. //echo '<td>';
  38. //echo $osoba['login'];
  39. //echo '</td>';
  40.  // echo $osoba['login'];
  41. echo '<td>';
  42. echo $osoba['czas'].$osoba['login'];
  43. if ($osoba['czas']='') echo 'Unsp';
  44. echo '</td>';
  45.  
  46. }
  47. echo '</tr>';
  48. }
  49. ?>


Prawie ze mi sie udalo tylko ze dane nie trafiaja nadal tam gdzie powinny tzn sumy dla drugiego loginu sa w pierwszej kolumnie itp.
Moze jakos inaczej powinienem zapytac mysql o te dane ? Troche sie zakrecilem z tymi tablicami.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
calebos
post
Post #2





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 22.02.2008

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


Sry ale wyslalem kod w ktorym wlasnie domieszalem to scalanie stringow ale tym chcialem jedynie upewnic sie ze w kolumnie mam danie nie TYLKO jednej osoby ale kilku.

Thx za ten pierwszy blad.

Popatrz bardziej prosze na logike tych petli czy ja to dobrze robie bo wydaje mi sie ze nie
w tablicy jest [data] potem [login] a w loginie napchane sa daty tez jako tablica.
Wkurzajace jest to ze nie mozna druknac jednej kolumny w html bez zakanczania wiersa.
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: 6.10.2025 - 02:18