Find sidste indsat i databasen
Hej.Jeg har lavet en lille upload-side, hvorpå jeg vil dele tekstdokumenter med mine venner. Til selve upload delen benytter jeg JAVA appletten, JumpLoader.
Filerne vises i en liste sorteret efter nyeste øverst. Jeg vil gerne, at hvis brugeren uploader mere end én fil adgangen, vises resten som tilhørende første fil. Altså som "underpunkter". Dette forestiller jeg mig at gøre ved at tildele resten af filerne den førstes ID. Resten ordnes under udskrivning.
Det er mig et problem at hive den førstes ID ud. Den opfører sig, som har den ingen værdi.
Systemet kan ses på http://drop.mbftp.dk/
Koden jeg benytter er:
$last_sub = 0;
for( $i = 0; $all_in_place && $i < $partition_count; $i++ ) {
//
// read partition file
$partition_file = $stage_dir . $client_id . "." . $file_id . "." . $i;
$partition_file_handle = fopen( $partition_file, "rb" );
$contents = fread( $partition_file_handle, filesize( $partition_file ) );
$set_tod = time()+(14*24*3600);
if($i == 0)
mysql_query("INSERT INTO drops SET file = '$file_name', tod = '$set_tod', ip = '$ip', host = '$host'");
$last_sub = mysql_insert_id();
}
else {
mysql_query("INSERT INTO drops SET file = '$file_name', tod = '$set_tod', sub = '$last_sub', ip = '$ip', host = '$host'");
}
fclose( $partition_file_handle );
//
// write to reconstruct file
fwrite( $file_handle, $contents );
//
// remove partition file
unlink( $partition_file );
}
"sub" feltet er sat til typen INT og får automatisk værdien 0, hvis ikke den er sat via scriptet. Er den ikke sat i scriptet, er der altså også kun uploadet én fil.
På forhånd tak.
Simon B. Støvring
