Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Nie zapisuje zmian z pola select
rapsod
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 31.10.2009

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


Witam to mój pierwszy post więc jeśli coś nie tak opiszę to proszę o wyrozumiałość.

Jestem samoukiem w PHP. Piszę sobie taki panel dla klientów którym będę projektował strony abym się nie pogubił.
Problem polega na tym że cały skrypt mi działa . Dopisywanie nowych klientów oraz edycja i wyszukiwanie.
Natomiast przy edycji klienta i zmianie opcji serwera z pola "select" nie zmienia mi danych w bazie danych.

Tobędzie ten kawałek kodu gdzie jest wybór serwera.

Proszę o analizę kodu i podpowiedź gdzie tkwi błąd.


  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
  4. <TITLE>E-panel</TITLE>
  5. <link href="tabs.css" rel="stylesheet" type="text/css">
  6. <link href="main.css" rel="stylesheet" type="text/css">
  7. </HEAD>
  8. <BODY>
  9.  
  10. <? // Aplikacja daje nam możliwość odczytu, kasowania, dodawania
  11. // i poprawy danych w bazie.
  12.  
  13. mysql_connect ("localhost", "root", "") or
  14. die ("Nie można połączyć się z MySQL");
  15. mysql_select_db ("epanel") or
  16. die ("Nie można połączyć się z bazą E-Panel");
  17. mysql_query("SET NAMES utf8");
  18. mysql_query("SET CHARACTER_SET utf8_unicode_ci");
  19. if ($co == 'dodaj') { // dodawanie rekordu
  20. if ($data && $imie && $nazwisko && $adres && $nip && $pesel && $serwer && $data_od && $data_do && $status && $cena && $domena && $uwagi) {
  21. $query = "INSERT INTO epanel (nr, data, imie, nazwisko, adres, nip, pesel, serwer, data_od, data_do, status, cena, domena, ";
  22. $query .= "uwagi) VALUES ('', '$data', '$imie', '$nazwisko', '$adres', '$nip', '$pesel', '$serwer', '$data_od', '$data_do', '$status', '$cena', '$domena', '$uwagi');";
  23. $wynik = mysql_query ($query);
  24. }
  25. } elseif ($co == 'popraw') { // poprawianie rekordu
  26. if ($data && $imie && $nazwisko && $adres && $nip && $pesel && $serwer && $data_od && $data_do && $status && $cena && $domena && $uwagi) {
  27. $query = "UPDATE epanel SET data='$data', imie=";
  28. $query .= "'$imie', nazwisko='$nazwisko', adres='$adres', nip='$nip', pesel='$pesel', serwer='$serwer', data_od='$data_od', data_do='$data_do', status='$status', cena='$cena', domena='$domena', uwagi='$uwagi' WHERE nr='$id';";
  29. $wynik = mysql_query ($query);
  30. }
  31. } elseif ($co == 'edytuj') { // przygotowanie do poprawek
  32. $query = "SELECT * FROM epanel where nr='$id';";
  33. $wynik = mysql_query ($query);
  34. $rekord = mysql_fetch_array ($wynik);
  35. $id = $rekord[0]; $data = $rekord[1]; $imie = $rekord[2]; $nazwisko = $rekord[3]; $adres = $rekord[4]; $nip = $rekord[5]; $pesel = $rekord[6];
  36. $serwer = $rekord[7]; $data_od = $rekord[8]; $data_do = $rekord[9]; $status = $rekord[10]; $cena = $rekord[11]; $domena = $rekord[12]; $uwagi = $rekord[13];
  37. print '<FORM METHOD="POST">
  38. <table border="0" width="100%" id="table1" cellpadding="0">
  39. <tr>
  40. <td colspan="2">
  41. <INPUT TYPE="hidden" NAME="co" VALUE="popraw">
  42. <INPUT TYPE="hidden" NAME="id" VALUE="'.$id.'">
  43. </td>
  44. </tr>
  45. <tr>
  46. <td width="171">Data : </td>
  47. <td>
  48.  
  49.  
  50. <INPUT TYPE="text"
  51. NAME="data" VALUE="'.$data.'" size="20"></td>
  52. </tr>
  53. <tr>
  54. <td width="171">Imię : </td>
  55. <td><INPUT TYPE="text"
  56. NAME="imie" VALUE="'.$imie.'" size="20"></td>
  57. </tr>
  58. <tr>
  59. <td width="171">Nazwisko : </td>
  60. <td>
  61. <INPUT TYPE="text" NAME="nazwisko"
  62. VALUE="'.$nazwisko.'" size="20"></td>
  63. </tr>
  64. <tr>
  65. <td width="171">Adres : </td>
  66. <td><INPUT TYPE="text"
  67. NAME="adres" VALUE="'.$adres.'" size="20"></td>
  68. </tr>
  69. <tr>
  70. <td width="171">Nip : </td>
  71. <td><INPUT TYPE="text"
  72. NAME="nip" VALUE="'.$nip.'" size="20"></td>
  73. </tr>
  74. <tr>
  75. <td width="171">Pesel : </td>
  76. <td><INPUT TYPE="text"
  77. NAME="pesel" VALUE="'.$pesel.'" size="20"></td>
  78. </tr>
  79. <tr>
  80. <td width="171">Serwer : </td>
  81. <td>
  82. <select size="1" name="serwer">
  83. <option>Wybierz Serwer</option>
  84. <option value="'.$serwer.'">Serwer Start</option>
  85. <option value="'.$serwer.'">Serwer Clasic</option>
  86. <option value="'.$serwer.'">Serwer Biznes</option>
  87. </select></td>
  88. </tr>
  89. <tr>
  90. <td width="171">Data od : </td>
  91. <td>
  92. <INPUT TYPE="text"
  93. NAME="data_od" VALUE="'.$data_od.'" size="20"></td>
  94. </tr>
  95. <tr>
  96. <td width="171">Data do : </td>
  97. <td>
  98. <INPUT TYPE="text"
  99. NAME="data_do" VALUE="'.$data_do.'" size="20"></td>
  100. </tr>
  101. <tr>
  102. <td width="171">Status : </td>
  103. <td>
  104. <INPUT TYPE="text"
  105. NAME="status" VALUE="'.$status.'" size="20"></td>
  106. </tr>
  107. <tr>
  108. <td width="171">Cena : </td>
  109. <td><INPUT TYPE="text"
  110. NAME="cena" VALUE="'.$cena.'" size="20"></td>
  111. </tr>
  112. <tr>
  113. <td width="171">Domena : </td>
  114. <td>
  115. <INPUT TYPE="text"
  116. NAME="domena" VALUE="'.$domena.'" size="20"></td>
  117. </tr>
  118. <tr>
  119. <td width="171">Uwagi : </td>
  120. <td><INPUT TYPE="text"
  121. NAME="uwagi" VALUE="'.$uwagi.'" size="20"></td>
  122. </tr>
  123. <tr>
  124. <td width="171"> </td>
  125. <td>
  126. <INPUT TYPE="submit" VALUE="Popraw"></td>
  127. </tr>
  128. </table>
  129. </FORM>';
  130. } elseif ($co == 'skasuj') { // kasowanie
  131. $wynik = mysql_query
  132. ("DELETE FROM epanel WHERE nr = '$id';");
  133. }
  134.  
  135. $wynik = mysql_query ("SELECT * FROM epanel ORDER BY nr;");
  136.  
  137. print '<FORM METHOD="POST"><HR>Szukaj: <INPUT TYPE="text" NAME="fraza" VALUE='.$fraza.'>';
  138. print '<INPUT TYPE="submit" VALUE="Szukaj"> <A HREF="serwis2.php">Wszystkie</A><HR></FORM>';
  139.  
  140. print "<TABLE CELLPADDING=5 BORDER=1>
  141. <TR><TD>
  142. <b>Data </b>
  143. </TD><TD>
  144. <b>Imię </b>
  145. </TD><TD>
  146. <b>Nazwisko </b>
  147. </TD><TD>
  148. <b>Adres</b></TD><TD>
  149. <b>Nip</b></TD><TD>
  150. <b>Pesel</b></TD><TD>
  151. <b>Serwer</b></TD><TD>
  152. <b>Data Od</b></TD><TD>
  153. <b>Data do</b></TD><TD>
  154. <b>Status</b></TD><TD>
  155. <b>Cena</b></TD><TD>
  156. <b>Domena</b></TD><TD>
  157. <b>Uwagi</b></TD></TR>\n";
  158.  
  159. while ($rekord = mysql_fetch_array ($wynik)) {
  160. $id = $rekord[0];
  161. $data = $rekord[1];
  162. $imie = $rekord[2];
  163. $nazwisko = $rekord[3];
  164. $adres = $rekord[4];
  165. $nip = $rekord[5];
  166. $pesel = $rekord[6];
  167. $serwer = $rekord[7];
  168. $data_od = $rekord[8];
  169. $data_do = $rekord[9];
  170. $status = $rekord[10];
  171. $cena = $rekord[11];
  172. $domena = $rekord[12];
  173. $uwagi = $rekord[13];
  174.  
  175. if (!($fraza) || (stristr ($imie.$nazwisko, $fraza))) {
  176. <TR>
  177. <TD>$data</TD>
  178. <TD>$imie</TD>
  179. <TD>$nazwisko</TD>
  180. <TD>$adres</TD>
  181. <TD>$nip</TD>
  182. <TD>$pesel</TD>
  183. <TD>$serwer</TD>
  184. <TD>$data_od</TD>
  185. <TD>$data_do</TD>
  186. <TD>$status</TD>
  187. <TD>$cena</TD>
  188. <TD><a href=http://$domena>$domena</a></TD>
  189. <TD>$uwagi</TD>
  190. <TD>";
  191. print "<A HREF=\"serwis2.php?co=skasuj&id=$id\">skasuj</A></TD><TD>";
  192. print "<A HREF=\"serwis2.php?co=edytuj&id=$id\">edytuj</A></TD></TR>\n";
  193. }
  194. }
  195. print "</TABLE>";
  196. print '<FORM METHOD="POST">
  197. <table border="0" width="100%" id="table1" cellpadding="0">
  198. <tr>
  199. <td colspan="2"><INPUT TYPE="hidden" NAME="co" VALUE="dodaj"></td>
  200. </tr>
  201. <tr>
  202. <td width="171">Data : </td>
  203. <td><INPUT TYPE="text"
  204. NAME="data" size="20"></td>
  205. </tr>
  206. <tr>
  207. <td width="171">Imię : </td>
  208. <td><INPUT TYPE="text"
  209. NAME="imie" size="20"></td>
  210. </tr>
  211. <tr>
  212. <td width="171">Nazwisko  : </td>
  213. <td><INPUT TYPE="text"
  214. NAME="nazwisko" size="20"></td>
  215. </tr>
  216. <tr>
  217. <td width="171">Adres : </td>
  218. <td><INPUT TYPE="text"
  219. NAME="adres" size="20"></td>
  220. </tr>
  221. <tr>
  222. <td width="171">Nip : </td>
  223. <td><INPUT TYPE="text"
  224. NAME="nip" size="20"></td>
  225. </tr>
  226. <tr>
  227. <td width="171">Pesel : </td>
  228. <td><INPUT TYPE="text"
  229. NAME="pesel" size="20"></td>
  230. </tr>
  231. <tr>
  232. <td width="171">Serwer : </td>
  233. <td><select size="1" name="serwer">
  234. <option>Wybierz Serwer</option>
  235. <option value="Serwer Start">Serwer Start</option>
  236. <option value="Serwer Clasic">Serwer Clasic</option>
  237. <option value="Serwer Biznes">Serwer Biznes</option>
  238. </select></td>
  239. </tr>
  240. <tr>
  241. <td width="171">Data od : </td>
  242. <td><INPUT TYPE="text"
  243. NAME="data_od" size="20"></td>
  244. </tr>
  245. <tr>
  246. <td width="171">Data do : </td>
  247. <td><INPUT TYPE="text"
  248. NAME="data_do" size="20"></td>
  249. </tr>
  250. <tr>
  251. <td width="171">Status : </td>
  252. <td><INPUT TYPE="text"
  253. NAME="status" size="20"></td>
  254. </tr>
  255. <tr>
  256. <td width="171">Cena : </td>
  257. <td><INPUT TYPE="text"
  258. NAME="cena" size="20"></td>
  259. </tr>
  260. <tr>
  261. <td width="171">Domena : </td>
  262. <td><INPUT TYPE="text"
  263. NAME="domena" size="20"></td>
  264. </tr>
  265. <tr>
  266. <td width="171">Uwagi : </td>
  267. <td><INPUT TYPE="text"
  268. NAME="uwagi" size="20"></td>
  269. </tr>
  270. <tr>
  271. <td width="171"> </td>
  272. <td><INPUT TYPE="submit" VALUE="Dodaj"></td>
  273. </tr>
  274. </table>
  275.  
  276. </FORM>';
  277. ?>
  278.  
  279. </BODY>
  280. </HTML>
  281.  


