Visualizzazione dei risultati da 1 a 5 su 5

Discussione: filtro con foreach

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    filtro con foreach

    Qualche idea come mai il seguente codice usato in una select mi da questo errore "Invalid argument supplied for foreach()"

    codice:
    foreach ($_GET['typ'] as $filtro) { 
    $query = "SELECT * FROM tabella WHERE 1=1 AND $filtro"; 
    }
    echo $query;
    Grazie

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    $_GET['typ'] nn è un array forse la variabile era type.. nn saprei.. controlla e proteggi il ciclo così..

    Codice PHP:
    if (is_array($_GET['typ']))
    foreach (
    $_GET['typ'] as $filtro) { 
    $query "SELECT * FROM tabella WHERE 1=1 AND $filtro"
    }
    echo 
    $query
    poi per come hai impostato il codice leggi solo l'ultima query, naturalmente se vuoi visualizzarle tutte devi mettere la echo nel foreach...

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie, ho risolto così:

    codice:
    foreach ($_POST['typ'] as $value) {
    $filter .= " AND campo = $value";
    }
    Per raggiungere la perfezione, come posso dopo la ricerca fare in modo che la checkbox "typ[]" cliccata resti cliccata (checked)?

    Grazie

  4. #4
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    quindi mancava la variabile giusta.. lascialo il controllo che nn si sa mai..

    all'atto della stampa della form quando devi "sputare fuori" la check box controlli che nn fosse checkata e in tal caso la spunti così:

    codice:
    <input type="checkbox" name="nome" CHECKED>

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie per il controllo, ho capito perchè lasciarlo.

    Per quanto riguarda la checkbox CHECKED dovrei eseguire un controllo sull'array tipo

    codice:
    if($_POST['typ'] = "valore") {echo "checked";}
    .. le opzioni vengono generate da un altra select e farebbe piacere che dopo la ricerca restino selezionate quelle checkbox che sono state cliccate con la ricerca

    Grazie per un suggeriemento

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.