Witam forumowiczów.

Jest to mój pierwszy post na tym forum smile.gif Byłbym wdzięczny za pomoc i rady.
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ńsmile.gif) i id wszystkich wyświetlonych obecnie w panelu aukcji - jest to jedyne zabezpieczenie przed wysyłaniem po kliknięciu na grafike do aukcji z następnego losowania, które udało mi sie wymyślić.

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

  1. <?php
  2.  
  3. /*funkcja przyjmująca argumenty:
  4. * $opcja - opcja funkcji (string)
  5. * $aukcje_cron - lista aukcji cron -> nr|id|title|price|img|time
  6. * $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
  7. */
  8. require_once ('case4mobile_config.php'); // dane konfiguracyjne
  9.  
  10. function baza_danych($opcja,$aukcja_cron=array(),$aukcje_cache=array(),$nr=1){
  11.  
  12. $user = user;
  13. $password = password;
  14. $base_name= nazwa_bazy;
  15.  
  16. mysql_connect('localhost', $user, $password);
  17. @mysql_select_db($base_name) or die("Nie udało się wybrać bazy danych");
  18.  
  19. /*
  20. * dodawanie/podmienianie danych aukcji wykonywane przez cron
  21. */
  22. if($opcja=='cron_list'){
  23.  
  24. for ($i=0; $i<10;$i++){
  25. $query= "UPDATE ".tabela_cron."
  26. SET id = '".$aukcja_cron[$i][0]."',
  27. title = '".$aukcja_cron[$i][1]."',
  28. price = '".$aukcja_cron[$i][2]."',
  29. img = '".$aukcja_cron[$i][3]."',
  30. time = '".$aukcja_cron[$i][4]."'
  31. WHERE uid = ".$i;
  32.  
  33. mysql_query($query);
  34. }
  35.  
  36.  
  37. }
  38.  
  39. if($opcja=='cron_list_listing'){
  40.  
  41. $query= "SELECT * FROM ".tabela_cron." WHERE uid = '".$nr."'";
  42.  
  43. $row = mysql_fetch_row(mysql_query($query));
  44. $wynik=mysql_query($query);
  45. $row = mysql_fetch_row($wynik);
  46. return $row;
  47.  
  48. }
  49. if($opcja=='cache_list'){
  50.  
  51. $query= "SELECT count(*) FROM ".tabela_cache." WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
  52. $query=mysql_query($query);
  53. $result=mysql_result($query,0,0);
  54. if($result>0){
  55. $query= "UPDATE ".tabela_cache."
  56. SET aukcja_1 = '".$aukcje_cache[0]."',
  57. aukcja_2 = '".$aukcje_cache[1]."',
  58. aukcja_3 = '".$aukcje_cache[2]."',
  59. aukcja_4 = '".$aukcje_cache[3]."',
  60. aukcja_5 = '".$aukcje_cache[4]."',
  61. aukcja_6 = '".$aukcje_cache[5]."',
  62. aukcja_7 = '".$aukcje_cache[6]."',
  63. aukcja_8 = '".$aukcje_cache[7]."',
  64. aukcja_9 = '".$aukcje_cache[8]."',
  65. aukcja_10 = '".$aukcje_cache[9]."'
  66. WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
  67.  
  68. mysql_query($query);
  69. }else{
  70. $query= "INSERT INTO ".tabela_cache."
  71. SET ip = '".$_SERVER['REMOTE_ADDR']."',
  72. aukcja_1 = '".$aukcje_cache[0]."',
  73. aukcja_2 = '".$aukcje_cache[1]."',
  74. aukcja_3 = '".$aukcje_cache[2]."',
  75. aukcja_4 = '".$aukcje_cache[3]."',
  76. aukcja_5 = '".$aukcje_cache[4]."',
  77. aukcja_6 = '".$aukcje_cache[5]."',
  78. aukcja_7 = '".$aukcje_cache[6]."',
  79. aukcja_8 = '".$aukcje_cache[7]."',
  80. aukcja_9 = '".$aukcje_cache[8]."',
  81. aukcja_10 = '".$aukcje_cache[9]."'";
  82.  
  83. echo $query;
  84.  
  85. mysql_query($query);
  86.  
  87.  
  88. }
  89.  
  90. }
  91. if($opcja=='cache_list_listing'){
  92.  
  93. $query= "SELECT * FROM ".tabela_cache." WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
  94. $wynik=mysql_query($query);
  95. $row = mysql_fetch_row($wynik);
  96. return $row;
  97.  
  98.  
  99. }
  100.  
  101. }
  102. ?>


