Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    ricerca con intervallo date

    in un campo di ricerca dovrei dare la possibilità di far si che venga individuato un intervallo

    es: dalla data..... alla data.....

    sarebbe possibile farlo modificando questo codice?

    Codice PHP:
    if($_REQUEST['data_pagamento'] != NULL)
            {
            
    $array_date explode("/"$_REQUEST['data_pagamento']);
            
            
    $query .=  " AND data_pagamento LIKE '%";
            
    $query .=  $array_date[2];
            
    $query .=  "-";
            
    $query .=  $array_date[1];
            
    $query .=  "-";
            
    $query .=  $array_date[0];
            
    $query .=  "%'";
            } 
    sarebbe inoltre possibile fare in modo che le date immesse non siano necessariamente presenti nel database, ma che servano solo per delimitare un intervallo?
    grazie

  2. #2
    Parlando di range e partendo dal presupposto che le date siano in formato previsto yyyy-mm-dd, usa between.

    where data_pagamento between '$data_da' AND '$data_a'

    dove la data_pagamento e' quella nel db ed i due estremi da-a sono forniti ovviamente da te.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    sicuramente stò sbagliando l'inserimento:

    questa è la prima parte della query:
    Codice PHP:
    $query "SELECT anagrafica.id_ass, anagrafica.cognome_nome,
     anagrafica.indirizzo_res, concat(anagrafica.cap_res,'-',anagrafica.comune_res,'-
    ','(',anagrafica.prov_res,')') as indirizzoresidenza, anagrafica.indirizzo_dom, concat
    (anagrafica.cap_dom,'-',anagrafica.comune_dom,'-','(',anagrafica.prov_dom,')') as 
    indirizzodomicilio, anagrafica.selezione_ind, anagrafica.selezione_ind2, 
     pagamenti.id_transaz, pagamenti.id_pagamento, pagamenti.descr_pagamento, 
    pagamenti.data_pagamento, pagamenti.valore FROM anagrafica INNER JOIN pagamenti ON
     anagrafica.id_ass = pagamenti.id_ass WHERE 1"

    questo il codice che mi hai postato inserito da me (in modo sicuramente errato):
    Codice PHP:
    if($_REQUEST['data_da'] != NULL AND $_REQUEST['data_a'] != NULL)
            {
            
    $array_date explode("/"$_REQUEST['data_pagamento']);
            
    $query .=  "AND data_pagamento between '$data_da' AND '$data_a'";
            
    $query .=  $array_date[2];
            
    $query .=  "-";
            
    $query .=  $array_date[1];
            
    $query .=  "-";
            
    $query .=  $array_date[0];
            
    $query .=  "%'";
            } 
    la fine della query:
    Codice PHP:
    $query .=  " ORDER BY data_pagamento"
    e l'errore che mi da:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmi\xampp\htdocs\stampasarda\mostrapagame nti.php on line 81


  4. #4
    stampa la query....

    come lo fai non mi interessa molto... interessa quello che ottieni.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    non riesco a stamparla, continua solo a darmi errori... per stamparla ho inserito questo codice che mi avevi passato..

    Codice PHP:
    // inizio. da questo punto 
    while ($row mysql_fetch_assoc($risultato)) { 

    $pippo[] = $row


    echo 
    "<pre>"
    print_r($pippo); 
    echo 
    "</pre>"
    mysql_data_seek($risultato0); 

    //fine. a questo punto 
    ma continua a dirmi:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programmi\xampp\htdocs\stampasarda\mostrapagame nti.php on line 81

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Programmi\xampp\htdocs\stampasarda\mostrapagame nti.php on line 83



    Warning: mysql_data_seek(): supplied argument is not a valid MySQL result resource in C:\Programmi\xampp\htdocs\stampasarda\mostrapagame nti.php on line 91


    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Programmi\xampp\htdocs\stampasarda\mostrapagame nti.php on line 148

  6. #6
    Codice PHP:
    SELECT anagrafica.id_assanagrafica.cognome_nomeanagrafica.indirizzo_resconcat(anagrafica.cap_res,'-',anagrafica.comune_res,'-','(',anagrafica.prov_res,')') as indirizzoresidenzaanagrafica.indirizzo_domconcat(anagrafica.cap_dom,'-',anagrafica.comune_dom,'-','(',anagrafica.prov_dom,')') as indirizzodomicilioanagrafica.selezione_indanagrafica.selezione_ind2pagamenti.id_transazpagamenti.id_pagamentopagamenti.descr_pagamentopagamenti.data_pagamentopagamenti.valore FROM anagrafica INNER JOIN pagamenti ON anagrafica.id_ass pagamenti.id_ass WHERE 1AND data_pagamento between '01/01/2000' AND '01/12/2000'--%' ORDER BY data_pagamento 

  7. #7
    Se tu ti chiamassi mysql ti incazzeresti come una belva se ti arrivasse una cosa del genere.
    codice:
    WHERE 1AND data_pagamento between '01/01/2000' AND '01/12/2000'--%'
    rileggi bene "tutto" quello che ho scritto prima.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    A proposito...

    per stampare una query basta scrivere:

    echo $query;


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    VVoVe:

    corretto con
    Codice PHP:
    if($_REQUEST['data_da'] != NULL AND $_REQUEST['data_a'] != NULL)
            {
            
    $array_date explode("/"$_REQUEST['data_pagamento']);
            
    $query .=  " AND data_pagamento between '$data_da' AND '$data_a'";
            }

    $query .=  " ORDER BY data_pagamento"
    ora la query:
    SELECT anagrafica.id_ass, anagrafica.cognome_nome,
    anagrafica.indirizzo_res, concat(anagrafica.cap_res,'-',anagrafica.comune_res,'-
    ','(',anagrafica.prov_res,')') as indirizzoresidenza, anagrafica.indirizzo_dom, concat
    (anagrafica.cap_dom,'-',anagrafica.comune_dom,'-','(',anagrafica.prov_dom,')') as
    indirizzodomicilio, anagrafica.selezione_ind, anagrafica.selezione_ind2,
    pagamenti.id_transaz, pagamenti.id_pagamento, pagamenti.descr_pagamento,
    pagamenti.data_pagamento, pagamenti.valore FROM anagrafica INNER JOIN pagamenti ON
    anagrafica.id_ass = pagamenti.id_ass WHERE 1 AND data_pagamento between '28/07/2001'
    AND '28/07/2002' ORDER BY data_pagamento
    non da errori, ma neanche risultati....p.s ho notato l'errore subito dopo averlo postato, mi vergogno come una ladra...

  10. #10
    o meglio mi da risultato se inserisco solo data_da e non data_a


    lo so che basta print ($query);, ma io stupidamente volevo darti i risultati stampati della query , ci arrivo, con molta lentezza...

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.