[PHP] ricerca per un campo o per più campi

Lalli

Nuovo Utente
6 Ott 2016
15
0
1
24
Ciao a tutti ragazzi, sono nuovo ed è da poco che mi diletto con il php.

Io avrei bisogno di fare una ricerca per un solo campo o per più campi, ho cercato su questo sito ed ho trovato e provato delle soluzioni che sono state date ad altri utenti, solo che a me non funziona e non riesco a capire perchè, vi provo a postare il codice.
PHP:
<input type="submit" name="btnRicerca" value="ricerca" />
<input type="submit" name="btnVisualizza" value="visualizza tutto" OnClick="" />
<table style="width:100%">
<tr>
    <th> ricerca per filiale <input type="text" name="ricercaF"  /> </th>
    <th> ricerca per ufficio <input type="text" name="ricercaUf" /> </th>
    <th> ricerca per utente <input type="text" name="ricercaUt"  /> </th>
    <th> ricerca per tipo <input type="text" name="ricercaT" /> </th>
    <th> ricerca per marca <input type="text" name="ricercaM"  /> </th>
    <th> ricerca per modello <input type="text" name="ricercaMo" /> </th>
    <th> ricerca per matricola <input type="text" name="ricercaMat"  /> </th>
    <th> ricerca per note <input type="text" name="ricercaN"  /> </th>
    <th> ricerca per DataDDT <input type="text" name="ricercaDa"  />  </th>
    <th> ricerca per DDT <input type="text" name="ricercaD"  />  </th>
    <th> ricerca per fornitore <input type="text" name="ricercaFo" />  </th>
    <th> ricerca per ACQ/NOL <input type="text" name="ricercaA" />  </th>
    <th> ricerca per scadenza <input type="text" name="ricercaS" /> </th>



</tr>

<table style="width:100%">
<tr>
    <th>ID</th>
    <th>Filiale</th>
    <th>Ufficio</th>
    <th>Utente</th>
    <th>Tipo</th>
    <th>Marca</th>
    <th>Modello</th>
    <th>Matricola</th>
    <th>Note</th>
    <th>DataDDT</th>
    <th>DDT</th>
    <th>Fornitore</th>
    <th>ACQNOL</th>
    <th>Scadenza</th>
