Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][js] Problem z pobraniem ID i przekazaniem, Wyświetla tylko ostatni rekord z MySQL-a
redelek
post
Post #1





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

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


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

Ten post edytował redelek 2.05.2008, 12:47:10


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


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. ?>


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
--redelek--
post
Post #3





Goście







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. ?>
Go to the top of the page
+Quote Post
redelek
post
Post #4





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

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


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 .


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nevt
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


źle ci się wydaje, musisz mieć jeszcze jakiś inny błąd. pokaż kod HTML który generuje ci ten skrypt ...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
redelek
post
Post #6





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

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


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. ?>


Ten post edytował redelek 3.05.2008, 09:34:49


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nevt
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


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 ...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
redelek
post
Post #8





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

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


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


--------------------
Pozdrawiam
Piotrek R
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 Aktualny czas: 19.08.2025 - 03:17