Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250

    estrarre tag da una stringa

    salve a tutti
    ho una tabella articoli con un campo TAG dove sono inseriti i vari tag separati da virgola.

    ESEMPIO.
    ID: 1
    TITOLO: Prova di calcio
    TAG: prova, calcio,

    ID: 2
    TITOLO: Il bello del calcio
    TAG: calcio

    Come faccio ad estrarre tutti i tag singoli (non doppi) di tutta la tabella articoli?
    Ho provato così ma non funziona (penso sia per la virgola che separa i tag)

    Codice PHP:
    $s="SELECT DISTINCT tag FROM $table WHERE attiva='si' ORDER BY data_ins DESC LIMIT 0,10";
            $r=mysql_query($s);
            while($d=mysql_fetch_array($r)){
            ?>
            <?php echo $d[tag]; ?>
            <?php ?>

    Altra cosa.. qualche idea x visualizzare i tag con dimensioni diverse??!?..
    Voi come fate?!?

    grazie x l'aiuto!

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Non puoi farlo da sql, perchè il distinct lo fa su tutto il campo, quindi "calcio, prova" è diverso da "calcio".

    Puoi farlo tramite php:

    codice:
    $s="SELECT DISTINCT tag FROM $table WHERE attiva='si' ORDER BY data_ins DESC LIMIT 0,10";
            $r=mysql_query($s);
            $tags = array();
            while($d=mysql_fetch_array($r)){
               $tags = array_merge($tags, explode(",",$d['tag']));
            }
            $tags = array_unique($tags);
            
            foreach($tags as $tag) {
               echo $tag;
            }
    Probabilmente ti stamperà anche un tag vuoto, perchè nel tuo campo hai "calcio, prova,"
    (l'ultima virgola dovresti evitarla, comunque puoi intercettare la cosa mettendo :

    codice:
    if($tag) {
      echo $tag;
    }
    all'interno del foreach.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    grazie gianiaz!
    Questa cosa non la sapevo..
    ultime 2 dritte..
    1) una volta passato il tag alla pagina di ricerca è giusta la query (WHERE tag LIKE '%$_GET[tag]%') ?
    2) hai qualche idea per variare in random le dimensioni del singolo tag?

    grazie 1000

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da musghs
    grazie gianiaz!
    Questa cosa non la sapevo..
    ultime 2 dritte..
    1) una volta passato il tag alla pagina di ricerca è giusta la query (WHERE tag LIKE '%$_GET[tag]%') ?
    2) hai qualche idea per variare in random le dimensioni del singolo tag?

    grazie 1000
    1) Si
    2) Secondo me non deve essere random, ma dovresti contare quante volte hai usato un determinato tag, e a seconda della popolarità del tag lo mostri in dimensioni più o meno grandi

    Per fare questo dovrai lavorare ancora un po' sull'array.

    Se hai appena iniziato a fare questa cosa, io ti consigliere di mettere i tag in una tabella a parte, e creare un entry per ogni parola, poi leghi le 2 tabelle.

    In questo modo in fase di inserimento puoi controllare se il tag esiste, aggiungi una unità, se
    non esiste lo metti a 1.




  5. #5
    Io cmq qui (WHERE tag LIKE '%$_GET[tag]%') farei qualche controlloni sulla variabile tag...non si sa mai


  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    che controlli faresti scusa?

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.