Mam problem z pobieraniem obrazków a właściwie ich wyświetlaniem na stronie sklepu. Obrazki pobierane są losowo i wyświetlane w prawej kolumnie sklepu. Często zdarza się że któryś z obrazków nie zostaje do końca wyświetlony (wyświetla się do połowy, czy 2/3, różnie) i przeglądarka mieli przez kilkanaście sekund aż w końcu go wyświetli. Zdarza się to różnie na różnych obrazkach. Nie zauważyłem żadnej sensownej logiki. Może częściej się przycinają jak jest więcej osób na serwerze ale to też nie koniecznie. Można powiedzieć że na 20 przejść na różne strony sklepu (klikaniu w odnośniki do kategorii w menu) 3 razy będzie problem z wyświetleniem obrazków.
Już nie mam pomysłów co może być nie tak. Proszę o pomoc.
strona sklepu to www.ebmia.pl - chodzi o obrazki na samej górze prawej kolumny "Losowe zdjęcia użytkowników forum cnc.info.pl"
Obrazki pobierane są z albumu z forum PHPBB by przemo. Są to miniaturki utworzone przez skrypt forum. Obrazki znajdują się na tym samym serwerze.
Poniżej kod odpowiedzialny za pobieranie obrazków - fragment pliku 'get_topics.php'
$sql = "SELECT pic_id, pic_thumbnail, pic_filename, pic_title, pic_desc, pic_cat_id FROM c0forum." . ALBUM_TABLE . " ORDER BY rand() LIMIT 6"; echo '<div><div class="tytul" style="margin-top:40px;float:left;width:258px;background:url(\'templates/ebmia/grafika/tlo_input.png\') repeat-x;font-weight:bold;color:rgb(255,255,255);padding:5px 0;text-align:center;border:1px solid rgb(122,178,231);border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;">Losowe zdjęcia użytkowników forum cnc.info.pl</div> <div class="tresc" style="float:left;border:1px solid rgb(122,178,231);border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;margin-bottom:15px;padding:0;text-align:center;overflow:hidden;">'; echo '<a target="_blank" href="http://www.cnc.info.pl/album_page.php?pic_id='.$row['pic_id'].'"><img src="http://www.cnc.info.pl/album_mod/upload/cache/'.stripslashes($row['pic_filename']).'" style="display:inline-block;border-radius:5px;border:2px solid rgb(150,150,150);margin:5px;max-height:80px;max-width:260px;"/></a>'; } }
Fragment odpowiedzialny za wyświetlanie fotek na pasku wygląda tak:
<div id="boczny_pas" <?php if($wscreen >= 1250) {echo 'style="display: block; margin-left: '.(860 + ($wscreen - 990) / 2).'px;"';} ?>> <?php function drzewko_od_tylu($id, $nC) { if($id > 0) { $nC[] = $id; $query = tep_db_query("SELECT parent_id FROM categories WHERE categories_id='".$id."' LIMIT 1"); $row = tep_db_fetch_array($query); $nC = drzewko_od_tylu($row['parent_id'], $nC); } return $nC; } include('templates/get_topics.php'); $query = tep_db_query("SELECT * FROM categories_related WHERE categories_id_1='".(int)$current_category_id."' OR categories_id_2='".(int)$current_category_id."'"); if(tep_db_num_rows($query)) { echo '<div class="tytul" style="float: left; width: 258px; background: url(\'templates/ebmia/grafika/tlo_input.png\') repeat-x; font-weight: bold; color: rgb(255,255,255); padding: 5px 0; text-align: center; border: 1px solid rgb(122,178,231); border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px 5px 0 0;">Zobacz także</div> <div class="tresc" style="float: left; border:1px solid rgb(122,178,231); border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -webkit-border-radius: 0 0 5px 5px; margin-bottom: 15px; padding: 0; text-align: left;"><ul>'; $i=0; while($row = tep_db_fetch_array($query)) { if($row['categories_id_1'] == $current_category_id) $query2 = tep_db_query("SELECT c.categories_id, c.categories_image, cd.categories_name FROM categories c, categories_description cd WHERE c.categories_id='".(int)$row['categories_id_2']."' AND c.categories_id <> '".(int)$current_category_id."' AND cd.categories_id=c.categories_id AND cd.language_id='".$languages_id."'"); else $query2 = tep_db_query("SELECT c.categories_id, c.categories_image, cd.categories_name FROM categories c, categories_description cd WHERE c.categories_id='".(int)$row['categories_id_1']."' AND c.categories_id <> '".(int)$current_category_id."' AND cd.categories_id=c.categories_id AND cd.language_id='".$languages_id."'"); while($row2 = tep_db_fetch_array($query2)) { $link = drzewko_od_tylu($row2['categories_id'], $nC); $kolor = ''; if($i % 2 == 0) $kolor='background-color:rgb(230,230,230);'; echo '<li style="width:248px;'.$kolor.'padding:5px;clear:both;float:left;"><a href="'.tep_href_link('index.php', tep_get_all_get_params(array('filter_id','action','wyszukiwanie','action','cPath','products_id','page','x','y','action','search_in_description','inc_subcat','keywords','categories_id')).'cPath='.$link).'" style="color:rgb(0,0,0);font-size:11px;font-weight:bold;"> <img src="images/'.$row2['categories_image'].'" alt=" '.$row2['categories_name'].'" style="width:50px;border-radius:5px;border:2px solid rgb(150,150,150);margin:5px;float:left;"/><br/>'.$row2['categories_name'].' </a></li>'; $i++; } } echo '</ul> </div> </div>'; } }
Jestem przekonany że w tym kodzie nie ma co szukać błędów.
Proszę o informacje co jeszcze może być przyczyną przycięć przy pobieraniu obrazków? Może ustawienia serwera na to wpływają?