Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Formularz poprawiania błędów
Forum PHP.pl > Forum > Przedszkole
d0m1n1k_
Witam wszystkich,
od razu przedstawie skrypty które do tej pory zrobiłem:
>> Dodawanie "sympozja"
  1. <?php
  2. include_once("admin_header.php");
  3.  
  4. if(isset($_POST['submit'])) {
  5.  
  6. $message = NULL;
  7.  
  8. if(empty($_POST['data'])) {
  9. $data = FALSE;
  10. $message .= '<p>Podaj date!</p>';
  11. }else{
  12. $data = $_POST['data'];
  13. }
  14. if(empty($_POST['nazwa'])) {
  15. $nazwa = FALSE;
  16. $message .= '<p>Podaj nazwe / temat sympozjum!</p>';
  17. }else{
  18. $nazwa = $_POST['nazwa'];
  19. }
  20. if(empty($_POST['czas_trwania'])) {
  21. $czas_trwania = FALSE;
  22. $message .= '<p>Podaj przewidywany czas trwania sympozjum!</p>';
  23. }else{
  24. $czas_trwania = $_POST['czas_trwania'];
  25. }
  26. if(empty($_POST['prowadzacy'])) {
  27. $prowadzacy = FALSE;
  28. $message .= '<p>Podaj imie i nazwisko prowadzacego!</p>';
  29. }else{
  30. $prowadzacy = $_POST['prowadzacy'];
  31. }
  32. if(empty($_POST['ilosc_miejsc'])) {
  33. $ilosc_miejsc = FALSE;
  34. $message .= '<p>Podaj ilosc miejsc!</p>';
  35. }else{
  36. $ilosc_miejsc = $_POST['ilosc_miejsc'];
  37. }
  38. if(empty($_POST['opis_min'])) {
  39. $opis_min = FALSE;
  40. $message .= '<p>Nie wprowadzono opisu minimalnego!</p>';
  41. }else{
  42. $opis_min = $_POST['opis_min'];
  43. }
  44. if(empty($_POST['opis_max'])) {
  45. $opis_max = FALSE;
  46. $message .= '<p>Nie wprowadyono pelnego opisu!</p>';
  47. }else{
  48. $opis_max = $_POST['opis_max'];
  49. }
  50. if(empty($_POST['adres'])) {
  51. $adres = FALSE;
  52. $message .= '<p>Nie wprowadzono adresu!</p>';
  53. }else{
  54. $adres = $_POST['adres'];
  55. }
  56. if(empty($_POST['info_dod'])) {
  57. $info_dod = 'Nie podano informacji dodatkowych.';
  58. }else{
  59. $info_dod = $_POST['info_dod'];
  60. }
  61.  
  62. if($data && $nazwa && $czas_trwania && $prowadzacy && $ilosc_miejsc && $opis_min && $opis_max && $adres) {
  63. require_once('./db_config.php');
  64.  
  65. $query = "INSERT INTO harmonogram (`data`, `nazwa`, `czas_trwania`, `opis_min`, `opis_max`, `prowadzacy`, `ilosc_miejsc`, `adres`, `info_dod`) VALUES ('$data' , '$nazwa' , '$czas_trwania' , '$opis_min' , '$opis_max' , '$prowadzacy' , '$ilosc_miejsc' , '$adres' , '$info_dod')";
  66. $result = @mysql_query ($query);
  67. if ($result) {
  68. echo '<p><center><br /><br /><br /><font color="green">Do obecenej bazy danych dodano nowy termin seminarium!</font></center></p>';
  69. exit();
  70. }else{
  71. $message = '<p> Nie udalo sie! Ponow probe!</p>';
  72. }
  73. }else{
  74. $message .= '<p>Ponow probe!</p>';
  75. }
  76. }
  77. if(isset($message)){
  78. echo '<font color="red">', $message, '</font>';
  79. }
  80.  
  81. echo '<br />';
  82. ?>
  83.  
  84. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  85. <fieldset>
  86. <legend>Dodaj termin sympozjum:</legend>
  87.  
  88. <p><b>Data (format RRRR-MM-DD):</b><br>
  89. <input name="data" type="text" id="data" value="<?php if (isset($_POST['data'])) echo $_POST['data']; ?>" size="60" maxlength="10" />
  90. </p>
  91. <p><b>Nazwa / Temat symposium </b><br>
  92. <input type="text" name="nazwa" size="60" maxlength="255" value="<?php if (isset($_POST['nazwa'])) echo $_POST['nazwa']; ?>" />
  93. </p>
  94. <p><b>Zakładany czas trwania :</b><br>
  95. <input type="text" name="czas_trwania" size="60" maxlength="55" value="<?php if (isset($_POST['czas_trwania'])) echo $_POST['czas_trwania']; ?>" />
  96. </p>
  97. <p><b>Adres :</b><br>
  98. <input type="text" name="adres" size="60" maxlength="255" value="<?php if (isset($_POST['adres'])) echo $_POST['adres']; ?>" />
  99. </p>
  100. <p><b>Prowadzący:</b><br>
  101. <input type="text" name="prowadzacy" size="60" maxlength="255" value="<?php if (isset($_POST['prowadzacy'])) echo $_POST['prowadzacy']; ?>" />
  102. </p>
  103. <p><b>Ilość miejsc <i></i>:</b><br>
  104. <input type="text" name="ilosc_miejsc" size="60" maxlength="125" value="<?php if (isset($_POST['ilosc_miejsc'])) echo $_POST['ilosc_miejsc']; ?>" />
  105. </p>
  106. <p><b>Opis minimalny (widoczny dla każdego, minimalny zarys) <i></i>:</b><br>
  107. <textarea name="opis_min" cols="60" rows="5"><?php if (isset($_POST['opis_min'])) echo $_POST['opis_min']; ?>
  108. </textarea>
  109. </p>
  110. <p><b>Pełen opis planu sympozjum :</b><br>
  111. <textarea name="opis_max" cols="60" rows="5"><?php if (isset($_POST['opis_max'])) echo $_POST['opis_max']; ?>
  112. </textarea>
  113. </p>
  114. <p><b>Informacje dodatkowe:</b><br>
  115. <textarea name="info_dod" cols="60" rows="5"><?php if (isset($_POST['info_dod'])) echo $_POST['info_dod']; ?>
  116. </textarea>
  117. </p>
  118. <div align="right"><input type="submit" name="submit" value="Akceptuj dane" /></div>
  119. </form>
  120. </fieldset>
  121. <?php
  122. @include_once("admin_stopka.php");
  123. ?>




