Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][AJAX]Okienko popup i zmienna
redelek
post 24.06.2008, 09:57:53
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Witam,

Znalazłem na necie przykład okienka popup w ajax. Niestety nie za bardzo znam ten język.
Czy może ktoś mi pomóc jak do niego przekazać parametr z php ?

Tak wygląda kod

  1. <script type='text/javascript'>
  2. function myPopupRelocate() {
  3. var scrolledX, scrolledY;
  4. if( self.pageYOffset ) {
  5. scrolledX = self.pageXOffset;
  6. scrolledY = self.pageYOffset;
  7. } else if( document.documentElement && document.documentElement.scrollTop ) {
  8. scrolledX = document.documentElement.scrollLeft;
  9. scrolledY = document.documentElement.scrollTop;
  10. } else if( document.body ) {
  11. scrolledX = document.body.scrollLeft;
  12. scrolledY = document.body.scrollTop;
  13. }
  14.  
  15. var centerX, centerY;
  16. if( self.innerHeight ) {
  17. centerX = self.innerWidth;
  18. centerY = self.innerHeight;
  19. } else if( document.documentElement && document.documentElement.clientHeight ) {
  20. centerX = document.documentElement.clientWidth;
  21. centerY = document.documentElement.clientHeight;
  22. } else if( document.body ) {
  23. centerX = document.body.clientWidth;
  24. centerY = document.body.clientHeight;
  25. }
  26.  
  27. var leftOffset = scrolledX + (centerX - 250) / 2;
  28. var topOffset = scrolledY + (centerY - 200) / 2;
  29.  
  30. document.getElementById("mypopup").style.top = topOffset + "px";
  31. document.getElementById("mypopup").style.left = leftOffset + "px";
  32. }
  33.  
  34. function fireMyPopup() {
  35. myPopupRelocate();
  36. document.getElementById("mypopup").style.display = "block";
  37. document.body.onscroll = myPopupRelocate;
  38. window.onscroll = myPopupRelocate;
  39. }
  40. </script>
  41. <div id='mypopup' name='mypopup' style='position: absolute; width: 250px; height: 200px; display: none; background: #ddd; border: 1px solid #000;'>
  42.  
  43. <p>My content that will be displayed in the popup.</p>
  44. <p>If you scroll the page, I'll keep my position in the center of the window.</p>
  45.  
  46. <input type='submit' value=' Close me! ' onClick='document.getElementById("mypopup").style.display="none"'>
  47. </div>
  48.  
  49. <input type='submit' value=' Fire ! ' onClick='fireMyPopup()'>


Będę szalenie zobowiązany

pozdrawiam
Redelek

Ten post edytował redelek 24.06.2008, 09:58:31


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
f1xer
post 24.06.2008, 11:11:07
Post #2





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

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


To napewno jest ajax? mi to wygląda na zwykły JavaScript, jaki parametr chcesz przekazać?
  1. <p>My content that will be displayed in the popup.</p>
  2. <p>If you scroll the page, I'll keep my position in the center of the window.</p>


zamień na np:

  1. <?
  2. echo "<p>Tresc okienka popup</p>";
  3. ?>


pod warunkiem że chcesz zmienić treść okienka popup, oczywiście zamiast echo wstawiasz dowolny kod który w końcu da jakiś wynik w HTML (obsługa bazy itp.)


--------------------
Pomogłem? wyraź to i kliknij "Pomógł"
Go to the top of the page
+Quote Post
redelek
post 24.06.2008, 11:19:17
Post #3





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Cytat(f1xer @ 24.06.2008, 10:11:07 ) *
pod warunkiem że chcesz zmienić treść okienka popup, oczywiście zamiast echo wstawiasz dowolny kod który w końcu da jakiś wynik w HTML (obsługa bazy itp.)


