Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jeśli zmienna równa 0 wyświetl samoistnie napis...
Forum PHP.pl > Forum > Przedszkole
tinware
Witam.

Dzisiaj napisałem skrypt pobieranie transferu na swojej stronie. Ze zmiennej $twoj_transfer sukcesywnie pobierany jest transfer w danym czasie.
Mam nastepujacy skrypt

  1. <meta http-equiv="refresh" content="1; URL=?">
  2.  
  3. <?php
  4. ... polaczenie z baza, sprowadzenie wartosci zmiennej itp.
  5.  
  6.  
  7. If($twoj_transfer > '0')
  8. {
  9. Odtwarzacz wideo
  10. }
  11. else
  12. {
  13. echo "Nie masz wystarczającego transferu aby oglądać wideo";
  14. }
  15.  
  16. ?>


Taki skrypt odswiezajac strone sprawdza dostepny transfer na koncie, ale niestety co 1 sekunde wylacza odtwarzac.
Moje pytanie brzmi: w jaki sposob zrobić, aby odswierzył strone dopiero gdy zmienna $twoj_transfer bedzie bliska zeru (wartosc: od 0 do 5) ?
gorden
ale 0 traktowane jest jako string. daj to bez apostrofów. a żeby sprawdzać transfer co sekunde użyj ajaxa, a z tym 0-5 to zwykły warunek $zmienna<6
tinware
Tak myślałem, że będzie mi potrzebny axaj. Niestety nie znam tego języka...
Czy pomogłbyś mi napisać taką zależność w ajaxie ?


  1. If($twoj_transfer > '3')
  2. {
  3. Odtwarzacz wideo
  4. }
  5. else
  6. {
  7. echo "Nie masz wystarczającego transferu aby oglądać wideo";
  8. }


Bo w php strona musiałby być non stop odświeżana, a ma zostać odświeżona tylko wtedy kiedy zmienna $twoj_transfer > '3'
by_ikar
Ajax to nie jest język.. Nie umieszczaj liczb w apostrofach/cydzysłowiach jeżeli chcesz wykonywać jakieś operacje arytmetyczne.
gorden
http://api.jquery.com/jQuery.post/
wymagane: jquery.
jako parametr daj id użytkownika, po stronie serwera sprawdzasz zapytaniem sql, czy gdzie to tam trzymasz, id usera w warunku to $_POST['parametr podany w $.post']. w odpowiedzi serwera. w zależności od odpowiedzi serwera kończysz/kontynuujesz zużycie transferu
tinware
Rozumiem działanie, lecz niewiem jak to dokłądnie zastosować.

Mój cały skrypt to:
  1. <?php
  2. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// sprowadzenie potrzebnych rzeczy tj polaczenie do bazy mysql oraz sciagniecie id session z ciasteczka
  3. include('../../mysql.php');
  4. include('../ciasteczko.php');
  5.  
  6. If($twoj_transfer > '2')
  7. {
  8. echo '<div style="position: absolute; top:0px; left:0px;">';
  9. echo '<object width="418" height="412">';
  10. echo '<param name="movie" value="http://pinotv.pl/static/flash/tvplay.swf?channel=29077&e=n"></param>';
  11. echo '<param name="wmode" value="transparent"></param><param name="allowFullScreen" value="true"></param>';
  12. echo '<embed src="http://pinotv.pl/static/flash/tvplay.swf?channel=28518&e=n" type="application/x-shockwave-flash" wmode="transparent" width="418" height="358" allowfullscreen="true"></embed>';
  13. echo '</object>';
  14. echo '</div>';
  15.  
  16. echo '<div style="position: absolute; top:-100px; left:500px;">';
  17. echo '<iframe src="pobieranie_transferu.php" width="400" height="500" frameborder="0" scrolling="no"></iframe>';
  18. echo '</div>';
  19. }
  20. else
  21. {
  22. echo '<div style="position: absolute; top:0px; left:0px;">';
  23. echo '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="154" height="98">';
  24. echo '<param name="movie" value="../template/brak_sygnalu.swf" />';
  25. echo '<param name="quality" value="high" />';
  26. echo '<embed src="../template/brak_sygnalu.swf" quality="high" bgcolor="#000000" width="480" height="270" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">';
  27. echo '</embed>';
  28. echo '</object>';
  29. echo '</div>';
  30.  
  31. echo '<div style="position: absolute; top:0px; left:500px;">';
  32. echo '<object width="0" height="0">';
  33. echo '<param name="movie" value="http://pinotv.pl/static/flash/tvplay.swf?channel=29077&e=n"></param>';
  34. echo '<param name="wmode" value="transparent"></param><param name="allowFullScreen" value="true"></param>';
  35. echo '<embed src="http://pinotv.pl/static/flash/tvplay.swf?channel=28518&e=n" type="application/x-shockwave-flash" wmode="transparent" width="1" height="1" allowfullscreen="true"></embed>';
  36. echo '</object>';
  37. echo '</div>';
  38. }
  39. ?>


Pomożecie mi zastosować ten skrypt w moim skrypcie. Niestety, niestem noga w tym, dlatego zgłośiłem się o pomoc do Was smile.gif
Całość jest na divach, dlatego że w tej postaci zostanie wyświetlone, gotowe w iframe na stronie...
Shili
Na początek opanuj nieco php.
Bez tej podstawy nie ruszysz i w ajaksie, bo Ci będzie źle zwracał wyniki.

  1. <?php
  2. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// sprowadzenie potrzebnych rzeczy tj polaczenie do bazy mysql oraz sciagniecie id session z ciasteczka
  3. include('../../mysql.php');
  4. include('../ciasteczko.php');
  5.  
  6. If($twoj_transfer > 2)
  7. { ?>
  8. <div style="position: absolute; top:0px; left:0px;">
  9. Tu twój kod html
  10. </div>
  11. <?php }
  12. else
  13. { ?>
  14. <div style="position: absolute; top:0px; left:0px;">
  15. Tu twój drugi kod html
  16. </div>
  17. <?php } ?>


