Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    motore ricerca php mysql con più variabili

    devo eseguire ricerche su una tabella mysql
    questa è la form con le 2 variabili di ricerca......

    <FORM action="stampa_rimanenze.php" method="POST">
    <table width=100% cellspacing=2 cellpadding=2>
    <td colspan=4 align=center bgcolor=#6487dc><font color=#ffffff>Stampa Rimanenze</font></td>
    <tr>
    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Spece</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <input type="text" name= "Spece" value="">
    </td>
    </tr>


    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Varieta</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <input type="text" name= "Varieta" value="">

    </td>
    </tr>


    questa è la query....

    $spece=$_POST['Spece'];
    $varieta=$_POST['Varieta'];

    $rim =
    "SELECT movimenti.CodLotto, magazzino.LottoN,magazzino.Deposito,anaimb.descr_i mb,magazzino.spece,magazzino.varieta,magazzino.lav orazione,magazzino.caratteristica,magazzino.bio,Su m(movimenti.entrate-movimenti.uscite) AS Rimanenza, magazzino.prov,
    magazzino.fornitori,magazzino.prod,magazzino.scad, magazzino.cl,magazzino.unimi,magazzino.note,magazz ino.Tipo_Doc,magazzino.Anno,magazzino.Descrizione

    FROM magazzino, movimenti,anaimb
    WHERE
    magazzino.CodLotto=movimenti.CodLotto
    AND
    magazzino.cod_imb=anaimb.cod_imb

    AND spece LIKE '%" . $spece . "%'
    AND varieta LIKE '%" . $Varieta . "%'

    GROUP BY CodLotto
    HAVING (Sum(movimenti.entrate-movimenti.uscite)>0)
    ORDER by magazzino.spece,magazzino.varieta,magazzino.lavora zione,magazzino.LottoN";

    il problema è il seguente: il campo varieta ha anche dei valori NULL...e questo comporta che al momento dell'esecuzione della query questi vengono esclusi...

    come posso fare per estrarre anche quelli???.....

  2. #2
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Prova:

    codice:
    ....
    AND (varieta LIKE '%" . $Varieta . "%' OR varieta IS NULL)
    ...

    Se ho detto una cagata scusami, ma è l'ora tarda

  3. #3
    ...mmmm....quasi......
    ....adesso non esegue la ricerca per la variabile varieta ma solo sulla spece....però la query restituisce anche i valori NULL....

  4. #4
    sto facendo così....se può interessare

    la form.....

    <FORM action="stampa_rimanenze.php" method="POST">
    <table width=100% cellspacing=2 cellpadding=2>
    <td colspan=4 align=center bgcolor=#6487dc><font color=#ffffff>Stampa Rimanenze</font></td>
    <tr>
    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Spece</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <input type="text" name= "Spece" value=''>
    </td>
    </tr>


    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Varieta</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <input type="text" name= "Varieta" value=''>

    </td>
    </tr>

    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Lavorazione</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <input type="text" name= "Lavorazione" value=''>

    </td>
    </tr>

    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>LottoN</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <input type="text" name= "LottoN" value=''>


    </td>
    </tr>

    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Deposito</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <input type="text" name= "Deposito" value=''>

    </td>
    </tr>



    </tr><tr>
    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Tutto.</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <select name="tipomerce">
    <option value='Tutto'>Tutto.</option>
    <option value="Conv.">Conv.</option>
    <option value="Bio">Bio</option></select>

    </tr><tr>
    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Conv</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <INPUT type='radio' name='TipoMag' value='Conv'>
    </tr><tr>
    <td colspan=2 align=center bgcolor=#6487dc><font color=#ffffff>Bio</font></td>
    <td colspan=2 align='center' bgcolor=#e9e9e9>
    <INPUT type='radio' name='TipoMag' value='Bio'>
    </tr>
    <tr>

    <table width=100% cellspacing=2 cellpadding=2>
    <td colspan=4 align=center >
    <input type="submit" value="cerca">

    </td>
    </tr>




    </table>
    </FORM>

    la ricerca

    //Connessione a mysql
    mysql_connect("localhost","root","");

    //Selezione del database
    (mysql_select_db (Magazzino)
    or die ("Non riesco a selezionare il db Magazzino
    "));



    //Definizione della query come variabile
    $tipomerce=$_POST['tipomerce'];
    $spece=$_POST['Spece'];
    $varieta=$_POST['Varieta'];
    $lavorazione=$_POST['Lavorazione'];
    $LottoN=$_POST['LottoN'];
    $Deposito=$_POST['Deposito'];

    if ($tipomerce=='Tutto')
    $condizione_tipomerce= "(magazzino.bio = 'Conv.' OR magazzino.bio='Bio')";
    if ($tipomerce=='Conv.')
    $condizione_tipomerce= "(magazzino.bio = 'Conv.')";
    if ($tipomerce=='Bio')
    $condizione_tipomerce= "(magazzino.bio = 'Bio')";


    if($varieta == '')
    $condizione_1 ="
    (varieta LIKE '%" . $varieta . "%' OR varieta IS NULL
    AND lavorazione LIKE '%" . $lavorazione . "%' OR lavorazione IS NULL)";
    else
    $condizione_1="varieta LIKE '%" . $varieta . "%'";


    if($lavorazione == '')
    $condizione_2 ="$condizione_1
    ";
    else
    $condizione_2="lavorazione LIKE '%" . $lavorazione . "%'";

    if($LottoN == '')
    $condizione_3 ="$condizione_1";
    else
    $condizione_3="magazzino.LottoN = '$LottoN'";

    if($Deposito == '')
    $condizione_4 ="$condizione_1";
    else
    $condizione_4="magazzino.Deposito LIKE '%" . $Deposito . "%'";

    $rim =
    "SELECT movimenti.CodLotto, magazzino.LottoN,magazzino.Deposito,anaimb.descr_i mb,magazzino.spece,magazzino.varieta,magazzino.lav orazione,magazzino.caratteristica,magazzino.bio,Su m(movimenti.entrate-movimenti.uscite) AS Rimanenza, magazzino.prov,
    magazzino.fornitori,magazzino.prod,magazzino.scad, magazzino.cl,magazzino.unimi,magazzino.note,magazz ino.Tipo_Doc,magazzino.Anno,magazzino.Descrizione

    FROM magazzino, movimenti,anaimb
    WHERE
    magazzino.CodLotto=movimenti.CodLotto
    AND
    magazzino.cod_imb=anaimb.cod_imb
    AND
    $condizione_tipomerce
    AND
    spece LIKE '%" . $spece . "%'
    AND
    $condizione_1
    AND
    $condizione_2
    AND
    $condizione_3
    AND
    $condizione_4


    GROUP BY CodLotto
    HAVING (Sum(movimenti.entrate-movimenti.uscite)>0)
    ORDER by magazzino.spece,magazzino.varieta,magazzino.lavora zione,magazzino.LottoN";

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 © 2024 vBulletin Solutions, Inc. All rights reserved.