Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]oferty
Forum PHP.pl > Forum > Przedszkole
ronaldo
witam
jak napisać skrypt ofert taki jak na epuls.pl / oneliner..
Żeby się zmieniał text co 4sekundy a napis pojawiał się tylko przez 5 minut?
I rekordy się zmieniały tylko te które mogą?
Lion_87
Możesz coś takiego użyc, lecz to nie do końca to co chceszjava
ronaldo
a to:
  1. <?php
  2. $now = time(); //aktualny czas
  3. $then = $now + 15 * 60;
  4.  
  5. $sql = sprintf('SELECT * FROM ogloszenia WHERE dataDodnia >= %d AND dataWygasnieca <= %d LIMIT 0, 40;', $now, $then);
  6.  
  7. //pobieramy 40, poniewaz bedzimy co 5 sek ustawiac kolejne (5 * 40 = 200 = 3min 20sek)
  8. //i tak nikt nie zauwazy, ze po tych 3:20 leca te same od poczatku
  9. $result = mysql_query($sql) or die(mysql_error());
  10.  
  11. //dane wyswietlimy do JS
  12. $js = '<script type="text/javascript"> i = 0; ogloszenia = [%s];';
  13. $rekordyJS = array();
  14. while($row = mysql_fetch_array($result)){
  15.  
  16. //za kazdym razem bedziemy tworzyc:
  17. //{uzytkownik: "XXX", data: "YYY", tresc: "ZZZ"}
  18. $rekordyJS[] = sprintf("\n\t\t{uzytkownik: \"%s\", data: \"%s\", tresc: \"%s\"}", $row['iduzytkownika'], $row['dataDodania'], $row['tresc']);
  19. //do danych z $row dodaj escape-owanie znaków
  20. }
  21. $rekordyJS = implode(', ', $rekordyJS);
  22. $js = sprintf($js, $rekordyJS);
  23.  
  24. $js .= '
  25. function abcdefZrobCos(){
  26.     var o = ogloszenia[i];
  27.     document.getElementById("oTutaj").innerHTML = o.uzytkownik + " (" + o.data + "): " + o.tresc;
  28.     if(++i == ogloszenia.length){
  29.        i = 0;
  30.     }
  31.  }
  32.  
  33.  setInterval(abcdefZrobCos, 200)
  34. </script>';
  35. echo $js;
  36. ?>

baza: http://img219.imageshack.us/my.php?image=beztytuuax1.png

Tylko że coś tu źle jest..:S ale co?
Lion_87
ale co błąd jakiś wyświetla?....Nic nie wyświetla??.....autobus nie przyjeżdza......
ronaldo
No nic nie wyświetla żadnego błędu ani nic, po prostu biała strona, pustka.. Nawet reporting error nic niedaje..;/
Lion_87
znalazlem inny przykład

  1. <script type="text/javascript">
  2. /*<![CDATA[*/
  3. function startclock(){
  4. var thetime=new Date();
  5. var nsecn=thetime.getSeconds();
  6.  
  7. var temp=nsecn/1;
  8.  
  9. switch (temp) {
  10. case 1: msg='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz';
  11. break;
  12. case 2: msg='aaaaaaaaaaaaaaaaaaaaa';
  13. break;
  14. case 3: msg='bbbbbbbbbbbbbbbbbbb';
  15. break;
  16. case 4: msg='cccccccccccccccccccccccccccc';
  17. break;
  18. case 5: msg='ggggggggggggggggg';
  19. break;
  20. case 6: msg='cdddddfsdfasdfasdfsadfcccccccc';
  21. break;
  22. default: msg='jjjjjjjj';
  23. }
  24.  
  25. document.getElementById("chgText").innerHTML=msg;
  26.  
  27. setTimeout('startclock()',10)
  28. }
  29. /*]]>*/
  30.  
  31.  
  32. <body onload="startclock();">
  33. <div id="chgText"></div>
  34. </body>


ahhhhhhhh to Twój jest ten zamknięty temat na dole (kenexo)...
NIEŁADNIE....
ronaldo
No bo meczę się z tym od tygodnia i szukam pomocy u ludzi ale nikt nie wie jak pomóc.;/

A co do tego co dałeś to też miałem podobny przykład i go wkleiłem do skryptu już ale nie wyświetla nic z bazy.;/
Lion_87
Widocznie coś źle robisz... bo skrypt działa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.