Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727

    creare un ORDER BY speciale...

    ciao a tutti, vediamo se riesco a spiegarmi....
    ho una normalissima SELECT che mi pubblica su una pagina web tutti gli articoli di una determinata categoria-->
    select * from tabella where categoria like 'accessori'
    questi articoli sono tantissimi e viene fuori una pagina piuttosto lunga da scorrere...
    sarebbe utile se si riuscisse a fare una ORDER BY o qualcosa di simile che mi permettesse di ordinarli in base alla sottocategoria cliccando su un link... mi spiego con un esempio:

    "clicca qui per visualizzare in cima alla pagina gli accessori campeggio"
    e cliccando sul link continuano a vedersi tutti gli articoli di prima ma ordinati con -->
    where categoria like 'accessori' and sottocategoria like 'campeggio'

    si può fare? lo chiedo perchè il sort by ordina solo in base ai campi del db e non permette una WHERE, no?

  2. #2
    puoi filtrare i dati e poi ordinarli (anche se non ho capito il tuo order by come dovrebbe essere), una cosa del tipo
    codice:
    select * from articolo where categoria like 'accessori' and sottocategoria like 'campeggio' order by ??qualcosa??
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    grazie per la risposta ma non è quello che mi serve, ecco la pagina incriminata
    http://www.ilgiramondo.it/accessori_viaggio.php
    vedete che in testa ci sono 2 link--> ORDINA PER NOME - ORDINA PER PREZZO CRESCENTE
    bene, vorrei aggiungerne altri del tipo: ordina per cuscini da viaggio, ordina per asciugamani microfibra, ordina per borse termiche, ordina per accendini antivento
    ma in questi casi COME va costruito il codice?
    con ordina per nome è semplice: order by nome ASC
    con ordina per cuscini da viaggio... cuscini è una sottocategoria di accessori se metto una where lui mi fa vedere SOLO i cuscini invece io voglio vedere sempre tutti gli articoli ma i cuscini in testa alla pagina!

  4. #4
    scusa ma che vorrebbe dire ordinare solo per una sottocategoria? che metti prima la sottocategoria e poi tutto il resto? mi pare proprio che non abbia senso scusa. "Filtra" per categoria e "ordina" per nome/prezzo. Altrimenti dovresti fare una query del tipo

    codice:
    select * from articoli where categoria="cuscini" order by name
    union
    select * from articoli where categoria!="cuscini" order by name
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    [QUOTE=Santino83_02;25352360]scusa ma che vorrebbe dire ordinare solo per una sottocategoria? che metti prima la sottocategoria e poi tutto il resto?

    sì pensavo proprio quello
    le sotto categorie sono troppe, non va bene fare una pagina per ognuna
    quindi pensavo di lasciare tutti gli articoli in una sola pagina e di riuscire ad "innalzare" nelle prime righe della pagina la sottocategoria che uno vuole cliccando sopra ad un link
    se pò fà?

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    posta la struttura del database
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    ha una sola tabella con i seguenti campi:
    id - categoria - sottocategoria - titolo - prezzo - spedizione - foto ecc

  8. #8
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    secondo me dovresti usare le paginazione....è impensabile mostrare tutto in una pagina. ad ogni modo devi capire bene cosa fare:

    vuoi un filtro su sottocategoria o vuoi un ordinamento per sottocategoria? o entrambi?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    grazie per la risposta
    io sceglierei ordinamento per sottocategoria...
    ma si può fare?

  10. #10
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da theseo Visualizza il messaggio
    grazie per la risposta
    io sceglierei ordinamento per sottocategoria...
    ma si può fare?
    certo. la prima cosa recuperi tutte le sottocategorie dalla tabella

    Codice PHP:
    select sottocategoria from tuatabella
    poi passi la sottocategoria all'url &sub=qualcosa

    poi usi la query del tipo

    codice:
    select *, case WHEN subcategoria = 'valorequerystringfiltrato' THEN 1 else 0 end as ord ORDER BY ord DESC
    in pratica usi il costrutto case when per aggiungere un campo fittizio sul quale si base l'ordinamento.

    bada che non ho provato la query e che valorequerystringfiltrato va filtrato e pulito . se sub è vuoto invece esegui una query normale....

    fai sapere se risolvi
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.