skrypt do CRON

  1. <?
  2.  
  3.  
  4. require_once('lib/nusoap.php');
  5. require_once('mysql_func.php');
  6. define('COUNTRY_CODE', 1);
  7. define('WEBAPI_USER_LOGIN', '********');
  8. define('WEBAPI_USER_ENCODED_PASSWORD', base64_encode(hash('sha256', '*********', true)));
  9. define('WEBAPI_KEY', '*********');
  10. define('USER_ID', '********');
  11. define('LICZBA_AUKCJI', '10');
  12.  
  13.  
  14. $product_nr=$_GET["nr"];
  15. $soapClient = new nusoap_client('https://webapi.allegro.pl/service.php?wsdl', true);
  16. $result = $soapClient->call(
  17. 'doQueryAllSysStatus',
  18. 'countryId' => COUNTRY_CODE,
  19. 'webapiKey' => WEBAPI_KEY
  20. )
  21. )
  22. );
  23.  
  24. $versionKeys = array();
  25. foreach ($result['sysCountryStatus']['item'] as $row) {
  26. $versionKeys[$row['countryId']] = $row;
  27. }
  28.  
  29. $session = $soapClient->call(
  30. 'doLoginEnc',
  31. 'userLogin' => WEBAPI_USER_LOGIN,
  32. 'userHashPassword' => WEBAPI_USER_ENCODED_PASSWORD,
  33. 'countryCode' => COUNTRY_CODE,
  34. 'webapiKey' => WEBAPI_KEY,
  35. 'localVersion' => $versionKeys[COUNTRY_CODE]['verKey']
  36. )
  37. )
  38. );
  39. $liczba=0;
  40.  
  41. $itemList = $soapClient->call(
  42. 'doGetUserItems',
  43. 'userId' =>39734731,
  44. 'webapiKey' => WEBAPI_KEY,
  45. 'countryId' => 1,
  46. 'offset' => 0,
  47. 'limit' => 1
  48. )
  49. )
  50. );
  51.  
  52. $liczba_aukcji=$itemList["userItemCount"];
  53.  
  54. if($itemList["userItemCount"]>10){
  55. $liczba=10;
  56. }else{
  57. $liczba=$itemList["userItemCount"];
  58.  
  59. }
  60.  
  61. $losy=array();
  62. while (count($losy)<$liczba){
  63. $los=rand(0,$liczba_aukcji-1);
  64. if(!in_array($los,$losy)){
  65. $losy[]=$los;
  66. }
  67. }
  68.  
  69. $lista_aukcji=array();
  70.  
  71. for($i=0;$i<count($losy);$i++)
  72. {
  73.  
  74.  
  75. $itemList = $soapClient->call(
  76. 'doGetUserItems',
  77. 'userId' =>39734731,
  78. 'webapiKey' => WEBAPI_KEY,
  79. 'countryId' => 1,
  80. 'offset' => $losy[$i],
  81. 'limit' => 1
  82. )
  83. )
  84. );
  85. $lista_aukcji[]=array(
  86. $itemList["userItemList"]["item"]["itId"],
  87. $itemList["userItemList"]["item"]["itName"],
  88. $itemList["userItemList"]["item"]["itBuyNowPrice"],
  89. $itemList["userItemList"]["item"]["itThumbUrl"],
  90. $itemList["userItemList"]["item"]["itTimeLeft"]);
  91. }
  92.  
  93. baza_danych('cron_list',$lista_aukcji);
  94.  
  95. ?>


Wyświetlanie obrazków i linki


  1. <?
  2.  
  3. require_once('mysql_func.php');
  4.  
  5.  
  6.  
  7. if ($_GET['op'] == 0) {
  8. $produkt= baza_danych('cron_list_listing',null,null,$_GET['nr']);
  9. $item_tumblr = $produkt[4];
  10. $ItemMini = str_replace("128x96", "400x300", $item_tumblr);
  11.  
  12. header("Content-type: image/jpeg");
  13.  
  14. if ($ItemMini != "") {
  15.  
  16.  
  17. $img = imagecreatefromjpeg($ItemMini);
  18.  
  19.  
  20. $width = 200;
  21. $height = 250;
  22. $mini = imagecreatetruecolor($width, $height);
  23.  
  24. imagejpeg($mini,NULL,100);
  25. imagedestroy($mini);
  26. }
  27.  
  28. if($_GET['nr']==1){
  29. for($i=0;$i<10;$i++){
  30. $prod=baza_danych('cron_list_listing',null,null,$i);
  31. $info[]=$prod[1];
  32. }
  33. baza_danych('cache_list',null,$info);
  34. }
  35. }
  36. if ($_GET['op'] == '1') {
  37. $file=baza_danych('cache_list_listing',null,null,$_GET['nr']);
  38.  
  39. $adres = 'http://allegro.pl/show_item.php?item='.$file[$_GET['nr']+1];
  40. echo $adres;
  41. header("Location: " . $adres);
  42. };
  43.  
  44.  
  45.  


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 smile.gif