Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> if wartość X w mysql=1 to include plik.php
adek-
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Chłopaki zrobiłem sobie w php proste sprawdzanie warunku, gdzie jeśli się spełni to użytkownik dostaje monit na ekranie -include popup.php, ale jak to w php bywa, trzeba odświerzyć stronę co załatwiłem wpisem do meta
  1. <meta http-equiv="refresh" content="200">

co nie bardzo mi leży, bo strona się odświeża bardzo często i co prawda tylko przy 20 użytkownikach jakoś nie męczy serwera, ale bardzo przeszkadza ;/
Szukałem rozwiązań w AJAXIE na którym się totalnie nie znam i poznjandywałem tutoriale, które robią to wszystko za pomocą GET,POST itd, a ja mam tylko sprawdzenie wartości MySQL nakierujcie mnie proszę na jakiś wątek jak by mógł wyglądać taki request poniżej w ajaxie?
  1. <?php // #### komunikat dla zalogowanego użytkownika gdy info=1 -zmieniono wartość popup wyskoczy
  2.  
  3. if (isset($_SESSION['login']) && !empty($_SESSION['login'])) {
  4. $wynik=mysql_query("SELECT * FROM $tabela WHERE login='{$_SESSION['login']}' and info=1");
  5. if (mysql_num_rows($wynik) == 1) {
  6. include('popup.php');
  7. } else {?>
  8. <?php }} ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adek-
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Witaj, dziękuję Ci amii za odpowiedź. Niestety jako iż do dzisiaj nie miałem potrzeby interesować się JS, będę miał parę pytań do Ciebie jeśli będziesz miał chwilkę to prosze odpowiedz, bo nie wiem czy dokładnie Cię rozumiem.

Mówiąć jQuery, przypuszczalnie mam też użyć biblioteki js w head jak poniżej, oraz funkcję załaduj wstawić np w coś w ten deseń?
  1. <script src="http://code.jquery.com/jquery-latest.js"></script>
  2. <script>
  3. $(document).ready(function zaladuj () {
  4. setInterval("load", 200);
  5. });
  6. </script>

Nie wiem dokładnie gdzie później miał bym umieścić funkcję load, ale domyślam się, że skrypt.php ma zawierać ten warunek php z pierwszego postu "if (isset($_SE..." służący do odczytania wartości tak?, a "zawartość_popup" ma posiadać całą treść wcześniejszego pliku popup.php?
Jeśli tak to pojawia się pewien problem, bo wcześniej miałem zrobiony popup tak, że gdy warunek if się spełniał, popup został zaincludowany, a on miał zawartość
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <script type="text/javascript">
  6. jQuery(document).ready(function() {
  7. $.fancybox(
  8. '<h2>Dane zmienione!</h2><center><br>Kliknij poniżej aby przejść do strony akceptacji<br><br><a href="akceptuj.php"><b>-= KLIKNIJ TU =-</b></a><br><br><br><object data="webplayer.swf" type="application/x-shockwave-flash" width="32" height="16"><param name="movie" value="webplayer.swf"><param name="menu" value="false"><param name="scale" value="noscale"><param name="bgcolor" value="#C0C0C0"><param name="flashvars" value="src=mp3.mp3&autostart=yes&loop=no&debug=no"></object><!--<br><br>--></center>',
  9. {
  10. 'autoDimensions' : false,
  11. 'width' : 350,
  12. 'height' : 'auto',
  13. 'transitionIn' : 'none',
  14. 'transitionOut' : 'none'
  15. }
  16. );
  17. });
  18. </script>
  19. </head> <body> </body> </html>

Czyli praktycznie sama sekcja head to była, a sprawiała że pojawiało się z onload okienko fancyboxa na środku z auto startującym dzwiękiem i tekstem o kliknięciu aby przejść do strony akceptuj.php, gdzie był formularzyk malutki
  1. if (isset($_POST['wyslane']) && !empty($_POST['wyslane'])) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  2. //$info=$_POST['info'];
  3. $wynik = mysql_query("UPDATE $tabela SET info='0' WHERE login='{$_SESSION['login']}'");
który to po kliknięciu był wykonywany skrypt wrzucający do pola mysql usera wartość int 0, czyli likwidującą monit o zmianie i wyłączający dźwięk powiadomienia.

Brak wiedzy na temat paru języków sprawił, że musiałem kombinować (IMG:style_emoticons/default/wink.gif) więc tak powstał cały ten proces...
warunek sprawdzający czy zalogowany user ma w mysql wartość info=1, jeśli tak to include popup.php, który ma wartość onload fancybox, puszcza dzwięk i wyświetla komunikat na środku ekrany z linkiem do strony gdzie możemy ustawić info=0 czyli wyłączyć notyfikację dźwiękową i wizualną. To wszystko po to aby użytkownik nie śledził zmian na stronie tylko dostał dźwięk i od razu wiedział o co chodzi (IMG:style_emoticons/default/wink.gif)

// edited: łączenie się z bazą przez ajaxa jest możliwe i ma bardzo podobne komendy jak MySQL, szkoda tylko, że to DB2 ;/
http://www.ibm.com/developerworks/data/lib...e/dm-0701vohra/

Ten post edytował adek- 1.11.2011, 12:06:13
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 18:18