Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][js] Problem z pobraniem ID i przekazaniem
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,

Już prawie doszedłem do rozwiązanie mojego problemu , ale znowu utknąłem.
Już skrypt JS przekazuje mi zmienną i jest super tylko , że przekazuje mi ostatnie ID z tabeli a nie wszystkie.

Pętla wygląda tak
  1. <?php
  2. while(list($id, $pseudonim, $link, $kategoria, $skr_opis, $status_linka, $dt_dodania) = mysql_fetch_array($wynik))
  3. {
  4.  
  5.  $cnt++;
  6. echo '<tr>
  7. <td align="center" >'.$cnt.'</td>
  8. <td>'.$kategoria.'</td>
  9. <td align="center">'.$pseudonim.'</td> 
  10. <td align="center"><a href="'.$link.'">'.$skr_opis.'</a></td>
  11. <td align="center">';
  12. if ($status_linka == 'OK'){
  13. echo '<img src="image/ok.png" align="center" border="0" alt="OK" /> ';
  14.  } 
  15.  else {
  16. echo '<img src="image/nie.png" align="center" border="0" alt="NIE" />';
  17. } 
  18. echo '</td>
  19. <script type="text/javascript">
  20. function openmypage(){ 
  21.  ajaxwin=dhtmlwindow.open("ajaxbox", "ajax", "szczeguly.php?id_s='.$id.'",
  22. "Szczegóły", "width=350px,height=300px,left=300px,top=100px,resize=0,scrolling=1")
  23. ajaxwin.onclose=function(){return window.confirm("Czy na pewno zapykamy ?")}
  24. }
  25. </script>
  26.  
  27. <td align="center"><a href="" onClick="openmypage(); return false"><img src="image/opis.png" align="center" border="0" /></a></td> 
  28. </tr> ';
  29. }
  30.  
  31. }
  32. ?>


Rysuje piękną tabelkę ale we wszystkich wierszach mam ID=12.

Co jest jeszcze nie tak. Skryptu JS nie mogę dać na początku bo wtedy nie ma połączenia z bazą i nie ma w ogóle wartości ID.

Pomóżcie

Redelek
nevt
id dodaje ci dobrze. problem polega na tym, że w pętli 12 razy definiujesz tą samą funkcję js z różnymi id w środku ... siłą rzeczy przywywołaniu zostanie użyta ostatnia definicja (ta z id=12), przerób ten kod np. tak:
  1. <?php
  2. echo '<script type="text/javascript">
  3. function openmypage(id){ 
  4. ajaxwin=dhtmlwindow.open("ajaxbox", "ajax", "szczeguly.php?id_s="+id,
  5.  "Szczegóły", "width=350px, height=300px, left=300px, top=100px, resize=0, scrolling=1");
  6. ajaxwin.onclose=function() {return window.confirm("Czy na pewno zapykamy ?")}
  7. }
  8.  </script>';
  9.  while(list($id, $pseudonim, $link, $kategoria, $skr_opis, $status_linka, $dt_dodania) = mysql_fetch_array($wynik))
  10. {
  11. $cnt++;
  12. echo '<tr>
  13. <td align="center" >'.$cnt.'</td>
  14. <td>'.$kategoria.'</td>
  15. <td align="center">'.$pseudonim.'</td> 
  16. <td align="center"><a href="'.$link.'">'.$skr_opis.'</a></td>
  17. <td align="center">';
  18. if($status_linka == 'OK')
  19. echo '<img src="image/ok.png" align="center" border="0" alt="OK" /> ';
  20. else 
  21. echo '<img src="image/nie.png" align="center" border="0" alt="NIE" />';
  22. echo '</td>
  23.  <td align="center"><a href="" onclick="openmypage('. $id .'); return false"><img src="image/opis.png" align="center" border="0" /></a></td> 
  24. </tr> ';
  25. }
  26. ?>
