Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Pobieranie danych z wielu tabel
Forum PHP.pl > Forum > Przedszkole
savander
Witam, nie mogę sobie poradzić z pewną rzeczą. Otóż mam bazę danych z rekordami graczy na mapach(Ich czasy przejścia), do każdej mapy jest tworzona nowa tabela (Map jest dużo). W jaki sposób mogę pobrać z wszystkich tabel pierwszych 5 graczy i zliczyć każdego z osobna (Ilość wystąpień ich nazw).

Póki co mam spis tabel w zmiennej $all
  1. connection();
  2. $stmt = mysql_query('SHOW TABLES;');
  3. if ($stmt) {
  4. while($table = mysql_fetch_row($stmt)){
  5. if(!preg_match("/^blocker_/",$table[0]))
  6. $all[] = $table[0];
  7. }
  8. }
  9.  
  10. $tables = $implode(', ', $all);


Aby sprawdzić czy w ogóle się coś wybiera, jednakże po tym zapytaniu w php pokazuje się
Column 'Name' in field list is ambiguous
  1. function count(){
  2. connection();
  3. global $all;
  4. $tables = implode(', ', $all);
  5. $stmt = mysql_query('SELECT Name, Time FROM '.$tables.' ORDER BY Time ASC LIMIT 5;') or die(mysql_error());
  6. }




Nie mam zielonego pojęcia jak to rozwiązać.
nospor
A czemu nie stworzysz jednej tabeli dla wszystkich map? Ile to "duzo map"? Ilu userow?
savander
Ze względu na to, że w tej grze ludzie się nie rejestrują, na jedną mapę może być 2-3 tys różnych czasów, map około 200 może więcej. W dodatku jest to serwer którego ja nie pisałem, tak został już stworzony, według mnie jest to po prostu optymalne rozwiązanie dla takiej ilości danych, aby to po prostu długo nie trwało (cachowanie nic nie da, zbyt często dane się zmieniają)

I tak to jest serwer gry, ludzie mogą sprawdzić swoje osiągi na serwerze, smile.gif
nospor
600tys rekordow to zadna liczba dla mysql.... Powinno to byc w jednej tabeli to nie byloby problemow z wyliczeniami

Jesli jednak nie zamierzasz zmieniac struktury to u ciebie ma byc UNION na kazdą tabele oraz COUNT do zliczania. To co masz teraz nie ma prawa dzialac i jak widac nie dziala
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.