Tak okienko ma dostać ID które jest w bazie i wyświetlić dane dotyczące tylko tego rekordu.
zrobiłem tak

  1. <?php
  2. $rek= mysql_num_rows($wynik);
  3. if( $rek == 0)
  4. {
  5. echo '<div class="brak_newsa">
  6. Niestety nie ma nic w bazie. Proszę coś dodać</div>';
  7. } 
  8. else
  9. {
  10.  
  11. while(list($id_news, $autor, $temat, $opis, $data) = mysql_fetch_array($wynik))
  12. {
  13.  
  14.  $cnt++;
  15. echo '<div class="tytul_newsa"><b>'.$autor.'</b> | <I>'.$data.'</I> | '.$temat.'</div>
  16.  
  17. <div class="tresc_newsa">'.$opis;
  18.  
  19.  // echo " <a class=\"wiecej\" onclick=\"javascript:window.open('calosc_art.php?co=$id_news', 'edit', 'toolbar=no, menubar=no, location=no, personalbar=no, status=no, resizable=false,
     scrollbars=yes, copyhistory=no, width=600, height=300, top=center, left=center');\"> ... czytaj więcej... </a></div>"; 
  20. echo '<div id='mypopup' name='mypopup' style='position: absolute; width: 250px; height: 200px; display: none; background: #ddd
    ; border: 1px solid #000;'>'
    .$id_news.'
  21.  
  22. <input type='submit' value=' Close me! ' onClick='document.getElementById("mypopup").style.display="none"'>
  23. </div>
  24.  
  25. <input type='submit' value=' Fire ! ' onClick='fireMyPopup()'>';
  26. }
  27.  
  28. };
  29. ?>


Ale w każdym okienku popup mam id 5 a powinno się ono zmieniać 3 lub 1. Tu mam problem

Redelek


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
f1xer
post 24.06.2008, 12:06:41
Post #4





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

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


Sorry ale chyba czegoś nie rozumiem po pierwsze to wywal to śmieszne
  1. <?php
  2. echo '<div id='mypopup' name='mypopup' style='position: absolute; width: 250px; height: 200px; display: none; background: #ddd
    ; border: 1px solid #000;'>'
    .$id_news.'
  3.  
  4. <input type='submit' value=' Close me! ' onClick='document.getElementById("mypopup").style.display="none"'>
  5. </div>
  6.  
  7. <input type='submit' value=' Fire ! ' onClick='fireMyPopup()'>';
  8. ?>

i zamień to na mieszanine php i html po drugie jak to ma się niby zmieniać?? jakie jest zapytanie do bazy danych??
ja bym użył czegoś takiego:

  1. SELECT * FROM tabela ORDER BY rand();

to zwróci ci elementy tablicy tabela w losowej kolejności dalej to już tylko wybrać pierwszy element i zapakować go do tego popupa
no ale powiem ci szczerze że nie rozumiem twojego zamiaru do czego ma niby ten kod który przedstawiłeś służyć


--------------------
Pomogłem? wyraź to i kliknij "Pomógł"
Go to the top of the page
+Quote Post
redelek
post 24.06.2008, 12:25:57
Post #5





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Cytat(f1xer @ 24.06.2008, 11:06:41 ) *
no ale powiem ci szczerze że nie rozumiem twojego zamiaru do czego ma niby ten kod który przedstawiłeś służyć


Oki już sobie darowałem. Chodziło mi o takie ładne okienko popup. Że treść strony widać w tle , a ono jest na froncie.
Okienko miało wyświetlać dane z bazy. Niestety nie znam js, ani ajax. Darowałem już sobie i zrobiłem
zwykłe przekierowanie za pomocą <a href=""> i działa tak jak chciałem.


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
esiek
post 14.09.2009, 12:30:00
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 6.11.2008
Skąd: Warszawa

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


ja skróciłem troche scrypt do

  1. function fireMyPopup(divek) {document.getElementById(divek).style.display = "block";}

i wywołuje okienko tak:

  1. <div id='mypopup' name='mypopup' class=mypopup><?include"scripts/na_treningu.php";?></div>
  2. <input type='submit' class=text value='Szczegóły' onClick='fireMyPopup("mypopup")'>



styl tego okienka to:


  1. .mypopup{
  2. position:absolute;
  3. left:280px;
  4. top:150px;
  5. x-index:10px;
  6. background-color: #515556;
  7. border: 1px dashed #ffffff;
  8. padding: 12px;
  9. display:none;
  10. }



na chwile obecna mi wystarcza winksmiley.jpg szukam scryptu na modalne okienko czyli takie ktore zablokuje pozostała część strony smile.gif


--------------------
allebhp.pl
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:28