-redelek-
Cytat(nevt @ 2.05.2008, 13:20:03 ) *
id dodaje ci dobrze. problem polega na tym, że w pętli 12 razy definiujesz tą samą funkcję js z różnymi id w środku ... siłą rzeczy przywywołaniu zostanie użyta ostatnia definicja (ta z id=12), przerób ten kod np. tak:
  1. <?php
  2. echo '<script type="text/javascript">
  3. function openmypage(id){ 
  4. ajaxwin=dhtmlwindow.open("ajaxbox", "ajax", "szczeguly.php?id_s="+id,
  5.  "Szczegóły", "width=350px, height=300px, left=300px, top=100px, resize=0, scrolling=1");
  6. ajaxwin.onclose=function() {return window.confirm("Czy na pewno zapykamy ?")}
  7. }
  8.  </script>';
  9.  while(list($id, $pseudonim, $link, $kategoria, $skr_opis, $status_linka, $dt_dodania) = mysql_fetch_array($wynik))
  10. {
  11. $cnt++;
  12. echo '<tr>
  13. <td align="center" >'.$cnt.'</td>
  14. <td>'.$kategoria.'</td>
  15. <td align="center">'.$pseudonim.'</td> 
  16. <td align="center"><a href="'.$link.'">'.$skr_opis.'</a></td>
  17. <td align="center">';
  18. if($status_linka == 'OK')
  19. echo '<img src="image/ok.png" align="center" border="0" alt="OK" /> ';
  20. else 
  21. echo '<img src="image/nie.png" align="center" border="0" alt="NIE" />';
  22. echo '</td>
  23.  <td align="center"><a href="" onclick="openmypage('. $id .'); return false"><img src="image/opis.png" align="center" border="0" /></a></td> 
  24. </tr> ';
  25. }
  26. ?>
redelek
Cytat(nevt @ 2.05.2008, 12:20:03 ) *



Zrobiłem tak jak pokazałeś , ale niestety nic to nie dało. Teraz okienko w ogóle nie wyskakuje.
Wydaje mi się że nie wie skąd pobrać to +id .
nevt
źle ci się wydaje, musisz mieć jeszcze jakiś inny błąd. pokaż kod HTML który generuje ci ten skrypt ...
redelek
Cytat(nevt @ 3.05.2008, 07:13:03 ) *
źle ci się wydaje, musisz mieć jeszcze jakiś inny błąd. pokaż kod HTML który generuje ci ten skrypt ...