>> Pokazywanie sympozja:
  1. <link href="style.css" rel="stylesheet" type="text/css">
  2. <?php
  3. include_once("admin_header.php");
  4. ?>
  5. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  6. <tr>
  7. <td colspan="2" align="left" valign="top" class="tresc_ciemna"><p align="center" class="tresc_ciemnaGruba"><br />Wykaz wprowadzonych spotkan z pełnym odpisem. <br />
  8. Seminaria aktualne. </p>
  9. <p align="center">
  10. <?php
  11. include_once ("./db_config.php");
  12. $data = date("Y-m-d");
  13. $zapytanie = "SELECT * FROM harmonogram where `data` >= '$data' ORDER BY data ASC";
  14. $rezultat = @mysql_query($zapytanie);
  15. if($rezultat)
  16. {
  17. while ($row = mysql_fetch_array($rezultat, MYSQL_ASSOC))
  18. {
  19.  
  20. echo "<fieldset><legend>[<a href=\"\">EDYTUJ</a>&nbsp;&nbsp;|&nbsp;&nbsp;USUN]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>";
  21. echo $row['nazwa'];
  22. echo "</b></legend>";
  23. echo "<table border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
  24. echo " <tr>";
  25. echo " <td width=\"85\" align=\"left\" valign=\"top\" class=\"tresc_pomaranczGruba\">Data:</td>";
  26. echo " <td width=\"150\" align=\"left\" valign=\"top\" class=\"tresc_ciemna\">";
  27. echo $row['data'];
  28. echo "</td>";
  29. echo " <td width=\"85\" align=\"left\" valign=\"top\" class=\"tresc_pomaranczGruba\">Czas trwania:</td>";
  30. echo " <td width=\"220\" align=\"left\" valign=\"top\" class=\"tresc_ciemna\">";
  31. echo $row['czas_trwania'];
  32. echo "</td>";
  33. echo " </tr>";
  34. echo " <tr>";
  35. echo " <td width=\"85\" align=\"left\" valign=\"top\" class=\"tresc_pomaranczGruba\">Prowadzący:</td>";
  36. echo " <td align=\"left\" valign=\"top\" class=\"tresc_ciemna\">";
  37. echo $row['prowadzacy'];
  38. echo "</td>";
  39. echo " <td width=\"85\" align=\"left\" valign=\"top\" class=\"tresc_pomaranczGruba\">Ilość miejsc:</td>";
  40. echo " <td width=\"220\" align=\"left\" valign=\"top\" class=\"tresc_ciemna\">";
  41. echo $row['ilosc_miejsc'];
  42. echo "</td>";
  43. echo " </tr>";
  44. echo " <tr>";
  45. echo " <td width=\"85\" align=\"left\" valign=\"top\" class=\"tresc_pomaranczGruba\">Adres:</td>";
  46. echo " <td align=\"left\" valign=\"top\" class=\"tresc_ciemna\">";
  47. echo $row['adres'];
  48. echo "</td>";
  49. echo " <td width=\"100\" align=\"left\" valign=\"top\">";
  50. echo "&nbsp;";
  51. echo "</td>";
  52. echo " <td align=\"left\" valign=\"top\" class=\"tresc_ciemnaGruba\"><div align=\"center\"><strong><!--REZERWACJA--></strong></div></td>";
  53. echo " </tr>";
  54. echo " <tr>";
  55. echo " <td width=\"85\" align=\"left\" valign=\"top\" class=\"tresc_pomaranczGruba\">Opis:</td>";
  56. echo " <td colspan=\"3\" align=\"left\" valign=\"top\" class=\"tresc_ciemna\">";
  57. echo $row['opis_max'];
  58. echo "</td>";
  59. echo " </tr>";
  60. echo " <tr>";
  61. echo " <td width=\"85\" align=\"left\" valign=\"top\" class=\"tresc_pomaranczGruba\">Informacje dodatkowe:</td>";
  62. echo " <td colspan=\"3\" align=\"left\" valign=\"top\" class=\"tresc_ciemna\">";
  63. echo $row['info_dod'];
  64. echo "</td>";
  65. echo " </tr>";
  66. echo " <tr>";
  67. echo " <td width=\"85\" align=\"left\" valign=\"top\" class=\"tresc_pomaranczGruba\">Opis minimalny:</td>";
  68. echo " <td colspan=\"3\" align=\"left\" valign=\"top\" class=\"tresc_ciemna\">";
  69. echo $row['opis_min'];
  70. echo "</td>";
  71. echo " </tr>";
  72. echo "</table>";
  73. echo "</fieldset>";
  74. $id = $row['id'];
  75. }
  76. mysql_free_result ($rezultat);
  77. }
  78. else
  79. {
  80. echo '<br /><br /><font color="#FF0000"><center>Nie mozna polaczyc sie z baza danych!<br /> Prawdopodobnie jest przeciazona.</center></font>';
  81. }
  82. ?>
  83. </p> </td>
  84. </tr>
  85.  
  86.  
  87. <tr>
  88. <td height="3" colspan="0" align="left" valign="top"></td>
  89. </tr>
  90. </table>



