Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przeoczony błąd, coś dla bystrego oka
shpaque
post 27.12.2012, 15:27:07
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam serdecznie, mam pewien problem - jak zwykle pewnie maleńki ale lecę kod już z 20 raz i wciąż nie widzę błędu. Chodzi o to, że w tabeli wyświetla mi wszystkie pozycje tak jak trzeba, ale kiedy biorę "edit" - edytuje mi ostatnią pozycję w tabeli, mimo że id wskazuje prawidłowo...

początek strony:

  1. <?php
  2. $category = $_GET['category'];
  3. $database = './../db/'.$category.'.db';
  4.  
  5. if (!file_exists($database))
  6. {
  7. echo 'Baza danych nie odnaleziona!';
  8. }
  9.  
  10. $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : '';
  11. $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
  12. $fotos = array();
  13. $nosniks = array();
  14. $miejscowoscs = array();
  15. $adress = array();
  16. $stronys = array();
  17. $termins = array();
  18. $statuss = array();
  19. $wynajmujacys = array();
  20. $kwotas = array();
  21. $count = 0;
  22. $kodindex = -1;
  23.  
  24. $items = file($database);
  25. foreach($items as $line)
  26. {
  27. list($foto, $nosnik, $miejscowosc, $adres, $strony, $termin, $status, $wynajmujacy, $kwota) = explode(',', trim($line));
  28. $fotos[$count] = $foto;
  29. $nosniks[$count] = $nosnik;
  30. $miejscowoscs[$count] = $miejscowosc;
  31. $adress[$count] = $adres;
  32. $stronys[$count] = $strony;
  33. $termins[$count] = $termin;
  34. $statuss[$count] = $status;
  35. $wynajmujacys[$count] = $wynajmujacy;
  36. $kwotas[$count] = $kwota;
  37. $kodindex = $count;
  38. $count++;
  39. }
  40.  
  41. if (!empty($action))
  42. {
  43. if ($action == 'delete')
  44. {
  45. if ($kodindex == -1)
  46. {
  47. echo 'Nie odnaleziono wpisu!';
  48. }
  49.  
  50. $file = fopen($database, 'w');
  51. for ($i=0; $i < $count; $i++)
  52. {
  53. if ($i != $kodindex)
  54. {
  55. fwrite($file, $fotos[$i]);
  56. fwrite($file, ',');
  57. fwrite($file, $nosniks[$i]);
  58. fwrite($file, ',');
  59. fwrite($file, $miejscowoscs[$i]);
  60. fwrite($file, ',');
  61. fwrite($file, $adress[$i]);
  62. fwrite($file, ',');
  63. fwrite($file, $stronys[$i]);
  64. fwrite($file, ',');
  65. fwrite($file, $termins[$i]);
  66. fwrite($file, ',');
  67. fwrite($file, $statuss[$i]);
  68. fwrite($file, ',');
  69. fwrite($file, $wynajmujacys[$i]);
  70. fwrite($file, ',');
  71. fwrite($file, $kwotas[$i]);
  72. fwrite($file, "\r\n");
  73. }
  74. }
  75. fclose($file);
  76. header('Location: '.basename(__FILE__)."?category=$category");
  77. }
  78. else
  79. if ($action == 'update')
  80. {
  81. $file = fopen($database, 'w');
  82. for ($i=0; $i < $count; $i++)
  83. {
  84. if ($i == $kodindex)
  85. {
  86. $fotos[$i] = $_POST['foto'];
  87. $nosniks[$i] = $_POST['nosnik'];
  88. $miejscowoscs[$i] = $_POST['miejscowosc'];
  89. $adress[$i] = $_POST['adres'];
  90. $stronys[$i] = $_POST['strony'];
  91. $termins[$i] = $_POST['termin'];
  92. $statuss[$i] = $_POST['status'];
  93. $wynajmujacys[$i] = $_POST['wynajmujacy'];
  94. $kwotas[$i] = $_POST['kwota'];
  95. }
  96. fwrite($file, $fotos[$i]);
  97. fwrite($file, ',');
  98. fwrite($file, $nosniks[$i]);
  99. fwrite($file, ',');
  100. fwrite($file, $miejscowoscs[$i]);
  101. fwrite($file, ',');
  102. fwrite($file, $adress[$i]);
  103. fwrite($file, ',');
  104. fwrite($file, $stronys[$i]);
  105. fwrite($file, ',');
  106. fwrite($file, $termins[$i]);
  107. fwrite($file, ',');
  108. fwrite($file, $statuss[$i]);
  109. fwrite($file, ',');
  110. fwrite($file, $wynajmujacys[$i]);
  111. fwrite($file, ',');
  112. fwrite($file, $kwotas[$i]);
  113. fwrite($file, "\r\n");
  114. }
  115. fclose($file);
  116. header('Location: '.basename(__FILE__)."?category=$category");
  117. }
  118. else
  119. if ($action == 'create')
  120. {
  121. for ($i=0; $i < $count; $i++)
  122.  
  123. $file = fopen($database, 'a');
  124. fwrite($file, $_POST['foto']);
  125. fwrite($file, ',');
  126. fwrite($file, $_POST['nosnik']);
  127. fwrite($file, ',');
  128. fwrite($file, $_POST['miejscowosc']);
  129. fwrite($file, ',');
  130. fwrite($file, $_POST['adres']);
  131. fwrite($file, ',');
  132. fwrite($file, $_POST['strony']);
  133. fwrite($file, ',');
  134. fwrite($file, $_POST['termin']);
  135. fwrite($file, ',');
  136. fwrite($file, $_POST['status']);
  137. fwrite($file, ',');
  138. fwrite($file, $_POST['wynajmujacy']);
  139. fwrite($file, ',');
  140. fwrite($file, $_POST['kwota']);
  141. fwrite($file, "\r\n");
  142. fclose($file);
  143. header('Location: '.basename(__FILE__)."?category=$category");
  144. }
  145. }
  146. ?>


