Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wykonywanie bez wczytywania strony.
Forum PHP.pl > Forum > Przedszkole
xxdrago
Witam, jak mogę to wykonać bez otwierania nowego okna (zmiany adresu) chodzi o to , że po kliknięciu w link mam zostać na tej stronie co jestem,
a to sie ma wykonać (te zapytania). Proszę sie nie śmiać z kodu bo dopiero studiuje php smile.gif


  1. while($r = mysql_fetch_array($wynik)) {
  2. echo '<tr>';
  3. echo '<td class="row2">'.$r[0].'</td>'; // ID
  4. echo "<td class='row2'>".$r[1]."</td>"; // Nick
  5. echo "<td class='row2'>".$r[2]."</td>"; // E-Mail
  6. echo "<td class='row2'>".$r[3]."</td>"; // Haslo
  7. echo "<td class='row2'>".$r[4]."</td>"; // Gadu Gadu
  8. echo "<td class='row2'>".$r[5]."</td>"; // IP
  9. echo "<td class='row2'>".$r[6]."</td>"; // Data zamowienia
  10. echo "<td class='row2'>".$r[7]."</td>"; // Data zakonczenia
  11. echo "<td class='row2'>".$r[8]."</td>"; // Aktywne
  12. echo "<td class='row2'>".$r[9]."</td>"; // Kodsms
  13. echo "<td class='row2' style='text-align:center;'><a href='sklep_admin.php?a=del&id=".$r[0]."'><img src='images/icon_delete.gif' border='0'></a></td>"; // Usun danego Vipa/Premium
  14. echo "<td class='row2' style='text-align:center;'>";
  15. if ($r['aktywne'] < 1) {
  16. echo "<a href='sklep_admin.php?a=edit&id=".$r[0]."'><img src='images/icon_nieaktywny.gif' border='0'></a>";
  17. } else {
  18. echo "<a href='sklep_admin.php?a=edit&id=".$r[0]."'><img src='images/icon_aktywny.gif' border='0'></a>";
  19. }
  20. echo "</td>";
  21. echo "</tr>";
  22. }
  23. echo "</table>";
  24. }
  25. }
  26. #################### Usuwanie danych ##########################
  27. $a = trim($_GET['a']);
  28. $id = trim($_GET['id']);
  29.  
  30. if($a == 'del' and !empty($id)) {
  31. /* usuwamy rekord */
  32. mysql_query("DELETE FROM sklep WHERE id='$id'")
  33. or die('Błąd zapytania: '.mysql_error());
  34.  
  35. echo 'Rekord został usunęty z bazy';
  36. }
  37. #################### Zmiana danych ##########################
  38. $a = trim($_REQUEST['a']);
  39. $id = trim($_GET['id']);
  40.  
  41. if($a == 'edit' and !empty($id)) {
  42. $wynik = mysql_query("SELECT * FROM sklep WHERE id='$id'")
  43. or die('Błąd zapytania');
  44. if(mysql_num_rows($wynik) > 0) {
  45. $r = mysql_fetch_assoc($wynik);
  46. if ($r['aktywne'] < 1) {
  47. mysql_query("UPDATE sklep SET aktywne='1' WHERE id='$id'");
  48. } else {
  49. mysql_query("UPDATE sklep SET aktywne='0' WHERE id='$id'");
  50. }
  51. }
  52. }


Głownie o to:
  1. echo "<td class='row2' style='text-align:center;'><a href='sklep_admin.php?a=del&id=".$r[0]."'><img src='images/icon_delete.gif' border='0'></a></td>"; // Usun danego Vipa/Premium
Kostek.88
Masz 2 opcje:

1) wywolanie akcji dla tej samej strony co na niej jestes i wstawienie na gorze warunktow sprawdzajacych czy masz tablice $_GET o odpowiedniej nazwie. Zostanie Ci wtedy problem odswiezania, ktory zalatwisz header location i str_replace (chodzi o usuniecie z linku np ?a=del&id=xxx, by po odswiezeniu nie wywolywalo tej samej akcji znow)

2) AJAX, najprostsze wydaje mi sie to z jQuery

http://api.jquery.com/jQuery.ajax/
http://gajdaw.pl/ajax/jquery-tutorial/
xxdrago
A jeszcze jedno ma pytanie jeżeli w bazie mam zapisany wynik w sekundach np. 1320158281 i chciałbym dodać do tego np. 7 dni to jak to najlepiej zrobić?
Kostek.88
Wydaje mi sie, ze po prostu 7*24*3600, czyli 7 dni x 24 godziny i 3600 sekund, bo tyle trwa wlasnie godzina. Otrzymasz 7 dni w sekundach.
croc
Mam pytanie: dlaczego nie chcesz wczytywać strony? Pytam nie dlatego, że Twój pomysł jest zły, ale dlatego, że nie wiem czy znasz wszystkie możliwości rozwiązania tego problemu. Ja bym w tym przypadku odpuścił Ajax.
by_ikar
Cytat
A jeszcze jedno ma pytanie jeżeli w bazie mam zapisany wynik w sekundach np. 1320158281 i chciałbym dodać do tego np. 7 dni to jak to najlepiej zrobić?


Kod
$date = new DateTime('@1320158281');
//wyświetlenie daty przed zmianą
echo $date->format('Y-m-d');
$date->modify('+1 weeks');
//wyświetlenie daty po zmianie
echo $date->format('Y-m-d');


xxdrago
error:

Fatal error: Class 'DateTime' not found in C:\Program Files\xampp\htdocs\
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.