Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Tabele Google
Forum PHP.pl > Forum > Przedszkole
Barcelona
Witam, pobranie danych z bazy oraz wyświetlenie ich w tabeli nie jest niczym trudnym. Jednak takie tabele są mało funkcjonalne, np. brak sortowania.
Szukałem rozwiązania na zapleczu dla programistów w google i tam znalazłem to czego szukałem. Mój problem polega na tym że nie mam pojęcia jak pod tą tabele podpiąć moje dane z bazy.
Link do codu google. http://code.google.com/intl/pl-PL/apis/cha...lery/table.html

A tutaj kod jaki udostępniają.

  1. <head>
  2. <script type='text/javascript' src='https://www.google.com/jsapi'></script>
  3. <script type='text/javascript'>
  4. google.load('visualization', '1', {packages:['table']});
  5. google.setOnLoadCallback(drawTable);
  6. function drawTable() {
  7. var data = new google.visualization.DataTable();
  8. data.addColumn('string', 'Name');
  9. data.addColumn('number', 'Salary');
  10. data.addColumn('boolean', 'Full Time Employee');
  11. data.addRows(4);
  12. data.setCell(0, 0, 'Mike');
  13. data.setCell(0, 1, 10000, '$10,000');
  14. data.setCell(0, 2, true);
  15. data.setCell(1, 0, 'Jim');
  16. data.setCell(1, 1, 8000, '$8,000');
  17. data.setCell(1, 2, false);
  18. data.setCell(2, 0, 'Alice');
  19. data.setCell(2, 1, 12500, '$12,500');
  20. data.setCell(2, 2, true);
  21. data.setCell(3, 0, 'Bob');
  22. data.setCell(3, 1, 7000, '$7,000');
  23. data.setCell(3, 2, true);
  24.  
  25. var table = new google.visualization.Table(document.getElementById('table_div'));
  26. table.draw(data, {showRowNumber: true});
  27. }
  28. </script>
  29. </head>
  30.  
  31. <body>
  32. <div id='table_div'></div>
  33. </body>
  34. </html>
  35.  


Wiem że w pętli musiałbym puścić ten kawałek kodu:

[JAVASCRIPT] pobierz, plaintext
  1. data.setCell(0, 0, 'Mike');
  2. data.setCell(0, 1, 10000, '$10,000');
  3. data.setCell(0, 2, true);
[JAVASCRIPT] pobierz, plaintext


Jednak problemem są zmieniające się cyfry [0, 0], [0, 1], [0, 2]. [1, 0], [1, 1], [1, 2] itd
Wiem że jest tendencja wzrostowa i te liczny można podstawić np. pod $id z bazy, jednak nigdy nie można mieć pewności że ciąg id w bazie będzie nieprzerwany (np. po 1,2,3,4,5,6 będzie 9)

Proszę o pomoc.

Evinek
  1. for($i = 0; $i < 5; $i++){
  2. echo 'data.setCell('.$i.', 0, "Mike");';
  3. echo 'data.setCell('.$i.', 1, 10000, "$10,000");';
  4. echo 'data.setCell('.$i.', 2, true);';
  5. }}

Powinno działać.
Możesz jeszcze dać /n, ale to wtedy w dwa cudzysłowy ("/n").
Co do ilości to po prostu ile wyników i w pętli for dajesz to.

Zdaje mi się, że to powinno działać. Jeśli mylę się to proszę aby ktoś mnie poprawił.

Pozdrawiam.
PanGuzol
Chyba niezrozumiałeś działania metody setCell.
Pierwszy parametr oznacza numer rekordu, drugi numer kolumny a trzeci wartość.
Czyli piszesz coś takiego:
  1. $i=1;
  2. while($r = $result->fetch_row())
  3. {
  4. echo 'data.setCell('.$i.', 0, "'.$r[0].'");';
  5. echo 'data.setCell('.$i.', 1, "'.$r[1].'");';
  6. echo 'data.setCell('.$i.', 2, "'.$r[2].'");';
  7. ++$i;
  8. }
Barcelona
OK, wieczorem sprawdzę czy to działa.
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.