oraz sama tabela:

  1. <?php
  2. if (!empty($action))
  3. {
  4. if (($action == 'edit') || ($action == 'new'))
  5. {
  6. $foto_value = ($kodindex == -1) ? "" : $fotos[$kodindex];
  7. $nosnik_value = ($kodindex == -1) ? "" : $nosniks[$kodindex];
  8. $miejscowosc_value = ($kodindex == -1) ? "" : $miejscowoscs[$kodindex];
  9. $adres_value = ($kodindex == -1) ? "" : $adress[$kodindex];
  10. $strony_value = ($kodindex == -1) ? "" : $stronys[$kodindex];
  11. $termin_value = ($kodindex == -1) ? "" : $termins[$kodindex];
  12. $status_value = ($kodindex == -1) ? "" : $statuss[$kodindex];
  13. $wynajmujacy_value = ($kodindex == -1) ? "" : $wynajmujacys[$kodindex];
  14. $kwota_value = ($kodindex == -1) ? "" : $kwotas[$kodindex];
  15. echo "<center>\n";
  16. echo "<form action=\"" . basename(__FILE__) . "?category=$category"."\" method=\"post\">\n";
  17. echo "<table border=\"0\">\n";
  18. if ($action == 'new')
  19. {
  20. $foto_value = ($kodindex == -1) ? "" : $fotos[$kodindex];
  21. $nosnik_value = ($kodindex == -1) ? "" : $nosniks[$kodindex];
  22. $miejscowosc_value = ($kodindex == -1) ? "" : $miejscowoscs[$kodindex];
  23. $adres_value = ($kodindex == -1) ? "" : $adress[$kodindex];
  24. $strony_value = ($kodindex == -1) ? "" : $stronys[$kodindex];
  25. $termin_value = ($kodindex == -1) ? "" : $termins[$kodindex];
  26. $status_value = ($kodindex == -1) ? "" : $statuss[$kodindex];
  27. $wynajmujacy_value = ($kodindex == -1) ? "" : $wynajmujacys[$kodindex];
  28. $kwota_value = ($kodindex == -1) ? "" : $kwotas[$kodindex];
  29. echo "<center>\n";
  30. echo "<form action=\"" . basename(__FILE__) . "?category=$category"."\" method=\"post\">\n";
  31. echo "<table border=\"0\">\n";
  32.  
  33. echo "<input type=\"hidden\" name=\"action\" value=\"create\">\n";
  34. }
  35. else
  36. {
  37. echo "<input type=\"hidden\" name=\"action\" value=\"update\">\n";
  38. }
  39. echo "<input type=\"hidden\" name=\"id\" value=\"" . $id . "\">\n";
  40. echo "<tr><td>Zdjęcie:</td>\n";
  41. echo "<td><input type=\"text\" size=\"50\" name=\"foto\" value=\"" . $foto_value. "\"></td></tr>\n";
  42. echo "<tr><td>Nośnik:</td>\n";
  43. echo "<td><input type=\"text\" size=\"50\" name=\"nosnik\" value=\"" . $nosnik_value . "\"></td></tr>\n";
  44. echo "<tr><td>Miejscowość:</td>\n";
  45. echo "<td><input type=\"text\" size=\"50\" name=\"miejscowosc\" value=\"" . $miejscowosc_value . "\"></td></tr>\n";
  46. echo "<tr><td>Adres:</td>\n";
  47. echo "<td><input type=\"text\" size=\"50\" name=\"adres\" value=\"" . $adres_value . "\"></td></tr>\n";
  48. echo "<tr><td>Strony:</td>\n";
  49. echo "<td><select name=\"strony\" size=\"1\"><option " . ($strony_value == "0" ? "selected " : "") . "value=\"1\">Nośnik jednostronny</option><option " . ($strony_value == "0" ? "selected " : "") . "value=\"2\">Nośnik dwustronny</option></select></td></tr>\n";
  50. echo "<tr><td>Termin:</td>\n";
  51. echo "<td><input type=\"date\" size=\"50\" name=\"termin\" value=\"" . $termin_value . "\"></td></tr>\n";
  52. echo "<tr><td>Status:</td>\n";
  53. echo "<td><select name=\"status\" size=\"1\"><option " . ($status_value == "0" ? "selected " : "") . "value=\"0\">Wynajęty / zarezerwowany / niedostępny</option><option " . ($status_value == "0" ? "selected " : "") . "value=\"1\">1 ekran do wynajęcia</option><option " . ($status_value == "0" ? "selected " : "") . "value=\"2\">2 ekrany do wynajęcia (billboard dwustronny)</option></select></td></tr>\n";
  54. echo "<tr><td>Wynajmujący:</td>\n";
  55. echo "<td><input type=\"text\" size=\"50\" name=\"wynajmujacy\" value=\"" . $wynajmujacy_value . "\"></td></tr>\n";
  56. echo "<tr><td>Kwota:</td>\n";
  57. echo "<td><input type=\"text\" size=\"50\" name=\"kwota\" value=\"" . $kwota_value . "\"></td></tr>\n";
  58. echo "<tr><td>&nbsp;</td><td align=\"left\"><input type=\"submit\" name=\"cmdSubmit\" value=\"Zapisz\">";
  59. echo "&nbsp;&nbsp;";
  60. echo "<input type=\"reset\" name=\"cmdReset\" value=\"Wyczyść\">&nbsp;&nbsp;";
  61. echo "<input type=\"button\" name=\"cmdBack\" value=\"Cofnij\" onclick=\"location.href='" . basename(__FILE__) . "?category=$category"."'\"></td></tr>\n";
  62. echo "</table>\n";
  63. echo "</form>\n";
  64. echo "</center>\n";
  65. }
  66. }
  67. else
  68. {
  69. echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"2\" border=1px bordercolor=#DDDDDD>\n";
  70. echo "<tr><th>Zdjęcie</th>\n";
  71. echo "<th>Nośnik</th>\n";
  72. echo "<th>Miejscowość</th>\n";
  73. echo "<th>Adres</th>\n";
  74. echo "<th>Strony</th>\n";
  75. echo "<th>Termin</th>\n";
  76. echo "<th>Status</th>\n";
  77. echo "<th>Wynajmujący</th>\n";
  78. echo "<th>Kwota</th>\n";
  79. echo "<th>Akcja</th></tr>\n";
  80.  
  81. for ($i=0; $i < $count; $i++)
  82. {
  83. echo "<tr>\n";
  84. echo "<td><a href='./../db/images/" . $fotos[$i] ."' rel='fancy' title='" . $nosniks[$i] . " - billboard " . $stronys[$i] . "-stronny. " . $miejscowoscs[$i] . ", " . $adress[$i] . "' target='_self'><img height='70px' width='realtive' src='./../db/images/" . $fotos[$i] . "'></a></td>\n";
  85. echo "<td>" . $nosniks[$i] . "</td>\n";
  86. echo "<td>" . $miejscowoscs[$i] . "</td>\n";
  87. echo "<td>" . $adress[$i] . "</td>\n";
  88. echo "<td>" . $stronys[$i] . "</td>\n";
  89. echo "<td>" . $termins[$i] . "</td>\n";
  90. echo "<td>" . ($statuss[$i] == "0" ? "<red>Wynajęty</red>" : "do wynajęcia") . "</td>\n";
  91. echo "<td>" . $wynajmujacys[$i] . "</td>\n";
  92. echo "<td>" . $kwotas[$i] . "</td>\n";
  93. echo "<td>\n";
  94. echo " <a href=\"" . basename(__FILE__) . "?category=$category&action=edit&id=" . $nosniks[$i] . "\" class='link'>Edytuj</a> | \n";
  95. echo " <a href=\"" . basename(__FILE__) . "?category=$category&action=delete&id=" . $nosniks[$i] . "\" class='link'>Usuń</a>\n";
  96. echo "</td>\n";
  97. echo "</tr>\n";
  98. }
  99. echo "</table>\n";
  100. }
  101. ?>