Z góry dziękuję i pozdrawiam.

Ten post edytował rapsod 31.10.2009, 11:02:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
rytek
post
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 14
Dołączył: 21.01.2009
Skąd: Mszczonów

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


Po:
Kod
$serwer = $rekord[7]; $data_od = $rekord[8]; $data_do = $rekord[9]; $status = $rekord[10]; $cena = $rekord[11]; $domena = $rekord[12]; $uwagi = $rekord[13];

Dodaj:
Kod
$sel1 = ($serwer == "Serwer Start" ? " selected" : "");
$sel2 = ($serwer == "Serwer Clasic" ? " selected" : "");
$sel3 = ($serwer == "Serwer Biznes" ? " selected" : "");


A to:
Kod
<select size="1" name="serwer">
    <option>Wybierz Serwer</option>
    <option value="'.$serwer.'">Serwer Start</option>
    <option value="'.$serwer.'">Serwer Clasic</option>
    <option value="'.$serwer.'">Serwer Biznes</option>
</select>

Zamień na:
Kod
<select size="1" name="serwer">
        <option>Wybierz Serwer</option>
    <option value="Serwer Start" '.$sel1.'>Serwer Start</option>
    <option value="Serwer Clasic" '.$sel2.'>Serwer Clasic</option>
    <option value="Serwer Biznes" '.$sel3.'>Serwer Biznes</option>
</select>


Bo wartość pola musi być taka sama. Skrypt interesuje tylko, który jest wybrany, czyli, która opcja ma atrybut selected.

Sprawdź, powinno działać, jeśli to jedyny błąd.

BTW. Dlaczego używasz print, zamiast echo? Nie widzę, żebyś formatował wyniki, a print jest wolniejsze od echo.
Pozdro, rytek.
Go to the top of the page
+Quote Post
rapsod
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 31.10.2009

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


Bardzo dziękuję za odpowiedź.

Oczywiście pomogło i wszystko należycie działa.
Teraz rozumiem.

Tak jak napisałem dopiero od roku grzebię w PHP i sam się uczę wiec w zasadzie na własnych błędach.
Nie wiedziałem że "echo" działa szybciej. Dzięki sprawdzę.

I jeszcze raz pozdrawiam
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: 20.08.2025 - 00:25