Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875

    Ordinare per prezzo, ma dopo aver fatto la prima ricerca

    Ciao a tutti
    da un modulo finisco nella pagina di ricerca da dove poi estratto i record in base alla data cercata.
    Sempre nella pagina di ricerca ho inserito 2 link che ordinano per prezzo piu' alto e prezzo più basso.

    A questo punto vi chiedo, quando clicco sul link e finirò nella stessa pagina, dovrò rifare totalmente la query o posso aggiungere il solo valore della variabile settato in get?
    La variabile per ordinare l'ho chiamata orderby, me la porto con get e se e' 1 ordina per prezzo piu' basso, se e' 2 mi ordina per quello piu' alto, questa e' la mia query momentanea:

    Codice PHP:
    $query_offerte="SELECT id_offerta, titolo, DATE_FORMAT(valida_da, '%d/%m/%Y') AS valida_da_ita, DATE_FORMAT(valida_fino, '%d/%m/%Y') AS valida_fino_ita, minimo_notti, prezzo, prezzo_come, trattamento, id_albergo, mezzo_di_trasporto FROM tbl_offerte WHERE valida_da >= DATE_ADD('$arrivo', INTERVAL -2 DAY) AND valida_da <= DATE_ADD('$arrivo', INTERVAL +2 DAY) ";

    if(
    $durata=="1"){
    $query_offerte .= "";
    }
    if(
    $durata=="2"){
    $query_offerte .= " and prezzo_come <= 5";
    }
    if(
    $durata=="3"){
    $query_offerte .= " and prezzo_come >= 6 and prezzo_come <9";
    }
    if(
    $durata=="4"){
    $query_offerte .= " and prezzo_come >9";
    }
    //ordino i risultati
    $query_offerte .= " ORDER by valida_da"

  2. #2
    Utente di HTML.it L'avatar di sgogghy
    Registrato dal
    Sep 2010
    Messaggi
    237
    Potresti mettere la query dentro a ogni condizione, in questo modo a seconda del valore della variabile avrai una query differente che ti preleva dati in modo differente, no?

  3. #3
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    per non appesantire troppo il database, vorrei far fare meno "calcoli" allo script.

    Un'altra soluzione?
    Stavo provando anche a mettere il risultato della query in un array, ma poi cliccando il link non so come generare il nuovo ordinamento

  4. #4
    Utente di HTML.it L'avatar di sgogghy
    Registrato dal
    Sep 2010
    Messaggi
    237
    Come appesantire il database? Se c'è una query in ogni condizione (e hai 4 condizioni), non vengono eseguite tutte e 4 ma solo una alla volta, cioè in base a quale condizione ci troviamo.

  5. #5
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    ho risolto mettendo tutto in un array in modo da dover concatenare la query solo per l'ordinamento

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.