Cały skrypt wygląda tak

  1. <?php
  2. include ('inc/lib.inc.php');
  3. echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5. <head>';
  6. //$id='6';
  7. echo '<meta http-equiv="content-type" content="text/html; charset='.$kodowanie.'">';
  8. echo '<meta name="generator" content="PSPad editor, www.pspad.com">';
  9. echo '<meta name="Keywords" content="'.$slowa_klucz.'">';
  10. echo '<meta name="Author" content="'.$autor.'">';
  11. echo '<meta name="Robots" content="'.$roboty.'">';
  12. echo '<title>'.$tytul.'</title>
  13.  <!--[if lt IE 7.]>
  14. <script defer type="text/javascript" src="style/pngfix.js"></script>
  15. <![endif]-->
  16. <style type="text/css" media="all">@import url(style/dhtmlwindow.css);</style>
  17. <style type="text/css" media="all">@import url(style/style.css);</style>
  18. <script type="text/javascript" src="style/dhtmlwindow.js"></script>
  19.  
  20.  
  21.  
  22. </head>';
  23.  
  24. mysql_select_db($My_baza) or die (include $in_path.'error/me.php.inc');
  25.  
  26.  
  27. //------------- Wyciąganie wszystkich rekordów a bazy -----------------------
  28. $cnt=0;
  29. $zapytanie = "SELECT id, pseudonim, link, kategoria, skr_opis, status_linka, dt_dodania FROM lm_linki";
  30. $wynik = mysql_query($zapytanie) or die('UUpss nie mogę pobrać rekordów z bazy :(');
  31. $rek= mysql_num_rows($wynik);
  32. if( $rek == 0)
  33. {
  34. echo "Baza jest pusta jak dzban :( <br>";
  35. } 
  36. else
  37. {
  38.  
  39. echo '<p></p>';
  40. echo '<div id="iglowny">';
  41. echo '<table cellspacing="0">
  42. <tr>
  43.  <td class="caption">LP</td>
  44.  <td class="caption">Kategoria</td>
  45.  <td class="caption">Pseudonim</td>
  46.  <td class="caption">Link</td>
  47.  <td class="caption">Status</td>
  48.  <td class="caption">Opis</td>
  49. </tr>';
  50. echo ' <script type="text/javascript">
  51. function openmypage(){ 
  52.  
  53.  ajaxwin=dhtmlwindow.open("ajaxbox", "ajax", "szczeguly.php?id_s="+$id,
  54. "Szczegóły", "width=350px,height=300px,left=300px,top=100px,resize=0,scrolling=1")
  55. ajaxwin.onclose=function(){return window.confirm("Czy na pewno zapykamy ?")}
  56. }
  57. </script>';
  58. while(list($id, $pseudonim, $link, $kategoria, $skr_opis, $status_linka, $dt_dodania) = mysql_fetch_array($wynik))
  59. {
  60.  
  61.  $cnt++;
  62. echo '<tr>
  63. <td align="center" >'.$cnt.'</td>
  64. <td>'.$kategoria.'</td>
  65. <td align="center">'.$pseudonim.'</td> 
  66. <td align="center"><a href="'.$link.'">'.$skr_opis.'</a></td>
  67. <td align="center">';
  68. if ($status_linka == 'OK'){
  69. echo '<img src="image/ok.png" align="center" border="0" alt="OK" /> ';
  70.  } 
  71.  else {
  72. echo '<img src="image/nie.png" align="center" border="0" alt="NIE" />';
  73. } 
  74. echo '</td>
  75.  
  76.  
  77. <td align="center"><a href="" onClick="openmypage('.$id.'); return false"><img src="image/opis.png" align="center" border="0" /></a></td> 
  78. </tr> ';
  79.  
  80. }
  81.  
  82. }
  83. echo '<tr>
  84. <td colspan="4" class="tab_koniec"><span id="kom_inf">W bazie jest rekordów: </span>'.$rek.'<a href="crt_root/">.</a></td>
  85. <td colspan="2" class="tab_koniec" align="center"><a href="index.php?spr_link=1" title="Sprawdź linki czy działają" /><img src="image/spr.png" align="center" border="0" /></td>
  86.  
  87. </tr>
  88. ';
  89.  
  90. echo '</table></div>';
  91. </body>
  92. </html>';
  93. ?>
nevt
czy ja piszę nie po polsku?
Cytat
pokaż kod HTML który generuje ci ten skrypt ...

kod HTML to nie kod PHP ...

ale i tak widzę, gdzie skopałeś ...
masz:
Kod
function openmypage(){
   ajaxwin=dhtmlwindow.open("ajaxbox", "ajax", "szczeguly.php?id_s="+$id,
   ...

a ja ci przecież napisałem:
Kod
function openmypage(id){
    ajaxwin=dhtmlwindow.open("ajaxbox", "ajax", "szczeguly.php?id_s="+id,
    ...

dopisz id gdzie trzeba, wywal zbędny $ i będzie dobrze ... a swoją drogą ciekawe - daję ci gotowca, a ty zamiast skopiować to przerabiasz po swojemu i dalej narzekasz że nie działa ...
redelek
Cytat(nevt @ 3.05.2008, 09:28:34 ) *
dopisz id gdzie trzeba, wywal zbędny $ i będzie dobrze ... a swoją drogą ciekawe - daję ci gotowca, a ty zamiast skopiować to przerabiasz po swojemu i dalej narzekasz że nie działa ...


Ale ja jestem szalenie wdzięczny. Nie zwróciłem uwagi w function openmypage(id) smile.gif

Dziękuję ślicznie i kłaniam się po pas mistrzowi .

Super teraz wszystko działa, DZIĘKI DZIĘKI yahoo.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.