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
patryczakowy
post
Post #2





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

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


Cytat
Mam w bazie w tabeli okolo 350 rekordow,
a co to jest 350 rekordów gdybyś póścił nawet to w dwóch pętlach to moim zdaniem powinno się wykonać chwilę , ale żeby to przyśpieszyć możesz sprubować z left join są one szybsze od takich złączeń
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: 12.10.2025 - 04:02