Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][$_GET] multiple rows delete
hettmix
post 7.01.2013, 19:35:52
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 10.03.2012

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


Witam.

Tym razem mam taki oto problemik. Przekazuję metodą $_GET nr id wierszy tabeli do skryptu pdf_del_all.php:
  1. function arrayToString($array){
  2. $i = 0;
  3. $string = '';
  4.  
  5. foreach ($array as $index => $value ){
  6. if($i != count($array)-1){
  7. $string .= "$value,";
  8. }else $string .= "$value";
  9. $i++;
  10. }
  11.  
  12. $string = '['.$string.']';
  13. return $string;
  14. }
  15.  
  16. while ($z = mysql_fetch_assoc($wynik)) {
  17.  
  18. $ids[$z['id']] = $z['id'];
  19. $pdfs = arrayToString($ids, 1);
  20.  
  21. echo "<table>";
  22. echo "<tr style=\"font-size: 0.9em; font-weight: normal; text-align: right; resize: none;\" bgcolor=$bgcolor>";
  23. echo "<td colspan=\"2\"><a id=\"confirm_button\" style=\"text-decoration: none; text-align: right;\" href='pdf_del_all.php?id_pdfs=$pdfs' onclick=\"return confirmDeleteAll(this);\"><img src='/modules/mod_zbiorczy_pdf/images/x.png' border=0>wszystkie</a></td>";
  24. echo "<td colspan=\"4\">Wszystkich plików:&nbsp;<b>$i<b>&nbsp;&nbsp;</td>";
  25. echo "</tr>";
  26. echo "</table>";
  27. }

Teraz skrytp pdf_del_all.php powinien usunąć z bazy wskazane wiersze oraz pliki z serwera powiązane przez zapisaną ścieżkę:
  1. if (isset($_GET['id_pdfs'])) {
  2.  
  3. $delete_id = explode(",", $_GET['id_pdfs']);
  4. $id = count($delete_id);
  5.  
  6. if (count($id) > 0)
  7. {
  8. foreach ($delete_id as $id_d)
  9. {
  10. $sql = "delete FROM tbl_zwykle_2str_pdf WHERE id='$id_d'";
  11. $delete = mysql_query($sql) or die('Błąd zapytania delete');
  12. }
  13. }
  14. }

Puki co skrypt usuwa z bazy wiersze lecz nie wszystkie - pozostaje jeden wiersz mimo że print_r($id_d) pokazuje wszystkie wiersze będące w tabeli.
Nie wiem też jak pobrać z bazy ścieżkę do pliku, a następnie usunąć go z serwera.
  1. CREATE TABLE IF NOT EXISTS `tbl_zwykle_2str_pdf` (
  2. `id` smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `pdf_uzytkownik` varchar(30) COLLATE utf8_polish_ci NOT NULL,
  4. `pdf_czas_dodania` time NOT NULL,
  5. `pdf_data_dodania` date NOT NULL,
  6. `pdf_nazwa_pliku` varchar(200) COLLATE utf8_polish_ci NOT NULL,
  7. `pdf_typ_pliku` varchar(100) CHARACTER SET utf8 NOT NULL,
  8. `pdf_rozmiar_pliku` int(9) NOT NULL,
  9. PRIMARY KEY (`id`),
  10. KEY `pdf_uzytkownik` (`pdf_uzytkownik`)
  11. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=4 ;

Jakaś wskazówka....
Go to the top of the page
+Quote Post

Posty w temacie


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: 21.06.2025 - 14:04