Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP] Problem ze zdarzeniem w Select
nighttrain
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 2.06.2010

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


Witam,

mam taki problemik, mam skrypcik, dzięki, któremu z pola select wybieram sobie rekord, który chce zedytować, wtedy wyświetla mi się formularz, w którym są pobrane dane wybranego rekordu, mam pod to podpięty skrypcik Java Script. Jeżeli sobie cos zmienię i klikne na submit pokaże się komunikat JS : "Dane zostały uaktualnione!" w else mam natomiast skrypcik, który przy nieudanej próbie wyświetli: "Niestet nie udało się". Cały problem polega na tym iż jak np wybiorę rekord z selecta oraz ponownie wybiorę jakis inny to pokaże się komunikat: "Dane zostały uaktualnione" ;/. To ma miejsce w przeglądarce Chrom. W firefoxie niby działa ok - moge kilka razy wybierać z selecta nazwy i dopiero jak kliknę submit to mi wyswietli lub nie komunikat. Proszę o pomoc jak się z tym uporać. Domyślam się, że to wina tego kawałka kodu <select name="id_programu" onchange="this.form.submit()"> dokładnie this.form.submit, jednak jak wykasuję te linijkę to nie będę mógł zmieniać wartości z selecta..

Zamieszczam skrypt PHP, oraz 2 te dwa skrypty JS:
  1. $msql = mysql_connect('localhost', 'root', 'qazwsx');
  2. mysql_select_db('komputery');
  3.  
  4. //DEKLARACJA ZMIENNEJ
  5.  
  6. $wynik = mysql_query("SELECT * FROM komputery")
  7. or die('Blad zapytania');
  8.  
  9. echo("<center>");
  10. echo "<table cellpadding=\"7\" border=1>";
  11. echo("<tr>");
  12. echo("<h1>");
  13. <form action="" method="post">
  14. <select name="id_programu" onchange="this.form.submit()">
  15. <option value="">Wybierz program do edycji:</option>';
  16.  
  17. $res = mysql_query('select id_programu, nazwa_programu, system_operacyjny from oprogramowanie ORDER BY nazwa_programu');
  18. while ($row = mysql_fetch_assoc($res))
  19. echo '<option value="'.$row['id_programu'].'"'.($row['id_programu'] == $_GET['id_programu'] ? ' selected="selected"' : '').'>'.$row['nazwa_programu'].' '.$row['system_operacyjny'].'</option>';
  20. echo '</select>
  21. <input type="hidden" name="a" value="edit";
  22. </form><br />';
  23. echo ("</center>");
  24.  
  25. $a = trim($_POST['a']);
  26. $id_programu = trim($_POST['id_programu']);
  27.  
  28. switch ($a) {
  29. case 'edit':
  30. /* zapytanie do tabeli */
  31. $wynik = mysql_query("SELECT * FROM oprogramowanie WHERE
  32. id_programu='$id_programu'")
  33. or die('Blad zapytania');
  34.  
  35. //wyswietlamy wyniki, sprawdzamy, czy zapytanie zwrócilo wartosc wieksza od 0
  36.  
  37. echo '<script type="text/javascript" src="skrypty_java/czyjestespewien.js"></script>';
  38.  
  39. if(mysql_num_rows($wynik) > 0) {
  40. /* odczytujemy zawartosc wiersza z tabeli */
  41. $r = mysql_fetch_assoc($wynik);
  42. /* wczytujemy dane do formularza */
  43. /*
  44.   w formularz znajduja sie ukryte pola "a"
  45.   z wartoscia "save" i pole "id" z wartoscia
  46.   zmiennej id
  47.   */
  48. echo("<center>");
  49. echo ("<h2><b>Prosze uaktualnic dane: </b></h2><br />");
  50. echo '<form action="" method="post" onSubmit="return confirmSubmit();">
  51. <input type="hidden" name="a" value="save" />
  52. <input type="hidden" name="id_programu" value="'.$id_programu.'" />
  53. <input type="hidden" size="40" name="id_programu"
  54. value="'.$r['id_programu'].'" /><br />
  55. <b>Nazwa programu:</b><br />
  56. <input type="text" size="40" name="nazwa_programu"
  57. value="'.$r['nazwa_programu'].'" /><br />
  58. <b>Wersja programu:</b><br />
  59. <input type="text" name="system_operacyjny"
  60. value="'.$r['system_operacyjny'].'" /><br />
  61.  
  62. <input type="image" src="graphics/Kopia button_uaktualnij.jpg" alt="Wyslij" value="uaktualnij">
  63.  
  64. </form>';
  65. echo("</center>");
  66. }
  67. break;
  68.  
  69. case 'edit-selected';
  70. if (empty($id));
  71. break;
  72.  
  73. case 'save':
  74.  
  75. /* odbieramy zmienne z formularza */
  76. $id_programu = $_POST['id_programu'];
  77. $nazwa_programu = trim($_POST['nazwa_programu']);
  78. $system_operacyjny = trim($_POST['system_operacyjny']);
  79.  
  80. // uaktualniamy tabele test o nowe dane ktore wpisalismy do formularza
  81. if (mysql_query("UPDATE oprogramowanie SET id_programu='$id_programu', nazwa_programu='$nazwa_programu', system_operacyjny='$system_operacyjny' WHERE id_programu='$id_programu'")) {
  82.  
  83. echo '<script type="text/javascript" src="skrypty_java/alertdaneuaktualnione.js"></script>';
  84.  
  85. }
  86. else echo '<script type="text/javascript" src="skrypty_java/nieudalosie.js"></script>';
  87. }
  88. ?>


skrypt "nieudalosie.js"
  1. window.location.reload();
  2. alert("Nie udało się zaktualizować, proszę spróbuj ponownie");


skrypt "alertdanezostalyuaktualnione"
  1. alert("Dane zostały uaktualnione!");


Ten post edytował nighttrain 8.09.2010, 21:52:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nighttrain
post
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 2.06.2010

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


Hehe, faktycznie, dzięki bardzo. Słuchaj tak przy okazji mam problem z dołączeniem funkcji w JS, żeby po kliknięciu w "wykasuj wpis" spytała mnie, czy na pewno usunąć - Mam kod JS o nazwie confirsubmit:
  1. function confirmSubmit() {
  2. if (confirm("Czy jesteś pewien tego kroku?")) return true;
  3. else return false;
  4. }

dodaje go tutaj w kodzie w tym miejscu: (ale nie dziala)
  1. echo '<form action="usunrelacyjna.php" method="post" onSubmit="return confirmSubmit();">

oczywiście przed tym dołączenie:
  1. echo '<script type="text/javascript" src="skrypty_java/confirmSubmit.js"></script>';


oto cały kod:
  1. <?php include "top.php"; ?>
  2. <?php
  3.  
  4. $msql = mysql_connect('localhost', 'root', 'qazwsx');
  5. mysql_select_db('komputery');
  6.  
  7. $wynik = mysql_query("SELECT * FROM komputery")
  8. or die('Blad zapytania');
  9.  
  10. echo'<form action="" method="post">
  11. <select STYLE="width: 230px" name="id" onchange="this.form.submit() ">
  12. <option value="">Wybierz komputer:</option>';
  13.  
  14.  
  15. $res = mysql_query('select id, nazwa_komputera from komputery ORDER by nazwa_komputera');
  16. while ($row = mysql_fetch_assoc($res))
  17. echo '<option value="'.$row['id'].'"'.($row['id'] == $_GET['id'] ? ' selected="selected"' : '').'>'.$row['nazwa_komputera'].'</option>';
  18. echo '</select>
  19. <input type="hidden" name="a" value="edit" />
  20. </form><br />';
  21. echo ("</center>");
  22.  
  23. $a = trim($_POST['a']);
  24. $id = trim($_POST['id']);
  25.  
  26. switch ($a) {
  27. case 'edit':
  28.  
  29. $wynik = mysql_query("SELECT * FROM komputery WHERE id='$id'")
  30. or die('Blad zapytania');
  31.  
  32. // dolaczenie js do dolnego onsubmit formy z ptyaniem czy na pewno?
  33. echo '<script type="text/javascript" src="skrypty_java/onsubmit.js"></script>';
  34.  
  35. if(mysql_num_rows($wynik) > 0) {
  36.  
  37. $r = mysql_fetch_assoc($wynik);
  38.  
  39. echo ("<center>");
  40. echo ("<h2><b>Prosze uaktualnic dane: </b></h2><br />");
  41. echo '<form action="" method="post" onSubmit="return confirmSubmit();">
  42. <input type="hidden" name="a" value="save" />
  43. <input type="hidden" name="id" value="'.$id.'" />
  44. <input type="hidden" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="id"
  45. value="'.$r['id'].'" /><br />
  46. <b>Nazwa komputera:</b><br />
  47. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="nazwa_komputera"
  48. value="'.$r['nazwa_komputera'].'" /><br />
  49. <b>Nazwa dzialu:</b><br />
  50. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="nazwa_dzialu"
  51. value="'.$r['nazwa_dzialu'].'" /><br />
  52. <b>Imie i nazwisko usera:</b><br />
  53. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="imie_nazwisko_usera"
  54. value="'.$r['imie_nazwisko_usera'].'" /><br />
  55. <b>Adres IP:</b><br />
  56. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="adres_ip"
  57. value="'.$r['adres_ip'].'" /><br />
  58. <b>System operacyjny:</b><br />
  59. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="system_operacyjny"
  60. value="'.$r['system_operacyjny'].'" /><br />
  61. <b>Mac adres:</b><br />
  62. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="mac_adress"
  63. value="'.$r['mac_adress'].'" /><br />
  64. <b>ilosc RAM:</b><br />
  65. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="ilosc_ram"
  66. value="'.$r['ilosc_ram'].'" /><br />
  67. <b>Procesor:</b><br />
  68. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="procesor"
  69. value="'.$r['procesor'].'" /><br />
  70. <b>Model komputera:</b><br />
  71. <input type="text" size="40" style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:16px; color:#000000; border: 2px solid #red" name="model_komputera"
  72. value="'.$r['model_komputera'].'" /><br />
  73.  
  74. <input type="image" src="graphics/Kopia button_uaktualnij.jpg" alt="Wyslij" value="uaktualnij">
  75.  
  76. </form>';
  77. echo ("</center>");
  78. }
  79. break;
  80.  
  81. case 'edit-selected';
  82. if (empty($id));
  83. break;
  84.  
  85. case 'save':
  86.  
  87. $id = $_POST['id'];
  88. $nazwa_komputera = trim($_POST['nazwa_komputera']);
  89. $nazwa_dzialu = trim($_POST['nazwa_dzialu']);
  90. $imie_nazwisko_usera = trim($_POST['imie_nazwisko_usera']);
  91. $adres_ip = trim($_POST['adres_ip']);
  92. $system_operacyjny = trim($_POST['system_operacyjny']);
  93. $mac_adress = trim($_POST['mac_adress']);
  94. $ilosc_ram = trim($_POST['ilosc_ram']);
  95. $procesor = trim($_POST['procesor']);
  96. $model_komputera = trim($_POST['model_komputera']);
  97.  
  98.  
  99. mysql_query("UPDATE komputery SET id='$id', nazwa_komputera='$nazwa_komputera', nazwa_dzialu='$nazwa_dzialu',imie_nazwisko_usera='$imie_nazwisko_usera', adres_ip='$adres_ip',system_operacyjny='$system_operacyjny', mac_adress='$mac_adress', ilosc_ram='$ilosc_ram', procesor='$procesor', model_komputera='$model_komputera' WHERE id='$id'")
  100. or die('Blad zapytania');
  101. //echo nl2br("\n");
  102. echo '<script type="text/javascript" src="skrypty_java/alertdaneuaktualnione.js"></script>';
  103. echo '<script type="text/javascript" src="skrypty_java/reloadsite.js"></script>';
  104.  
  105. break;
  106. }
  107. ?>
  108. <?php include "bottom.php"; ?>


Ten post edytował nighttrain 8.09.2010, 23:07:55
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 05:44