Visualizzazione dei risultati da 1 a 9 su 9
  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 gracito,
    bisognerebbe sapere la struttura della tabella soci, ovvero di che tipo è il campo "data"?

    Se è DATETIME allora dovresti scrivere la data nell'input nello stesso formato, che se non sbaglio in mysql è "MM-DD-YYYY"

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

    Il campo data della tabella soci è di tipo Date.
    La ricerca della data viene fatta nella stessa modalità di registrazione del db mysql yyyy-mm-dd ma nessun risultato.
    Ho creato un nuovo campo numerico e la ricerca non funziona,
    mi da risultato positivo solo per campi di testo es. nome.

    Come bisogna settare gli input type?


    Grazie

  4. #4
    Originariamente inviato da gracito
    Come bisogna settare gli input type?
    non esiste un type input per qul che tu cerchi 8ammetto che sarebbe un'ottima idea...)
    devi fare un controllo sull'input tramite una regex e/o convertirlo nel formato corretto per formulare la query

  5. #5
    Pero la cosa strana è che gracito ha detto che nell'input inserisce la data nel formato già quello del DB, allora non funziona comunque..

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    100
    Ho dato uno sguardo alla regex, non mi è chiaro come possa essere usata nel mio codice.
    Dovrei convertire la data in text ?

    Mi faresti un esempio?

    Grazie

  7. #7
    per facilitarti la vita potresti usare questo tool jquery :
    http://flowplayer.org/tools/demos/dateinput/index.html

    cosi l'utente tramite calendario sceglie la data e poi tu dopo i dovuti controlli sull'input puoi usarla nella ricerca. In questo modo non c'è bisogno di scrivere manualmente la data nel campo.

  8. #8

  9. #9
    ovviamente per poter usare nella ricerca la data scelta bisognerà agire sulla stringa e trasformarla nel formato giusto, quello da usare per interrogare il DB. Ti scrivi una funzioncina e sei aposto.

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.