Problem jest taki, ze nie wiem jak zrobić formularz (taki jak pierwszy), który po kliknięciu w "EDYTUJ" pobierze zmienna $id, przeniesie sie na strone edycyjną, wypełni pola danymi z bazy. Ja już nie wiem co mam zrobić...
Jeśli jest to glupie - a domyslam sie ze jest to banalnie proste - to wybaczcie, dla mnie php/mysql to czarna magia.
Z gory dziekuje za pomoc.
Void
Zrób sobie plik edit.php, który będzie wyglądał prawie identycznie jak ten z dodawaniem danych. I teraz do tego pliku musisz jakoś przekazać informację o tym, który rekord w bazie należy edytować. Najlepiej przekazać te dane w adresie (metoda GET), czyli w tym linku przy wyświetlaniu listy sympozjów piszesz coś takiego:
  1. echo '<fieldset><legend>[<a href="edit.php?id=' . $row['id'] . ">EDYTUJ</a>.....';
Tutaj podałem $row['id'], wpiszesz tam taką nazwę kolumny, jaką używasz w tabeli jako klucza głównego.

No i w pliku edit.php odbierasz te dane, będą zapisane w zmiennej superglobalne $_GET['id']. Sprawdzasz więc funkcją isset, czy istnieje parametr $_GET['id'], jeśli tak to pobierasz dane konkretnego sympozjum (zapytanie SQL i klauzula WHERE) i wpisujesz ich wartość do atrybutu value odpowiednich pól formularza. Dalej to już tak jak przy dodawaniu danych.
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.