Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Cambiare ordinamento file

    'sera a tutti,

    Ho realizzato uno script che permette l'upload di file all'interno di un database.
    La descrizione relativa al file viene quindi visualizzata in un'altra pagina. L'ordinamento "normale" dei file corrisponde al loro id: l'ultimo file caricato è l'ultimo a comparire nella lista.
    Ora, io avrei necessità di apportare modifiche a questo ordinamento, per cui potrei trovarmi nella necessità di visualizzare i file in un ordine diverso.
    La domanda è: Si può realizzare una cosa simile in PHP? Se si, come?
    Tenendo conto che la tabella MySQL che contiene i file è strutturata con i seguenti campi:

    id, nome_file, titolo, sezione, tipo_file (sempre application/pdf), dati_file (longblob).

    Grazie anticipatamente a tutti,

    Luca

  2. #2
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    ciao se ho capito bene io farei così:
    Codice PHP:
    if (empty($_GET['order_by'])) $_GET['order_by'] = 'userid';//ordine di visualizza di default
     
    $order_by $_GET['order_by'];

    if (empty(
    $_GET['sort_order'])) {
      
    $_GET['sort_order'] = 'ASC';
      
    $sort_order 'ASC';
    }

    if (
    $_GET['sort_order'] == 'ASC')  {
      
    $sort_order 'DESC';
      
    $org_sort_order 'ASC';
    }
      else {
        
    $sort_order =  'ASC';
        
    $org_sort_order 'DESC';








       
    $query "SELECT userid, data FROM $user_tablename ORDER BY 
                                      
    $_GET[order_by] $_GET[sort_order]";
       
       
    $result mysql_query($query);   
       if(!
    $resulterror_message(sql_error());
    ?> 
    nei nomi dei campi sche scrivi nella tabella inserisci i collegamenti x ordinare i campi
    TABLE BORDER="1" WIDTH="90%" CELLPADDING="2">
    <TR>
    <TH WIDTH="25%" NOWRAP>
    <A HREF="<?php echo "$PHP_SELF?action=list_records&sort_order=$sort_or der&order_by=userid"; ?>">
    Userid
    </A>
    </TH>
    <TH WIDTH="25%" NOWRAP>
    <A HREF="<?php echo "$PHP_SELF?action=list_records&sort_order=$sort_or der&order_by=titolo"; ?>">
    Data
    </A>
    </TH>
    <TH WIDTH="25%" NOWRAP>Azioni</TH>
    </TR>

  3. #3
    Grazie per la risposta.

    Il mio problema però sta nel fatto che non dovrei limitarmi a cambiare l'ordine dei record in base alle intestazioni di colonna (id, nome file, ecc.), ma potrei trovarmi nella necessità di attribuire a determinati record ordini assolutamente diversi.
    Ad esempio, se all'id 1 corrisponde Tizio, all'id 2 Caio, all'id3 Sempronio e all'id 4 Mevio, se ho ben capito la soluzione che prospettavi tu io potrei ordinare i dati in base all'id o al nome.
    Potrei però avere necessità di collocare i dati in un ordine diverso, ad esempio primo Caio, secondo Mevio, ecc., cioè un ordine che non è nè alfabetico nè di id.
    Fantascienza???

    Grazie, buon fine settimana a tutti,

    Luca

  4. #4
    up

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    no, devi solo scrivere le query giuste. gli ordinamenti banali sono per id, per nome, per titolo_sezione. Gli altri ordinamenti possono essere creati anche dagli altri dati di cui non disponiamo, per esempio, da chi ha effettuato l'upload, se per esempio avessi progettato una tabella users e una tabella users_uploads con gli id degli user e relativi id degli uploads effettuati. PEr data di upload, se avessi messo un campo date nel database relativo ai file... oppure in mille altri modi (utilizzando substring, lunghezza del nome del file e quant'altro ti possa venire in mente).

    Ti consiglio una lettura di una guida che tratti delle funzioni relative alle stringhe, alle date, order by, join tanto per cominciare (cerca qui su html.it e sul sito di mysql)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.