ecco lo sapevo , ho fatto una minchiata ,,,,
AHHHHHHHHHHHHHHH
in progettazione db ho diviso le categorie in modo autonomo .
Codice PHP:
-- Struttura della tabella `varie`
--
CREATE TABLE IF NOT EXISTS `varie` (
`idvarie` int(10) NOT NULL AUTO_INCREMENT,
`datavarie` varchar(20) NOT NULL,
`cap_varie` varchar(50) NOT NULL,
`allegato_varie` varchar(100) NOT NULL,
`note` text NOT NULL,
`idextvarie` varchar(10) NOT NULL DEFAULT 'fx39v',
PRIMARY KEY (`idvarie`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Dump dei dati per la tabella `varie`
e cosi per tutte le categorie .
e poi reperibili nella tabella documenti che forse avrei dovuto chiamare categorie:
Codice PHP:
--
-- Struttura della tabella `documenti`
--
CREATE TABLE IF NOT EXISTS `documenti` (
`iddoc` int(10) NOT NULL AUTO_INCREMENT,
`ndoc` int(10) NOT NULL, "iddella categoria"
`tipodoc` varchar(10) NOT NULL,"id ext varie"
PRIMARY KEY (`iddoc`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Forse qui mi sono espresso male a chiamarla documenti
ma è come avere la tabella categorie ,? Giusto ?
Per quanto riguarda l 'upload dei dati , ho usato la funzione random_string ;
nella istruzione della insert che posto ,
Codice PHP:
//funzioni per salvatgaggio VARIO GENERE
function salva_vari(){
$cap_vari=trim($_POST['cap_vari']);
$data_vari=trim($_POST['data_vari']);
if (($cap_vari!="") && ($data_vari!="") AND (is_uploaded_file($_FILES['allegato_vari']['tmp_name'])))
{
$ris=connetti_mysql();
$note_vari=$_POST['note_vari'];
$random_string =$cap_vari."-".random_string(9);
$nomeoriginale = $_FILES['allegato_vari']['name'];
$nomeoriginale= strtolower($nomeoriginale) ;
$exts = split("[/\.]", $nomeoriginale) ;
$n = count($exts)-1;
$exts = $exts[$n];
$nomefinale = "-vari-".$random_string . "." . $exts ;
move_uploaded_file($_FILES['allegato_vari']['tmp_name'], "doc/vari".$_FILES['allegato_vari']['name']);
rename( "doc/vari" . $_FILES['allegato_vari']['name'], "doc/vari" . $nomefinale );
$nomevari="doc/vari".$nomefinale;
// qua controlli se è tutto ok e fai il tuo inserimento o modifica nel DB..
$sql = "INSERT INTO `digitarch`.`vari`
(`idvari`, `datavari`, `cap_vari`, `allegato_vari`, `note`, `idextvari`)
VALUES (NULL, '$data_vari', '$cap_vari', '$nomevari', '$note_vari', 'fx39v')";
mysql_query($sql,$ris);
$sql = mysql_query("SELECT * FROM `vari` order by idvari DESC LIMIT 0, 1");
$res = mysql_fetch_array($sql);
$res1 = $res[0];
$sql1="INSERT INTO `digitarch`.`documenti`(`iddoc`, `ndoc`, `tipodoc`)
VALUES (NULL, '$res1' ,'fx39v') ";
mysql_query($sql1,$ris);
?>
<h3>
<CENTER>DOCUMENTO GENERICO VARIO INSERITO IN MODO CORRETTO [img]file/Ok.png[/img]
[img]file/loading.gif[/img]</CENTER></H3>
<meta http-equiv="refresh" content="1.3 ">
<?
} else {
echo "<BIG> ATTENZIONE COMPILA BENE IL MODULO GENERICO VARIO
[img]./file/articoli.jpg[/img]
</BIG><h4>MANCA QUALCOSA COMPILARE TUTTI I CAMPI !!</H4>
[img]./file/divieto.jpg[/img]";
} }//FINE ISTRUZIONI PER insert vario genere ,
Faccio notarti che nel upload della categoria varia eseguo la prima query in tab vari ,
la seconda , in tab documenti ,
e il caso dell upload , : in questa insert i dati vanno tutti dentro doc/vari
nelle altre insert vanno doc/fatture .. doc/note... e cosi via ,
Forse cosi , può andare bene ,
CMQ si tratta di c.a 100.000 file, documenti , in totale .
Ho calcolato c.a 2 mb per doc (ca.20 fogli scannerizzati in pdf per 1 doc )
Il mio è forse solo un modo per cambiare città e nazione ?