Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP] Onclick refresh
Forum PHP.pl > Forum > Przedszkole
Eleeist
Witam,

Mam taki link:

  1. <a href="admin.php?mid=<?php echo $column['id']?>">Delete</a></td>


Potrzebuję zamienić to na button, żeby po jego kliknięciu:

1. Wykonał się kod PHP
2. Strona, na której link się znajduje się odświeżyła

Mam dosłownie zerowe pojęcia o JavaScript. Wygooglałem i skleiłem coś takiego:

  1. <script type="text/javascript">
  2.  
  3. function handleClick()
  4. {
  5. onclick='location.reload()';
  6. onclick="window.location.href='admin.php?mid=<?php echo '1'; ?>'"
  7.  
  8. }
  9.  
  10.  
  11. <input type='submit' value='Potwierdz' name='true' onclick='handleClick()'/>


Nie bijcie jak to totalne głupstwo jest smile.gif.

Proszę o pomoc.
nospor
Kod
function handleClick()
{
document.location.href='admin.php?mid=<?php echo '1'; ?>';

}
Eleeist
Próbowałem JS, próbowałem $_SERVER['PHP_SELF']... I owszem, strona się odświeża i skrypt wykonuje, ale żeby zobaczyć zaktualizowaną listę z bazy (bo skrypt usuwa record, który się kliknie) to i tak ręcznie trzeba odświeżyć. Chcę osiągnąć taki efekt, żeby po kliknięciu Delete record usuwał się na moich oczach, bez konieczności ręcznego refreshowania strony.

Jakieś rady? smile.gif

  1. if ($_SESSION['username']) {
  2.  
  3. ?>
  4.  
  5. <a href='members.php'>Members</a> / <a href='#'>Master settings</a><br /><br />
  6.  
  7. <?php
  8.  
  9. // Connect to database server and select database.
  10.  
  11. db_connect();
  12.  
  13. // Query and list all the users
  14.  
  15. $query_list = mysql_query("SELECT * FROM users");
  16.  
  17. $getid = $_GET['mid'];
  18.  
  19. // Create a table
  20.  
  21. ?>
  22.  
  23. <table border='1'>
  24. <tr>
  25. <td>
  26. <b><center>ID</center></b>
  27. </td>
  28. <td>
  29. <b><center>Username</center></b>
  30. </td>
  31. <td>
  32. <b><center>Email</center></b>
  33. </td>
  34. <td>
  35. <b><center>Registration date</center></b>
  36. </td>
  37. <td>
  38.  
  39. </td>
  40. </tr>
  41.  
  42. <?php
  43.  
  44. while ($column = mysql_fetch_assoc($query_list)) {
  45.  
  46. // List the users.
  47.  
  48. ?>
  49.  
  50. <tr>
  51. <td>
  52. <center><? echo $column['id']; ?></center>
  53. </td>
  54. <td>
  55. <center><? echo ucfirst($column['username']); ?></center>
  56. </td>
  57. <td>
  58. <center><? echo $column['email']; ?></center>
  59. </td>
  60. <td>
  61. <center><? echo $column['date']; ?></center>
  62. </td>
  63. <td>
  64. <center><a href="members.php?mid=<?php echo $column['id']; ?>">Delete</a></center>
  65. </td>
  66. </tr>
  67.  
  68. <?php
  69.  
  70. }
  71.  
  72. ?>
  73.  
  74. </table>
  75.  
  76. <?php
  77.  
  78. $query = mysql_query("DELETE FROM users WHERE id='$getid'");
  79.  
  80.  
  81. }

nospor
W ogóle nie myślicie ostatnio.... najpierw usuwaj, potem wyświetlaj. A ty najpierw wyświetlasz a potem usuwasz :/ Znowu nie umiesz paru linijek kodu przenieść wyżej?
kpt_lucek
Pomogło w sekcji <head></head>:
  1. <script src="http://code.jquery.com/jquery-latest.js"></script>


oraz zastosowanie js/ajax:
[JAVASCRIPT] pobierz, plaintext
  1. $(".delete").click(function(){
  2. var a = "usun";
  3. var b = $(this).attr("title");
  4. var ciag = "a=" + a + "&b=" +b;
  5. $.ajax({
  6. type: "POST",
  7. url: "usun.php",
  8. data: ciag,
  9. success: function(odpowiedz){
  10. alert(odpowiedz);
  11. location.reload();
  12. },
  13. error: function(odpowiedz){
  14. alert(odpowiedz)
  15. }
  16. });
  17. });
[JAVASCRIPT] pobierz, plaintext


plik usun.php:
  1. <?
  2. if($_POST[a]=="usun")
  3. {
  4. $query = mysql_query("DELETE FROM users WHERE id='$_POST[b]'") or die(mysql_error());
  5. }
  6. ?>


oraz mała zmiana w kodzie:

  1. <tr>
  2. <td>
  3. <center><? echo $column['id']; ?></center>
  4. </td>
  5. <td>
  6. <center><? echo ucfirst($column['username']); ?></center>
  7. </td>
  8. <td>
  9. <center><? echo $column['email']; ?></center>
  10. </td>
  11. <td>
  12. <center><? echo $column['date']; ?></center>
  13. </td>
  14. <td>
  15. <center><a href="#" class="delete" title="<? echo $column['id']; ?>">Delete</a></center> // <--- tutaj
  16. </td>
  17. </tr>
Eleeist
Działa, dzięki wielki. Poszło duuże "pomógł" 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.