• User

    Problema form ricerca

    Salve,
    ho un problema con un form di ricerca. Il form mi permette di ottenere una lista dei clienti inseriti nel db in base a tre chiavi di ricerca: cognome, nome e provincia. Quando inserisco un nome o la provincia la ricerca non ha problemi, se invece inserisco un cognome allora ottengo questo errore:

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/housing/graficnet/ermess.it/restricted/ins_clienti_voucher.php on line **53

    Questa è la linea 53: **while($clients=mysql_fetch_assoc($qclients)){

    Come è possibile che non ci siano problemi con le altre chiavi di ricerca mentre invece non riesco a farla per cognome? Ho anche un altro file che fa la stessa identica ricerca tra i clienti aziende, la pagina è identica solo che il db è diverso e ricerca per cliente, provincia e referente. Qui non da errori.

    Comunque vi incollo il codice così ci capite di più.

    Questo è il form di ricerca:

    [php]
    <form id="ricerca" name="cerca" method="POST" action="index.php?titolo=clienti_voucher"><br />
    <table width="100%" border="0" align="center" cellpadding="5" cellspacing="5" class="ricerca">
    <tr valign="middle">
    <td align="left" >CERCA </td>
    <td align="left" >Cognome
    <input name="cognome" type="text" id="cognome" value="<?php echo $_POST['cerca'];?>"/></td>
    <td align="left" >Nome
    <input name="nome" type="text" id="nome" value="<?php echo $_POST['cerca'];?>"/></td>
    <td align="left" >Prov
    <input name="prov" type="text" id="prov" value="<?php echo $_POST['cerca'];?>" size="5"/></td>
    <td align="left" ><input type="submit" name="inviaRicerca" id="inviaRicerca" value="Cerca" /></td>
    </tr>

    </table>
    </form>
    [/php]Questa è la query che estrae i risultati:

    [php]
    <?PHP
    $query="SELECT * FROM clienti_voucher WHERE cognome!='' ";

    if($_POST['cognome']!=''){$query.=" AND (cognome LIKE '%".$_POST['cognome']."%'";}
    if($_POST['nome']!=''){$query.=" AND nome LIKE '%".$_POST['nome']."%'";}
    if($_POST['prov']!=''){$query.=" AND (prov LIKE '%".$_POST['prov']."%' OR prov2 LIKE '%".$_POST['prov']."%')";}
    $query.="ORDER BY cognome ASC";

    $qclients=mysql_query($query);
    $i=0;
    while($clients=mysql_fetch_assoc($qclients)){

    $i=$i+1;

    ?>
    <tr onmouseover="this.className='OverSelected'; "
    onmouseout="this.className='OverFirst';" >
    <td ><?php echo $i;?></td>
    <td align="center"><?php echo $clients['cognome'];?></td>
    <td align="center"><?php echo $clients['nome'];?></td>
    <td align="center"><?php echo $clients['tel'];?></td>
    <td align="center"><?php echo $clients['email'];?></td>
    <td align="center"><?php echo $clients['prov'];?></td>
    <td align="center" >
    [/php]C'è dell'altro codice dopo che non interessa.

    Qualcuno sa dirmi se c'è qualche errore??


  • User

    problema risolto da solo...era una stupidissima parentesi spuntata da non so dove nella condizione della query!
    Maledette parentesi!