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

    mostrare il range di date più richiesto inserito in un database

    Salve a tutti


    da qualche settimana sto tracciando le ricerche che fanno su un mio sito di vacanze inserendo le date di arrivo e partenza che gli utenti inseriscono nel modulo di ricerca.


    Nel pannello di controllo vorrei poter raggruppare queste date mettendo un numeretto affianco che indica il numero di volte che è stata cercato quel range di date, qualcosa tipo:


    09/08/2020 - 16/08/2020 (30)
    16/08/2020 - 23/08/2020 (22)
    05/08/2020 - 08/08/2020 (5)
    ecc


    In questo modo riesco a capire meglio quali sono le date piu' cercate dagli utenti in modo da poter fare qualche azione di marketing, ma anche per capire la media del numero di notti che la clientela vorrebbe effettuare


    Ho un database mysql chiamato "ricerche" con i campi id_ricerca, arrivo, partenza
    Come potrei estrarre i dati nel modo da ordinarli nel modo che dico io?
    Grazie

  2. #2
    Con una COUNT() e GROUP BY(), mettendo nella group by la concatenazione di data arrivo e partenza

  3. #3
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    mmm come dovrei fare una count()?

    Ho provato cosi' ma mi da errore

    codice:
    $query="SELECT arrivo, partenza, COUNT(range_date) FROM ricerche GROUP BY range_date";
    $result = $conn->query($query);
    while($riga = $result->fetch_assoc()) {
    $id_ricerca = $riga["id_ricerca"];
    $arrivo = $riga["arrivo"];
    $partenza = $riga["partenza"];
    }

  4. #4
    non capisco la domanda: non sai come si scrive una COUNT..GROUP BY in generale?

  5. #5
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    si, non ho mai fatto un count, quindi non saprei
    Ho visto un esempio online pero' non è fatto su 2 campi come nel mio caso

    il group by invece l'ho utilizzato spesso ma, ma anche in questo caso per 1 campo solamente, mai per 2 (arrivo e partenza)

  6. #6
    sia nella SELECT che nella GROUP BY devi concatenare le date in un modo tipo il seguente

    codice:
    CONCAT(CAST(`arrivo` AS CHAR),' - ',CAST(`partenza` AS CHAR))

  7. #7
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    perdonami, ma il count non devo metterlo piu'?

    codice:
    $query="SELECT CONCAT(CAST('arrivo' AS CHAR),' - ',CAST('partenza' AS CHAR)) FROM ricerche GROUP BY CHAR";

  8. #8
    Ti ho detto di toglierlo? Se non lo metti come fai a contare i record? Perché nella group by non ripeti la concat come ti ho detto?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.