Jest to mój pierwszy post na tym forum

Generalnie napisałem panel Allegro z bazą mysql.
Grafiki są generowane przez php (nie są fizycznie zapisywane na serwerze).
Zapytanie CRON wywołuje skrypt odpowiadający za wylosowanie określonej liczby aukcji ze wszystkich aukcji użytkownika i aktualizuje dane w tabeli "tabela_cron" mySQL.
Podczas ładowania się miniatur w opisie aukcji do kolejnej tabeli "tabela_cache" zapisywana jest kolejna lista zawierająca adres IP (prawdopodobnie jedno z najgłupszych rozwiązań

Moja prośba o pomoc dotyczy tego że w zamyślę po kliknięciu na dany element panelu i po przniesieniu do odpowiedniej aukcji panel powinien sie zaktualizować (cron jet co minutę), tak się jednak nie dzieje. Kolejna moja prośba dotyczy tego ukierunkować mnie jak rozwiązać jeszcze jedne problem. Linki otwierają nowe karty w przeglądarce i w tym momencie jest aktualizowana tabela_cache . I jeżeli użytkownik wróci do poprzednije karty znowu panel posyła go w maliny
funkcje związane z mysql
<?php /*funkcja przyjmująca argumenty: * $opcja - opcja funkcji (string) * $aukcje_cron - lista aukcji cron -> nr|id|title|price|img|time * $aukcje_cache - lista aukcji cache -> ip|aukcja_1|aukcja_2|aukcja_3|aukcja_4|aukcja_5|aukcja_6|aukcja_7|aukcja_8|aukcj
a_9|aukcja_10 */ require_once ('case4mobile_config.php'); // dane konfiguracyjne $user = user; $password = password; $base_name= nazwa_bazy; /* * dodawanie/podmienianie danych aukcji wykonywane przez cron */ if($opcja=='cron_list'){ for ($i=0; $i<10;$i++){ $query= "UPDATE ".tabela_cron." SET id = '".$aukcja_cron[$i][0]."', title = '".$aukcja_cron[$i][1]."', price = '".$aukcja_cron[$i][2]."', img = '".$aukcja_cron[$i][3]."', time = '".$aukcja_cron[$i][4]."' WHERE uid = ".$i; } } if($opcja=='cron_list_listing'){ $query= "SELECT * FROM ".tabela_cron." WHERE uid = '".$nr."'"; return $row; } if($opcja=='cache_list'){ $query= "SELECT count(*) FROM ".tabela_cache." WHERE ip = '".$_SERVER['REMOTE_ADDR']."'"; if($result>0){ $query= "UPDATE ".tabela_cache." SET aukcja_1 = '".$aukcje_cache[0]."', aukcja_2 = '".$aukcje_cache[1]."', aukcja_3 = '".$aukcje_cache[2]."', aukcja_4 = '".$aukcje_cache[3]."', aukcja_5 = '".$aukcje_cache[4]."', aukcja_6 = '".$aukcje_cache[5]."', aukcja_7 = '".$aukcje_cache[6]."', aukcja_8 = '".$aukcje_cache[7]."', aukcja_9 = '".$aukcje_cache[8]."', aukcja_10 = '".$aukcje_cache[9]."' WHERE ip = '".$_SERVER['REMOTE_ADDR']."'"; }else{ $query= "INSERT INTO ".tabela_cache." SET ip = '".$_SERVER['REMOTE_ADDR']."', aukcja_1 = '".$aukcje_cache[0]."', aukcja_2 = '".$aukcje_cache[1]."', aukcja_3 = '".$aukcje_cache[2]."', aukcja_4 = '".$aukcje_cache[3]."', aukcja_5 = '".$aukcje_cache[4]."', aukcja_6 = '".$aukcje_cache[5]."', aukcja_7 = '".$aukcje_cache[6]."', aukcja_8 = '".$aukcje_cache[7]."', aukcja_9 = '".$aukcje_cache[8]."', aukcja_10 = '".$aukcje_cache[9]."'"; } } if($opcja=='cache_list_listing'){ $query= "SELECT * FROM ".tabela_cache." WHERE ip = '".$_SERVER['REMOTE_ADDR']."'"; return $row; } } ?>
skrypt do CRON
<? require_once('lib/nusoap.php'); require_once('mysql_func.php'); $product_nr=$_GET["nr"]; $soapClient = new nusoap_client('https://webapi.allegro.pl/service.php?wsdl', true); $result = $soapClient->call( 'doQueryAllSysStatus', 'countryId' => COUNTRY_CODE, 'webapiKey' => WEBAPI_KEY ) ) ); foreach ($result['sysCountryStatus']['item'] as $row) { $versionKeys[$row['countryId']] = $row; } $session = $soapClient->call( 'doLoginEnc', 'userLogin' => WEBAPI_USER_LOGIN, 'userHashPassword' => WEBAPI_USER_ENCODED_PASSWORD, 'countryCode' => COUNTRY_CODE, 'webapiKey' => WEBAPI_KEY, 'localVersion' => $versionKeys[COUNTRY_CODE]['verKey'] ) ) ); $liczba=0; $itemList = $soapClient->call( 'doGetUserItems', 'userId' =>39734731, 'webapiKey' => WEBAPI_KEY, 'countryId' => 1, 'offset' => 0, 'limit' => 1 ) ) ); $liczba_aukcji=$itemList["userItemCount"]; if($itemList["userItemCount"]>10){ $liczba=10; }else{ $liczba=$itemList["userItemCount"]; } $losy[]=$los; } } for($i=0;$i<count($losy);$i++) { $itemList = $soapClient->call( 'doGetUserItems', 'userId' =>39734731, 'webapiKey' => WEBAPI_KEY, 'countryId' => 1, 'offset' => $losy[$i], 'limit' => 1 ) ) ); $itemList["userItemList"]["item"]["itId"], $itemList["userItemList"]["item"]["itName"], $itemList["userItemList"]["item"]["itBuyNowPrice"], $itemList["userItemList"]["item"]["itThumbUrl"], $itemList["userItemList"]["item"]["itTimeLeft"]); } baza_danych('cron_list',$lista_aukcji); ?>
Wyświetlanie obrazków i linki
<? require_once('mysql_func.php'); if ($_GET['op'] == 0) { $produkt= baza_danych('cron_list_listing',null,null,$_GET['nr']); $item_tumblr = $produkt[4]; if ($ItemMini != "") { $img = imagecreatefromjpeg($ItemMini); $width = 200; $height = 250; $mini = imagecreatetruecolor($width, $height); imagejpeg($mini,NULL,100); imagedestroy($mini); } if($_GET['nr']==1){ for($i=0;$i<10;$i++){ $prod=baza_danych('cron_list_listing',null,null,$i); $info[]=$prod[1]; } baza_danych('cache_list',null,$info); } } if ($_GET['op'] == '1') { $file=baza_danych('cache_list_listing',null,null,$_GET['nr']); $adres = 'http://allegro.pl/show_item.php?item='.$file[$_GET['nr']+1]; };
przekierowanie nastepuje po podaniu w zmiennych get op=1, a obrazek op=0, do tego jeszcze wymagana jest zmienna 'nr' z nr aukcji od 0 do 10
Dziękuję za pomoc z góry
