Visualizzazione risultati 1 fino 2 di 2

Discussione: Tener conto dello stato e della scadenza del documento per la stampa... come?

  1. #1
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito Tener conto dello stato e della scadenza del documento per la stampa... come?

    Buon 2011 a tutti!!!

    Stavo rivedendo durante le pause dalle abbuffate il codice di una mia pagina.
    Questa pagina stampa i record in base alla data di scadenza (e poi in base all'id).
    In pratica vengono visualizzate per prima i record con le date di scadenza più prossime alla data del sistema:

    Codice PHP:
    .............

    $query = "SELECT scadenze.*, denominazione,
    date_format(datascad, '%d/%m/%Y') as data_scad FROM scadenze
    INNER JOIN fornitori
    ON scadenze.fornitore = fornitori.id
    ORDER BY datascad, scadenze.id LIMIT
    $from, $max_results";

    ...............
    e bla bla bla con while e l'echo per la stampa.
    Tutto ok! Funziona tutto a dovere.
    Mi sono posto un problema però.

    Quando l'utente regola la scadenza (ho fatto in modo che possa modificare lo stato della scadenza del documento rispettivamente con 0 (in corso) e 1 (pagato) come valori in un campo del db relativo al record),
    questa comunque rimane nelle posizioni iniziali (anche se serve a poco visualizzarla adesso dopo il pagamento, il record è sempre stampato in ordine di data) nella pagina stampata.

    Vorrei fare in modo però che quando il record (documento) ha come valore 1 (pagato) questo venga stampato nella paginazione dei dati dopo (seguendo sempre un certo ordine ovviamente) quelli che ancora hanno come stato 0 (in corso cioè non pagato ancora).

    Cosa dovrei fare? Sembra una bella rogna. Qualcuno ha un'idea geniale per risolvere la faccenda?

    Grazie
    Ultima modifica di gianlucaweb : 01-01-2011 alle ore 15.32.10

  2. #2
    Guest

    Talking

    in pratica,se ho ben capito tu vorresti che la pagina mostri i record della tabella ordinandoli sia in base alla data che in base al valore boleano che mette l'utenre,giusto?una voltami capitò lo stesso problema con una classifica(dovevo stampare i valore in base a punti e diff.reti) e,dopo aver bestemmiato in tutte le lingue del mondo mi accorsi che con una piccola stringa si risolveva tutto!
    in pratica,devi eseguire questa query prima di quella classica per estrarre gli elementi(cioè select * from. etc etc...):
    Codice PHP:
    mysql_query("ALTER TABLE `NomeTabella` ORDER BY `CAMPODATA`, `CAMPOdelVALOREBOLEANO`")
    quindi inserisci la query per estrarre i valori,senza specificarne l'ordine però:
    Codice PHP:
    $query="select * from NOMETABELLA";
    mysql_query($query);
    . . . . .
    in questo modo la prima stringa ti ordina la tabella in modo che sia e resti sempre ordinata in base alla data e al valore boleano(infatti se la vedi in phpmyadmin viene visualizzata in quest'ordine) e poi l'altra sintassi te la estrae senza problemi così com'è senza ordinarla(e' gia ordinata!)

    P.s.:se per caso ti si visualizza nel'ordine sbagliato crescente invece che decrescente devi mettere alla fine dell'alter table il valore "DESC".

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •