Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalizacja zapytania + kodu
Forum PHP.pl > Forum > PHP
fazi
Kod
$nazwy = array('zarobki,'produkt','punkty','zalegosci');
foreach($nazwy as $tab){
$tablica = $db->query("SELECT `login` FROM users ORDER BY `{$tab}` DESC);
$start = 1;
while($row = $tablica->fetch_array()){
if($row['login'] == $user_row['login']) {$wys['$tab'] = $start;}
++$start;
}
unset($tablica,$row);
}



Jest to kod do inwidualnej statystyki usera lecz jego wykonanie jest wolne czy jest sposób by go przyśpieszyć ?
bim2
  1. <?php
  2. $nazwy = array('zarobki','produkt','punkty','zalegosci');
  3.  
  4. $tablica = $db->query("SELECT `login` FROM users ORDER BY `{$tab}` DESC");
  5. $start = 1;
  6. while($row = $tablica->fetch_array()){
  7. foreach($nazwy as $tab){
  8. if($row['login'] == $user_row['login']) {$wys[$tab] = $start;}
  9. ++$start;
  10. }
  11. }
  12. unset($tablica,$row);
  13. ?>


Po co pobierac z bazy kilka razy, jak zmieniasz tylko sortowanie? Nie rozumiem w ogóle co chcesz osiągnąć?
fazi
Cytat(bim2 @ 10.03.2008, 14:34:55 ) *
  1. <?php
  2. $nazwy = array('zarobki','produkt','punkty','zalegosci');
  3.  
  4. $tablica = $db->query("SELECT `login` FROM users ORDER BY `{$tab}` DESC");
  5. $start = 1;
  6. while($row = $tablica->fetch_array()){
  7. foreach($nazwy as $tab){
  8. if($row['login'] == $user_row['login']) {$wys[$tab] = $start;}
  9. ++$start;
  10. }
  11. }
  12. unset($tablica,$row);
  13. ?>


Po co pobierac z bazy kilka razy, jak zmieniasz tylko sortowanie? Nie rozumiem w ogóle co chcesz osiągnąć?




Masz usera i chcesz zrobić cos jak top100.

W $tablica masz z jakich tabel masz pobrac. $start nam wyliczy miejsce usera w top. Jezeli znajdzie usera w tablicy doda do zmiennej kótrą wyswietle później.
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.