Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96

    da campo testo a parole separate

    ciao, ho un campo testo "metatag" dove all'interno vengono scritte tutte le parole chiave in questo modo:

    burberry, burberry brit milano, milano, flagship store, flagship store burberry, burberry milano, christopher bailey, chief burberry

    come posso con una query separarli come se fossero tanti record separati, levando anche la virgola?
    Ad esempio in questo modo:

    burberry
    burberry brit milano
    milano
    flagship store
    flagship store burberry
    burberry milano
    christopher bailey
    chief burberry

  2. #2
    Usa la funzione explode()

    Codice PHP:
    $words explode(", "$metatag); 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Usa la funzione explode()

    Codice PHP:
    $words explode(", "$metatag); 
    Grazie satifal,
    ma in questo modo ottengo solo una variabile, a me invece servirebbe avere i metatag separati perchè ognuno deve essere inserito in un pulsante con link

  4. #4
    Quote Originariamente inviata da pablos Visualizza il messaggio
    Grazie satifal,
    ma in questo modo ottengo solo una variabile, a me invece servirebbe avere i metatag separati perchè ognuno deve essere inserito in un pulsante con link
    Magari la buona volontà di leggere i link proposti!!!
    $words è un array contenente le parole!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    Ma nel tuo codice hai un numero di record già definiti (cioè nel tuo esempio sono 5), io invece non so quanti sono i miei record, perchè vengono presi dal db e quindi sono variabili, il tuo codice quindi non andrebbe bene.

    <?php
    //il separatore
    $separatore=",";
    //explode
    $suddivisa=explode($separatore, $metatag_articolo);
    //vediamo il contenuto di $suddivisa
    echo $suddivisa[0];//casa
    echo $suddivisa[1];//albergo
    echo $suddivisa[2];//auto
    echo $suddivisa[3];//bici
    echo $suddivisa[4];//aereo
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    ecco il codice completo:


    <?php
    $sql_articolo = "SELECT c_art_articolo.*, c_art_articolo.contatore AS contatore2, c_art_articolo.testo_articolo AS testo_articolo2, c_art_categoria.*, c_art_sottocategoria.*, c_art_videoarticolo.*,
    DATE_FORMAT(c_art_articolo.data_evento, '%d-%m-%Y') AS data_evento2

    FROM c_art_articolo

    INNER JOIN c_art_categoria
    ON c_art_articolo.id_art_categoria = c_art_categoria.id_art_categoria

    INNER JOIN c_art_sottocategoria
    ON c_art_articolo.id_art_sottocategoria = c_art_sottocategoria.id_art_sottocategoria

    LEFT JOIN c_art_videoarticolo
    ON c_art_articolo.id_art_articolo = c_art_videoarticolo.id_art_articolo

    WHERE c_art_articolo.id_art_articolo = '".$id."'";
    $result_articolo = mysql_query($sql_articolo,$conn) or die (mysql_error());
    $row_articolo = mysql_fetch_array($result_articolo);

    $metatag_articolo = strip_tags($row_articolo['metatag']);
    ?>




    <?php
    //il separatore
    $separatore=",";
    //explode
    $suddivisa=explode($separatore, $metatag_articolo);
    //vediamo il contenuto di $suddivisa
    echo $suddivisa[0];//casa
    echo $suddivisa[1];//albergo
    echo $suddivisa[2];//auto
    echo $suddivisa[3];//bici
    echo $suddivisa[4];//aereo
    ?>

  7. #7
    Quote Originariamente inviata da pablos Visualizza il messaggio
    Ma nel tuo codice hai un numero di record già definiti (cioè nel tuo esempio sono 5)
    Non capisco di cosa tu stia parlando!?



    Quote Originariamente inviata da pablos Visualizza il messaggio
    io invece non so quanti sono i miei record, perchè vengono presi dal db e quindi sono variabili

    E quando lo dici? Mica ho la sfera di cristallo! Tu esponi un problema ed io ti rispondo in base al problema esposto!



    Quote Originariamente inviata da pablos Visualizza il messaggio
    il tuo codice quindi non andrebbe bene.

    Magari con un minimo di iniziativa potresti ciclare sul resultset ed applicare l'explode() al campo metadata di ciascun record.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    96
    Ho risolto in questo modo:


    <?php
    $separa = explode(",", $metatag_articolo);
    for($i=0; $i<count($separa); $i++){
    echo "
    <div class=\"tag-box\">
    <a href=\"pagina.php?id_keyword=$i\">".$separa[$i]."</a>
    </div>
    ";
    }
    ?>

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.