Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX]Okienko popup i zmienna
Forum PHP.pl > Forum > Przedszkole
redelek
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
f1xer
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.)
redelek
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
f1xer
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ć
redelek
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.
esiek
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
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.