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

    Formula per related tags con PHP e MySQL

    Ciao, volevo implementare una nuova funzionalità su un mio progetto ma oggi proprio non riesco a ragionare lucidamente (;-)) e non trovo aiuto nemmeno da Google... Eppure quello che voglio fare mi sembra una cosa abbastanza comune.

    In pratica, diciamo che ho un database MySQL come l'esempio seguente:

    Codice PHP:
    ID        Title        Related tags
    -----------------------------------------------------
    469        Titolo1     web javascript jquery ajax
    463        Titolo2     web javascript ajax prototype
    457        Titolo3    web slideshows images
    451        Titolo4    web ajax
    ... 
    Vorrei semplicemente ottenere con una formula PHP/MySQL i 3 tags più popolari della lista (nell'esempio sarebbero 'web', 'javascript' e 'ajax'). Avete idea di come raggiungere l'obiettivo nel modo migliore?

    Vi ringrazio anticipatamente per i vostri suggerimenti.
    IN OMNIA PERICVLA TASTA TESTICVLA

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Una volta fatta la query usi explode() per accodare via via gli elementi ad un array, con array_count_values() conti le occorrenze, con arsort() ordini l'array in maniera decrescente e infine con array_slice() estrai i primi 3 valori.

  3. #3
    Io farei una tabella apposta per i tags, invece di mettere valori multipli in un solo campo.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da k.b
    Io farei una tabella apposta per i tags, invece di mettere valori multipli in un solo campo.
    Soluzione sicuramente più corretta.

  5. #5
    Vi ringrazio. In verità non posso mettere mano alla procedura che genera il db, altrimenti sarebbe tutto più semplice facendo come dite e dunque mettendo i tags in una tabella separata. La mia domanda nasce proprio dalla necessità di tenere i dati come nel mio esempio. Credo che l'idea di nicola75ss dovrebbe fare al caso mio.

    Grazie
    IN OMNIA PERICVLA TASTA TESTICVLA

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.