Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    100

    Impostare un form "data"

    Ciao a tutti
    ho un db(mysql) con un campo data ho creato una pagina di ricerca soci.php
    dove inserendo la data nel form mi deve trovare i soci nati in quella data.
    Come devo impostare il campo form, l'ho impostato come testo ma non funziona.

    Funziona solo la ricerca per nome e per id.

    Codice PHP:
    <table width="900" border="0" align="center">
            <tr>
            <hr width="900">
            <div align="left"></div> 
            <form method= "post" action="soci.php">
              <td width="150"><div align="center" class="style8">Id</div></td>
              <td width="150"><div align="center" class="style8">nome</div></td>
               <td width="150"><div align="center" class="style8">data</div></td>
                       
            
            <tr>
              <td><div align="center">
                <input type= "text"  name="Id"            size="6">
              </div></td>
              <td><div align="center">
                <input type= "text"  name="nome"   size="30">
              </div></td>
              <td><div align="center">
                <input type= "text"  name="data"    size="15">
              </div></td>

              <td><div align="center">
                <input name="Submit" type="submit" class="style8"  value="cerca">
              </div></td>
              
              <td></td>
            </form> 
            </tr>
          </table>

    <?php
    $Id
    $_REQUEST["Id"];
    $nome$_REQUEST["nome"];
    $data$_REQUEST["data"];
    ?>
          <?php

    $db 
    mysql_connect("localhost","root","");
    mysql_select_db("mio"$db);

    function 
    getQuery($Id$nome,$data) {
        
    $query "SELECT * FROM soci WHERE ";
        
       if (isset(
    $Id) && !empty($Id)) {
            
    $query .= "Id LIKE '$Id' AND ";
        } 
        if (isset(
    $nome) && !empty($nome)) {
            
    $query .= "nome LIKE '$nome' AND ";
        } 
        if (isset(
    $data) && !empty($data)) {
            
    $query .= "data LIKE '$data' AND ";
        } 
            
    $query .= "1 = 1";
        
        return 
    $query;
    }
     
      
     
    ?>

  2. #2
    ciao

    intanto farei un po' di pulizia nel codice php, perchè non ha senso chiudere e riaprire il tag php senza infilarci nel mezzo nulla. Inoltre se fai isset($Id) (ad esempio), dopo aver fatto $Id = $_REQUEST["Id"]; ti darà sempre true; quello che vuoi fare tu in realtà è fare isset($_REQUEST["Id"]) ed eventualmente se non fosse presente tale indice di $_REQUEST imposti un valore nullo (tipo la stringa vuota) e dopo invece di isset controlli che quella variabile non assuma quel valore nullo (ad esempio trim($Id) != "" ). Tanto più che per la visibilità di $Id all'interno della funzione, tale variabile è a maggior ragioen sempre impostata, essendo un parametro della funzione.

    In ogni caso, per rispondere alla tua domanda, invece che usare LIKE usa direttamente =, però controlla che il campo per la data di nascita sia un campo DATE e che la data che passi sia in formato YYYY-MM-DD.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    100
    Ciao

    Forse c'è qualche tag php di troppo, i richiami $Id = $_REQUEST["Id"]; gli ho fatti così affinche all'apertura della pagina soci.php mi dia l'elenco di tutti i soci e poi faccio le ricerche che mi servono.

    Grazie

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.