Na początek ładniej, prawda?

Jak wcześniej było 2 razy wspomniane przez kolegów:

Liczb nie umieszczaj w cudzysłowie!

A następnie wejdź na podanego linka, popróbuj, nie uda się to wklej co próbowałeś sam zrobić (chyba że już próbowałeś, to zarzuć kodem). Pomożemy. Serio smile.gif

Btw. poczytaj o arkuszach stylów, zamiast definiować style przy elementach. Przyda się w przyszłości smile.gif
tinware
Wkleiłem następujące kody na strone:

  1. <?php
  2. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// sprowadzenie potrzebnych rzeczy tj polaczenie do bazy mysql oraz sciagniecie id session z ciasteczka
  3. include('../../mysql.php');
  4. include('../ciasteczko.php');
  5.  
  6.  
  7. $.ajax({
  8. type: 'POST',
  9. url: url,
  10. data: data,
  11. success: success,
  12. dataType: dataType
  13. });
  14.  
  15.  
  16. $.post('ajax/test.html', function(data) {
  17. $('.result').html(data);
  18. });
  19.  
  20.  
  21.  
  22. If($twoj_transfer > 2)
  23. {
  24. ?>
  25. <div style="position: absolute; top:0px; left:0px;">
  26. <object width="480" height="412">
  27. <param name="movie" value="http://pinotv.pl/static/flash/tvplay.swf?channel=29077&e=n"></param>
  28. <param name="wmode" value="transparent"></param><param name="allowFullScreen" value="true"></param>
  29. <embed src="http://pinotv.pl/static/flash/tvplay.swf?channel=14662&e=n" type="application/x-shockwave-flash" wmode="transparent" width="480" height="412" allowfullscreen="true"></embed>
  30. </object>
  31. </div>
  32.  
  33. <div style="position: absolute; top:-100px; left:500px;">
  34. <iframe src="pobieranie_transferu.php" width="400" height="500" frameborder="0" scrolling="no"></iframe>
  35. </div>
  36. <?php
  37. }
  38. else
  39. {
  40. ?>
  41. <div style="position: absolute; top:0px; left:0px;">
  42. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="154" height="98">
  43. <param name="movie" value="../template/brak_sygnalu.swf" />
  44. <param name="quality" value="high" />
  45. <embed src="../template/brak_sygnalu.swf" quality="high" bgcolor="#000000" width="480" height="270" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
  46. </embed>
  47. </object>
  48. </div>
  49.  
  50. <div style="position: absolute; top:0px; left:500px;">
  51. <object width="0" height="0">
  52. <param name="movie" value="http://pinotv.pl/static/flash/tvplay.swf?channel=29077&e=n"></param>
  53. <param name="wmode" value="transparent"></param><param name="allowFullScreen" value="true"></param>
  54. <embed src="http://pinotv.pl/static/flash/tvplay.swf?channel=28518&e=n" type="application/x-shockwave-flash" wmode="transparent" width="1" height="1" allowfullscreen="true"></embed>
  55. </object>
  56. </div>
  57. <?php
  58. }
  59. ?>




Wyszło:
Kod
Parse error: syntax error, unexpected '.', expecting T_VARIABLE or '$' in C:\Program Files\EasyPHP-5.3.8.1\www\djplate2012\home_page\tv\tv_pino.php on line 9


To linijka: $.ajax({

Dlaczego pojawia się parse? Jakie wartości mam podać jako typ, data, url, succes i datatype ?
Shili
Widzisz,

Ogólnie są to podstawy podstaw, natomiast postaram się Ciebie nakierować.

Masz 4 elementy tworzenia stron (uprościmy)

1) PHP - wiesz c-o to jest, fragmenty pomiędzy <?php a ?>
2) HTML - kod, który wynikowo widać na stronie; nie wypluwaj go za pomocą zmiennej echo, bo będzie Ci bardzo ciężko cokolwiek edytować - patrz mój poprzedni post
3) CSS - style, które aktualnie masz inline
4) Javascript, a dokładniej jQuery

Zajmiemy się chwilowo tym ostatnim:
http://ferrante.pl/frontend/javascript/jquery-to-latwe-1/ - króciutki kurs z podstawami
http://e-tutorials.pl/66/javascript-podstawy/ - zwróć uwagę, w czym jest umieszczony kod javascript (pierwszy przykład na podanej stronie).
Aby kod javascript się wykonał należy umieścić go w HTML w odpowiednich tagach.

To naprawdę nie są trudne rzeczy smile.gif
Jak nauczyłeś się PHP to jQuery (JavaScript) również dasz radę smile.gif

  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2. <script type="text/javascript">
  3. $.post('ajax/test.html', function(data) {
  4. alert(data);
  5. });

Skupmy się tylko na tym nieco zmodyfikowanym kodzie, w sensie na razie umieść tylko to w swoim kodzie HTML
Mam nadzieję, że masz plik ajax/test.html?

@edit
Wiem, o czym zapomniałam, dodana pierwsza linijka kodu.
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.