[PHP][MySQL] Zacinająca stronka ...

0

Witam
Jestem w trakcie updatowania pewnej strony internetowej, którą regularnie sprawdzam na domowym LAMP.

Dostrzegłem, że jedna podstrona sie przywiesza po kilku szybkich zmianach kategorii co nie dzieje sie gdy wykonuje sie to powoli.

http://boras.pl/autoan/index.php?plik=naszeprodukty&wkat=c

co można samemu sprawdzić...

Pytanie moje jest nastepujące -czy to tragicznie napisana strona (mowa o PHP<->MySQL) czy LAMP nie wyrabia bądz jest coś niewłaściwie w nim ustawione?
(w bazie łącznie jest ok 150 rekordów...)

Z góry bardzo dziękuję za pomoc!

PS
Kod inkludowanego pliku PHP odpowiadającego za wszystko poniżej żółtego auta:

<?php $wkat = $_GET["wkat"];  //po nacisnieciu odpowiedniej kat w adresie przekazywana jest zmienna odpowiadająca za wybór której kategorii produkty wylistować?>
    <!--/ Wyświetlanie cennika/-->
<table border="1" cellpadding="3" cellspacing="0" width="100%">
  <tr valign="top"   bgcolor="gold">
         <td align="left" colspan="2"><a href="index.php?plik=naszeprodukty&wkat=c">
          <?php if( $wkat == 'c' || $wkat == '' ){ // na podstawie $wkat wybór ikony po lewej?>
           <img src="images/ad.gif" border="0" align="bottom">
          <?php }else{ ?>
           <img src="images/ar.gif" border="0" align="bottom">
          <?php } ?>
         <big><span style="color: #111199;">&nbsp;Cennik:</span></big></a></td>
  </tr>
     <?php if( $wkat == 'c' || $wkat == '' ){ //na podstawie $wkat wylistowanie lub nie produktów w cenniku?>
  <tr valign="top"   bgcolor="#eeeeee">
         <td height="20px">
           <small><b>Nazwa towaru:</b></small>
         </td>
	   <td height="20px">
           <small><b>Cena*:</b></small>
         </td>
   </tr>
          <?php
          $wynik = mysql_query("SELECT * FROM cennik ORDER BY lp ");
          while ( $row = mysql_fetch_array($wynik)){  //samo wylistowanie produktów z cennika w pętli wedlug ustalonej kolejnosci
          extract($row);  ?>
   <tr valign="top"   bgcolor="#eeeeee">
            <td height="20px">
               <small><?php echo $nazwa_towaru; ?></small>
            </td>
	      <td height="20px">
               <small><?php echo $cena; ?>&nbsp;PLN</small>
            </td>
   </tr>
         <?php }
         } //na podstawie $wkat wylistowanie lub nie produktów w cenniku ----KONIEC?>
          
</table>
  <!--/ Wyświetlanie cennika KONIEC/-->

<?php
// WYSWIETLANIE PASKÓW KATEGORII
$wynik1 = mysql_query("SELECT * FROM kategorie  ORDER BY lp ");
    while ( $row1 = mysql_fetch_array($wynik1)){
                  extract($row1);
?>

<table border="1" cellpadding="3" cellspacing="0" width="100%">
  <tr valign="top"   bgcolor="orange">
         <!--/po nacisnieciu na pasek kategorii w URL przekazywana jest nazwa kat która ma być wylistowana/-->
         <td align="left" colspan="2"><a href="index.php?plik=naszeprodukty&wkat=<?php echo $row1[id]; ?>">

          <?php if( $wkat == $id){ // wybór ikony kategorii?>
         <img src="images/ad.gif" border="0" align="bottom">
          <?php }else{ ?>
          <img src="images/ar.gif" border="0" align="bottom">
          <?php } ?>
         <big><span style="color: #111199;">&nbsp;<?php echo $tytul; ?></span></big></a></td>
  </tr>
</table>



<?php if( $wkat == $id){ // jeżeli aktualnie dodawany pasek kategorii ma to samo id co nacisniety pasek ->wyświetl produkty należące do tej kategorii

$wynik3 = mysql_query("SELECT * FROM np WHERE kat = $wkat ORDER BY lp ");  //wylistowanie produktów które należą do powyższej kategorii w dwóch różnych układach kolorów
    while ( $row3 = mysql_fetch_array($wynik3)){
                  extract($row3);
                  $tytul=ucfirst($tytul);
               
                  $p = eeeeee;
                  $n = dddddd;
                  if (strlen($foto) <= 5){ ?>

                      <br>
        <table border="0" cellpadding="10" cellspacing="0" width="100%">
          <tr valign="top"   bgcolor="#<?php echo $n; ?>">

	         <td align="left"><img src="images/orange_dot.gif" border="0"><big><span style="color: #111199;">&nbsp;<?php echo $tytul; ?></span></big>
           <hr style="width: 100%;
                border-top: 1px dashed #bbbbbb;
                border-bottom:1px dashed #ffffff;
                border-left:none;
                border-right:none;" /></td>
           </tr>          <tr valign="top"   bgcolor="#<?php echo $p; ?>">
          
         
          
           
           <td height="130px">
                <p>
                    <?php echo $tresc; ?>
                </p>
	         </td>
          </tr>
        </table>  

          <?php }else{ ?>
                  
        <br>
        <table border="0" cellpadding="10" cellspacing="0" width="100%">
          <tr valign="top"   bgcolor="#<?php echo $n; ?>">
	         <td rowspan="2" width="160px">
	         
           <img src="images/dynamic/<?php echo $foto; ?>" width="160px" border="0">
           
           </td>
	         <td><img src="images/orange_dot.gif" border="0"><big><span style="color: #111199;"> &nbsp;<?php echo $tytul; ?></span></big>
           <hr style="width: 100%; color:#82b4cd;
                border-top: 1px dashed #bbbbbb;
                border-bottom:1px dashed #ffffff;
                border-left:none;
                border-right:none;" /></td>
           </tr>          <tr valign="top"   bgcolor="#<?php echo $p; ?>">
           
           <td height="130px">
           <p><?php echo $tresc; ?>
                </p>
	         </td>
          </tr>
        </table>    
                  
          <?php }?>
                 

<?php
   }
  }
}
?>

</php>
0

Indeksy w tabelach?

0

czy to ma znaczenie przy tych 100 wpisach na krzyż ?
dodam już że to nie wina serwera bo przed godziną przeniosłem wszystko na unl.pl i tam jeszcze gorzej sie to zachowuje :(

więc to na 99% nieoptymalny albo błędny kod :(

tylko co w nim jest nie tak ?

dziekuję

0

Kodu tutaj jest na prawdę mało co, sprawdź te indeksy...

1 użytkowników online, w tym zalogowanych: 0, gości: 1