Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] optymalizacja kodu
lutador
post
Post #1





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


Witam,


Mam w bazie w tabeli okolo 350 rekordow, wyswietlenie ich na stronie trwa okolo 1min lub dluzej. Jest to zdecydowanie za dlugo. Ponizej przestawiam swoj kod. Czy ktos moze mi powiedziec jak go zoptymalizowac zeby wyniki wyswietlaly sie szybciej

  1. <?php
  2. if($_GET['id_mag'] != '111') { // jezeli != 111 wyswietlam wszystkie lokalizacje  
  3.      $where = "WHERE u.magazyn = '$_GET[id_mag]' AND u.magazyn = l.id_mag";
  4.    }
  5.        
  6.    $query = ("SELECT u.id,
  7.        l.nazwa,
  8.        u.umowa,
  9.        u.tresc,
  10.        u.data_zaw,
  11.        u.data_zak,
  12.        u.wypow,
  13.        u.kontrahent,
  14.        u.nip,
  15.        u.stawka,
  16.        u.kaucja,
  17.        u.magazyn,
  18.        u.stan,
  19.        u.uwagi
  20.        FROM umowy u, lokalizacje l
  21.        {$where}
  22.        {$order}
  23.        ");
  24.  
  25. echo '<table class="umowy" width="1600" border="1">';
  26.    echo '<th><a href="list_umowy.php?id_mag='.$_GET['id_mag'].'&sort=l'.$sort.'">Lokalizacja</a></th>';
  27.    echo '<th><a href="list_umowy.php?id_mag='.$_GET['id_mag'].'&sort=n'.$sort.'">Nr umowy</a></th>';
  28.    echo '<th><a href="list_umowy.php?id_mag='.$_GET['id_mag'].'&sort=p'.$sort.'">Treść</a></th>';
  29.    echo '<th><a href="list_umowy.php?id_mag='.$_GET['id_mag'].'&sort=z'.$sort.'">Data zawarcia</a></th>';
  30.    echo '<th><a href="list_umowy.php?id_mag='.$_GET['id_mag'].'&sort=t'.$sort.'">Data zakończenia</a></th>';
  31.    echo '<th>Wypowiedzenie</th>';
  32.    echo '<th><a href="list_umowy.php?id_mag='.$_GET['id_mag'].'&sort=k'.$sort.'">Kontrahent</a></th>';
  33.    echo '<th><a href="list_umowy.php?id_mag='.$_GET['id_mag'].'&sort=i'.$sort.'">NIP</a></th>';
  34.    echo '<th>Stawka</th>';
  35.    echo '<th>Kaucja</th>';
  36.    echo '<th>Uwagi</th>';
  37.    echo '<th>Stan</th>';
  38.    echo '<th>Edycja/Usuń</th></tr>';
  39.    
  40.    while($wynik = mysql_fetch_array($wyswietl))    
  41.            {
  42.                    if($wynik['data_zak'] == '2132578800')
  43.                    {     $data_zak = "nieokreślony"; }
  44.                    else
  45.                    { $data_zak = @date('Y-m-d',$wynik['data_zak']);    }
  46.                    
  47.                    if($wynik['stan'] == '0')
  48.                        $wyg = ((++$parz % 2)?'1':'2') . '"\"';
  49.                    else
  50.                        $wyg = '3';            
  51.                                                          
  52.              echo '<tr class="dane'.$wyg.'"><td width="120">'. $wynik['nazwa'].'</td>';
  53.            echo '<td width="100">'. $wynik['umowa'].'</td>';
  54.            echo '<td width="250">'. $wynik['tresc'].'</td>';
  55.            echo '<td width="100">'. @date('Y-m-d',$wynik['data_zaw']).'</td>';
  56.            echo '<td width="130">'. $data_zak .'</td>';
  57.            echo '<td>'. $wynik['wypow'].' dni</td>';
  58.            echo '<td>'. $wynik['kontrahent'].'</td>';
  59.            echo '<td>'. $wynik['nip'].'</td>';
  60.            echo '<td width="200">'. $wynik['stawka'].'</td>';
  61.            echo '<td>'. $wynik['kaucja'].'</td>';
  62.            echo '<td width="150">'. $wynik['uwagi'].'</td>';
  63.            echo '<td width="40"><center><a href="list_umowy.php?act=stan&id_um=' .$wynik['id']. '&mag='.$wynik['magazyn'] .'&stan='.$wynik['stan'] .'"><img src="image/act.png" width="20" height="20" alt="Stan Umowy" /></a></center></td>';
  64.            echo '<td width="80">
  65.            <a href="list_umowy.php?act=edit&id_um=' .$wynik['id']. '&mag='.$wynik['magazyn'] .'"><img src="image/edit.png" width="16" height="16" alt="Edycja" /></a>   
  66.            <a href="list_umowy.php?act=del&id=' .$wynik['id']. '&mag='.$wynik['magazyn'].'" onClick="return confirm('Czy usunąć umowę?')"><img src="image/drop.png" width="16" height="16" alt="Usuń" /></a></td></tr>';  
  67.            }
  68. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lutador
post
Post #2





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


Indeksy mam, zapytanie z wyswietleniem 350 rekordow przez mysql trwało 0.0037 sekund wiec to raczej nie jest wina zapynia sql
zrobilem wyswietlanie w dwoch ech'ach ale dalej tak zmula :/
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: 14.10.2025 - 19:07