z góry dziękuję za zainteresowanie
Go to the top of the page
+Quote Post
bigZbig
post 27.12.2012, 16:59:17
Post #2





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Nie wiem co ten skrypt robi ale zauważyłem, że oprócz pobrania id z REQUESTA i wstawienia go do hiddena to do niczego nie służy.


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
shpaque
post 27.12.2012, 18:24:38
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


już mam brakowało głupiego wpisu:

  1. if ($id == $nosnik)
  2. {
  3. $kodindex = $count;
  4. }



teraz pozostałą jeszcze jedna prosta kwestia...

jak zrobić żeby w prezypadku value = 0 wyświetlał: "Wynajęty", przy value = 1 - "1 wolna" i przy value = 2 - "2 wolne"

  1. " . ($statuss[$i] == "0" ? "<red>Wynajęty</red>" : "do wynajęcia") . "</td>\n";


# edit


dzięki za zainteresowanie - doszedłem smile.gif

chodziło mi o to:

  1. " . ($statuss[$i] == "0" ? "<red>Wynajęty</red>" : "") . " " . ($statuss[$i] == "1" ? "1 wolny" : "") . " " . ($statuss[$i] == "2" ? "2 wolne" : "") . "</td>\n";
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 Wersja Lo-Fi Aktualny czas: 27.04.2024 - 19:39