Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    13

    visualizzare risultati ricerca dopo form nella stessa pagina e mantenimento filtri

    ciao a tutti,
    vi espongo il problema. Ho una pagina php (visKSP.php) nella quale è presente una form con 4 campi tutti di tipo combobox prepolati con query sul db. Vorrei che al submit della form i risultati della query siano visualizzati nella stessa pagina appena sotto la form stessa e ci sono riuscito però non riesco a mantenere i valori nelle combo utilizzati prima per la ricerca perchè in sostanza faccio un reload della stessa pagina. come si fa ?
    Praticamente per la visualizzazione ho fatto così:
    print("<form method=\"post\" action=\"visKSP.php?cerca=ok\" name=\"visKSP\">");
    [..]
    print("</form>");
    if ( isset($_GET['cerca']) && $_GET['cerca']=='ok'){
    //echo $_REQUEST;
    require_once('ricercaKSP.php');
    }
    rimane il problema che i combobx si ripuliscono.
    grazie a tutti per l'aiuto.
    ciao
    geko66

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Come passi $_POST['cerca'] avrai quello che corrisponde alle checkbox o quel che e'.

    Se hai per esempio:
    <input type="checkbox" name="test" value="1">

    Su submit avrai $_POST['test'] e quindi:

    <input type="checkbox" name="test" value="1" <php if($_POST['test']){echo 'checked="checked"' }?> >

    Cosi come per i value delgli input text e via dicendo

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    13
    ciao m4rko80,
    grazie per la risposta.
    Purtroppo $_POST è vuoto in quel momento quando richiamo la stessa pagina in questo modo visKSP.php?cerca='ok', più avanti nel codice dello script faccio un controllo, se verificata la presenza di cerca='ok' in $_GET faccio una require_once di ricercaKSP.php, un'altra pagina php, che fa la ricerca vera e propria con i valori veri e propri sul db passati dalla pagina chiamante (visKSP.php) e che si occupa di gestire i risultati che sono poi visualizzati nella pagina della form tramite l'inclusione con il require_once.
    spero di essere stato chiaro.

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Non avevo capito bene il passaggio dei dati comunque sia get o post una volta inviato il form i dati li hai. Se non riesci a portarteli dietro cosi' li puoi mettere in sessione e gestisci l'eliminazione quando vuoi tu, ad esempio a fine ricerca o cambio pagina.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    13
    ho risolto inserendo codice di questo tipo per la gestione dei campi di ricerca che sono tutti di tipo combox prepopolati:
    [..]
    $areatesting = "select distinct AREA_TESTING from KPI_SISTEMI order by AREA_TESTING";
    $resareatesting = mysql_query($areatesting) or die("<h3>Errore durante la select delle AREA_TESTING

    ". mysql_error());
    [..]
    <form method="post" action="visKSP.php?cerca=ok" name="visKSP">
    <table align="center" width="80%" height="90" border="0" cellpadding="4" cellspacing="0">
    <td align="left">AREA :
    </td>
    <td align="left">
    <select name="areatesting" size="1">

    <option></option>
    <?php
    while (($row = mysql_fetch_object($resareatesting))){?>
    <option value="<?=$row->AREA_TESTING?>"<?php if($_POST['areatesting']==$row->AREA_TESTING){?> selected="selected"<?php }?>><?=$row->AREA_TESTING?></option>
    <?php
    }?>
    </select>
    </td>
    [...]

    però è rimasto un problema: quando vado a chiamare la pagina nella combo box la prima volta appare un messaggio di Notice: Undefined index in corrispondenza di tutti i combobox e dove c'è la parte <option value="".
    esempio:
    <option value="Business Intelligence"

    Notice: Undefined index: areatesting in C:\xampp\htdocs\kpi\visKSP.php on line 220

    >Business Intelligence</option>

    come posso eliminarlo ?
    grazie in anticipo.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    6

    isset

    prova a inserire un if(isset($_POST['areatesting'])) prima di riempire il box
    ---------------------------

    Ciao da Lingo

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    13
    grazie Lingo70,
    ho risolto con la isset della var postata:
    <option value="<?=$row->AREA_TESTING?>"<?php if ( isset($_POST['areatesting']) && $_POST['areatesting']==$row->AREA_TESTING ){ print("selected=\"selected\""); }?>><?=$row->AREA_TESTING?></option>
    ciao e grazie a tutti ancora

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.