</tr>
<?php
$user="root";
$pass="";
$dbh = mysql_connect("localhost","root",$pass);
mysql_select_db('hardwarea') or die(mysql_error());
try
{
 
 
    if(isset($_POST['btnVisualizza']))
    {
       
        $stmt = ("Select * from gestione");
        $ris= mysql_query($stmt) or die($stmt."<br/><br/>".mysql_error());
       
        while($rigo=mysql_fetch_array($ris))
        {
   
            $ID = $rigo['ID'];
            $Filiale = $rigo['Filiale'];
            $Ufficio = $rigo['Ufficio'];
            $Utente = $rigo['Utente'];
            $Tipo = $rigo['Tipo'];
            $Marca = $rigo['Marca'];
            $Modello = $rigo['Modello'];
            $Matricola = $rigo['Matricola'];
            $Note = $rigo['Note'];
            $DataDDT = $rigo['DataDDT'];
            $DDT = $rigo['DDT'];
            $Fornitore = $rigo['Fornitore'];
            $ACQNOL = $rigo['ACQNOL'];
            $Scadenza = $rigo['Scadenza'];
            echo" <tr> <td> " . $rigo['ID'] . " </td> <td> " . $rigo['Filiale'] . " </td> <td> " . $rigo['Ufficio'] . " </td> <td> " . $rigo['Utente'] . " </td> <td> " . $rigo['Tipo'] . " </td> <td> " . $rigo['Marca'] . " </td> <td> " . $rigo['Modello'] . " </td> <td> " . $rigo['Matricola'] . " </td> <td> " . $rigo['Note'] . " </td> <td> " . $rigo['DataDDT'] . " </td> <td> " . $rigo['DDT'] . " </td><td> " . $rigo['Fornitore'] . " </td> <td> " . $rigo['ACQNOL'] . " </td> <td> " . $rigo['Scadenza'] . " </tr>";
        }
    }
 
    if(isset($_POST['ricercaF']))
    {
        $ricercaF = $_POST['ricercaF'];
    }
    if(isset($_POST['ricercaUf']))
    {
        $ricercaUf = $_POST['ricercaUf'];
    }
    if(isset($_POST['ricercaUt']))
    {
        $ricercaUt = $_POST['ricercaUt'];
    }
    if(isset($_POST['ricercaT']))
    {
        $ricercaT = $_POST['ricercaT'];
    }
    if(isset($_POST['ricercaM']))
    {
        $ricercaM = $_POST['ricercaM'];
    }
    if(isset($_POST['ricercaMo']))
    {
        $ricercaMo = $_POST['ricercaMo'];
    }
    if(isset($_POST['ricercaMat']))
    {
        $ricercaMat = $_POST['ricercaMat'];
    }
    if(isset($_POST['ricercaN']))
    {
        $ricercaN = $_POST['ricercaN'];
    }
    if(isset($_POST['ricercaDa']))
    {
        $ricercaDa = $_POST['ricercaDa'];
    }
    if(isset($_POST['ricercaD']))
    {
        $ricercaD = $_POST['ricercaD'];
    }
    if(isset($_POST['ricercaFo']))
    {
        $ricercaFo = $_POST['ricercaFo'];
    }
    if(isset($_POST['ricercaA']))
    {
        $ricercaA = $_POST['ricercaA'];
    }
    if(isset($_POST['ricercaS']))
    {
        $ricercaS = $_POST['ricercaS'];
    }
 
    if(isset($_POST['btnRicerca']))
    {
   
        $were=" WHERE ";
        if( $ricercaF != "" )
        {
            $were.="Filiale= '$ricercaF' AND ";
        }
   
        if( $ricercaUf != "" )
        {
            $were.="Ufficio= '$ricercaUf' AND ";
        }
        if( $ricercaUt !="" )
        {
            $were.="Utente= '$ricercaUt' AND ";
        }
        if( $ricercaT !="" )
        {
            $were.="Tipo= '$ricercaT' AND";
        }
        if( $ricercaM !="" )
        {
            $were.="Marca= '$ricercaM' AND";
        }
        if( $ricercaMo !="" )
        {
            $were.="Modello= '$ricercaMo' AND";
        }
        if( $ricercaMat !="" )
        {
            $were.="Matricola= '$ricercaMat' AND";
        }
        if( $ricercaN !="" )
        {
            $were.="Note= '$ricercaN' AND";
        }
        if( $ricercaDa !="" )
        {
            $were.="DataDDT= '$ricercaDa' AND";
        }
        if( $ricercaD !="" )
        {
            $were.="DDT= '$ricercaD' AND";
        }
        if( $ricercaFo !="" )
        {
            $were.="Fornitore= '$ricercaFo' AND";
        }
        if( $ricercaA !="" )
        {
            $were.="ACQNOL= '$ricercaA' AND";
        }
        if( $ricercaS !="" )
        {
            $were.="Scadenza= '$ricercaS' AND";
        }
        $were.=" 1=1";
        $stmt = "SELECT * FROM gestione $were";
        $ris= mysql_query($stmt) or die($stmt."<br/><br/>".mysql_error());
    }
 
 
 
}
catch (PDOException $e)
{
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>
 
Ultima modifica di un moderatore:

Lalli

Nuovo Utente
6 Ott 2016
15
0
1
24
Ho risolto aggiungendo un while in fondo così:
PHP:
while($rigo=mysql_fetch_array($ris))
        {
       
            $ID = $rigo['ID'];
            $Filiale = $rigo['Filiale'];
            $Ufficio = $rigo['Ufficio'];
            $Utente = $rigo['Utente'];
            $Tipo = $rigo['Tipo'];
            $Marca = $rigo['Marca'];
            $Modello = $rigo['Modello'];
            $Matricola = $rigo['Matricola'];
            $Note = $rigo['Note'];
            $DataDDT = $rigo['DataDDT'];
            $DDT = $rigo['DDT'];
            $Fornitore = $rigo['Fornitore'];
            $ACQNOL = $rigo['ACQNOL'];
            $Scadenza = $rigo['Scadenza'];
            echo" <tr> <td> " . $rigo['ID'] . " </td> <td> " . $rigo['Filiale'] . " </td> <td> " . $rigo['Ufficio'] . " </td> <td> " . $rigo['Utente'] . " </td> <td> " . $rigo['Tipo'] . " </td> <td> " . $rigo['Marca'] . " </td> <td> " . $rigo['Modello'] . " </td> <td> " . $rigo['Matricola'] . " </td> <td> " . $rigo['Note'] . " </td> <td> " . $rigo['DataDDT'] . " </td> <td> " . $rigo['DDT'] . " </td><td> " . $rigo['Fornitore'] . " </td> <td> " . $rigo['ACQNOL'] . " </td> <td> " . $rigo['Scadenza'] . " </tr>";
        }
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
visto che stai imparando, alcune cose
a che ti serve scrivere tutta quella pappardella?
o così
PHP:
<?php
//...
while($rigo=mysql_fetch_array($ris)){           
    $ID = $rigo['ID'];
    $Filiale = $rigo['Filiale'];
    //ecc....
    $Scadenza = $rigo['Scadenza'];
    echo" <tr> <td> $ID </td> <td> $Filiale </td> <td> $Ufficio </td> <td> $Utente </td> <td> $Tipo </td> <td> $Marca </td> <td> $Modello </td> <td> $Matricola </td> <td> $Note </td> <td> $DataDDT </td> <td> $DDT </td><td> $Fornitore </td> <td> $ACQNOL </td> <td> $Scadenza </tr>";
}   
//....
?>
o così
PHP:
<?php
//...
while($rigo=mysql_fetch_array($ris)){           
            echo" <tr> <td> " . $rigo['ID'] . " </td> <td> " . $rigo['Filiale'] . " </td> <td> " . $rigo['Ufficio'] . " </td> <td> " . $rigo['Utente'] . " </td> <td> " . $rigo['Tipo'] . " </td> <td> " . $rigo['Marca'] . " </td> <td> " . $rigo['Modello'] . " </td> <td> " . $rigo['Matricola'] . " </td> <td> " . $rigo['Note'] . " </td> <td> " . $rigo['DataDDT'] . " </td> <td> " . $rigo['DDT'] . " </td><td> " . $rigo['Fornitore'] . " </td> <td> " . $rigo['ACQNOL'] . " </td> <td> " . $rigo['Scadenza'] . " </tr>";
}   
//....
?>
poi abbandona le istruzioni mysql deprecate e passa alle nuove mysqli

e una cosa, non fondamentale ma che può evitare errori soprattutto di digitazione, per le variabili e per i nomi dei campi usa caratteri minuscoli, inoltre è convenzione riservare le variabili tutte maiuscole alle costanti,

p.s.
quano scrivi delcodice usa gli appositi bccode
 

Lalli

Nuovo Utente
6 Ott 2016
15
0
1
24
ok grazie mille per le dritte !

ps: scusa l'ignoranza ma come faccio a usare gli appositi bccode? perchè io ho cliccato su inserisci e ho selezionato il codice, ma a quanto pare ho sbagliato :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
quando inserisci il codice (iconcina sulla barra di formattazione) nella parte scura inserisci il codice e nel menu a tendina selezioni o generico (code) o php o html
 
Discussioni simili
Autore Titolo Forum Risposte Data
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
U [PHP] form per ricerca multipla: Unknown column 'undefined' in 'where clause' PHP 2
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
abulafia [postgres+php]interfaccia grafica per inserimento e ricerca dati PHP 0
L Ricerca sviluppatori PHP tempo indeterminato Milano Offerte e Richieste di Lavoro e/o Collaborazione 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
L [PHP] Ricerca su search bar esterna PHP 1
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
O [PHP] Ricerca record tramite post PHP 7
T [PHP] Ricerca nel database PHP 2
C [PHP] Ricerca multipla, evitare if PHP 4
M [OFFRO][RETRIBUITO] Milano IT Consulting SRL - Ricerca 1 Consulente PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
andreas88 Da .htm a .php, perdo le mie posizioni su Google ricerca? SEO e Posizionamento 9
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
G [PHP] FORM DI RICERCA ESTESA PHP 2
borgo italia [PHP] ricerca caratteri accentati PHP 4
P [PHP] ricerca dati PHP 1
Emix [PHP][MYSQL] Ricerca avanzata tramite form PHP 6
T4MAR4 [PHP] Problema ricerca con apostrofo PHP 2
R [PHP] Prendere dati da moduli di ricerca esterni PHP 4
T4MAR4 [PHP] piu select in ricerca PHP 1
T4MAR4 [PHP] Inserire piu campi di ricerca PHP 2
A [PHP] Problema paginazione motore di ricerca PHP 48
TheWhiteRabbit Perfezionare ricerca in PHP - NO DATABASE - (Website X5) PHP 5
giuseppe_123 [PHP] ricerca in una tabella con my sql PHP 0
M [PHP] Ricerca con data timestamp PHP 45
B Ricerca PHP e Prenotazione PHP PHP 2
M [PHP] Evidenziare le parole cercate nei risultati di una ricerca PHP 1
MarcoGrazia [PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE Snippet PHP 0
Y [Retribuito][Offro] RICERCA PROGRAMMATORI iOS e PHP/DB Offerte e Richieste di Lavoro e/o Collaborazione 0
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
I Motore di ricerca php PHP 2
C [Offro][Retribuito] Cloudworks srl ricerca un junior PHP developer Offerte e Richieste di Lavoro e/o Collaborazione 0
N PHP Ricerca utente, Tabella con più elementi PHP 8
M motore di ricerca complesso php PHP 2
R Barra ricerca php e mysql PHP 0
R Ricerca Email in database mysql con php PHP 2
M Box di ricerca in php PHP 3
P PHP modulo ricerca e ordine alfabetico PHP 5
G Visualizzazion modulo di ricerca in PHP e MySql PHP 0
A Ricerca full text mysq ed estrazione con php PHP 8
G Php problema con risultato di ricerca PHP 2
I Facile.it Spa ricerca Senior PHP Developer forti ed ambiziosi! Offerte e Richieste di Lavoro e/o Collaborazione 0
K Problema ricerca con piu campi in php PHP 3
Sargon Php / My sql motore di ricerca PHP 21
F Ricerca avanzata PHP & MySQL PHP 4
P PHP Workgroup Livorno, RICERCA giovani programmatori! Offerte e Richieste di Lavoro e/o Collaborazione 1
W [Php - MySql] ricerca con form select diversi PHP 14
A mini motore di ricerca in php PHP 3

Discussioni simili