Witam.
Tym razem mam taki oto problemik. Przekazuję metodą $_GET nr id wierszy tabeli do skryptu pdf_del_all.php:
function arrayToString($array){
$i = 0;
$string = '';
foreach ($array as $index => $value ){
if($i != count($array)-1
){ $string .= "$value,";
}else $string .= "$value";
$i++;
}
$string = '['.$string.']';
return $string;
}
$ids[$z['id']] = $z['id'];
$pdfs = arrayToString($ids, 1);
echo "<tr style=\"font-size: 0.9em; font-weight: normal; text-align: right; resize: none;\" bgcolor=$bgcolor>"; 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>"; echo "<td colspan=\"4\">Wszystkich plików: <b>$i<b> </td>"; }
Teraz skrytp pdf_del_all.php powinien usunąć z bazy wskazane wiersze oraz pliki z serwera powiązane przez zapisaną ścieżkę:
if (isset($_GET['id_pdfs'])) {
$delete_id = explode(",", $_GET['id_pdfs']);
{
foreach ($delete_id as $id_d)
{
$sql = "delete FROM tbl_zwykle_2str_pdf WHERE id='$id_d'";
}
}
}
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.
CREATE TABLE IF NOT EXISTS `tbl_zwykle_2str_pdf` (
`id` smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
`pdf_uzytkownik` varchar(30) COLLATE utf8_polish_ci NOT NULL,
`pdf_czas_dodania` time NOT NULL,
`pdf_data_dodania` date NOT NULL,
`pdf_nazwa_pliku` varchar(200) COLLATE utf8_polish_ci NOT NULL,
`pdf_typ_pliku` varchar(100) CHARACTER SET utf8 NOT NULL,
`pdf_rozmiar_pliku` int(9) NOT NULL,
PRIMARY KEY (`id`),
KEY `pdf_uzytkownik` (`pdf_uzytkownik`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=4 ;
Jakaś wskazówka....