[PHP] elenco delle parole presenti in un campo (senza doppioni)

  • Creatore Discussione Creatore Discussione theseo
  • Data di inizio Data di inizio
mhh... io, anche con la tua tabella, non riscontro quel problema, comunque così dovresti risolverlo:
PHP:
<?php
/* DATI DI ACCESSO AL DATABASE */
define("DB_HOST", "INSERISCI_QUI");
define("DB_USER", "INSERISCI_QUI");
define("DB_PSW", "INSERISCI_QUI");
define("DB_NAME", "INSERISCI_QUI");
$nometabella = "INSERISCI_NOME_DELLA_TABELLA";

$db = mysqli_connect(DB_HOST, DB_USER, DB_PSW, DB_NAME);    //Mi connetto al DB

$elenconomi = array();
$query = "SELECT * FROM $nometabella";
$result = $db->query($query);
while ($resultarray = $result->fetch_assoc()) {
    $nomi = explode(" ", $resultarray['nomi']);
    $nomi = array_map("trim", $nomi);
    $nomi = array_filter($nomi);
    $elenconomi = array_merge($elenconomi, $nomi);
}
$elenconomi = array_unique($elenconomi);
sort($elenconomi);
$elenconomi = rtrim(implode(', ', $elenconomi), ', ');
echo "elenco: ".$elenconomi;
?>
 
allora l'ulteriore richiesta mi è venuta in mente dopo, guardando l'ottimo elenco partorito da quello script...
SE si riuscisse a LINKARE ogni parola dell'elenco verrebbe un utilissimo elenco di link! e per linkare intendo che ogni parola punti ad una pagina (che poi mi gestisco) io portandosi dietro lei stessa come variabile, una roba del tipo-->
<a href="miapagina.php?nome=$nome">nome</a>
è una query string con GET, giusto?
 
certo che si riesce!
semplicemente invece di usare la funzione implode di php, si usa un ciclo foreach, dove la variabile $nome assume ciclicamente un nome diverso, e puoi così effettuare l'input del tag di html con il link personalizzato
lo script diventa così:
PHP:
<?php
/* DATI DI ACCESSO AL DATABASE */
define("DB_HOST", "INSERISCI_QUI");
define("DB_USER", "INSERISCI_QUI");
define("DB_PSW", "INSERISCI_QUI");
define("DB_NAME", "INSERISCI_QUI");
$nometabella = "INSERISCI_NOME_DELLA_TABELLA";

$db = mysqli_connect(DB_HOST, DB_USER, DB_PSW, DB_NAME);    //Mi connetto al DB

$elenconomi = array();
$query = "SELECT * FROM $nometabella";
$result = $db->query($query);
while ($resultarray = $result->fetch_assoc()) {
    $nomi = explode(" ", $resultarray['nomi']);
    $nomi = array_map("trim", $nomi);
    $nomi = array_filter($nomi);
    $elenconomi = array_merge($elenconomi, $nomi);
}
$elenconomi = array_unique($elenconomi);
sort($elenconomi);
$elenco = "";
foreach ($elenconomi AS $nome) {
    $elenco .= "<a href=\"miapagina.php?nome=$nome\">$nome</a>, ";   
}
$elenco = rtrim($elenco, ", ");
echo "elenco: ".$elenco;
?>
Come dicevi te, in questo modo effettui una query GET
 
ahhhh fantasticooooooooooo
caro Livellacri grazie infinite e alla prossima
Livellopizze=1 :-))
 

Discussioni simili