Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302

    Stampare giorno della settimana

    Ciao,
    ho questa funzione per ricavare dalla data il giorno della settimana a cui esso corrisponde:

    Codice PHP:
    function data_it($data){

        
    //Eseguo l'explode perchè mktime ha bisogno di ricere i parametri in un
        //determinato modo
        
    list($dd$mm$yyyy) = explode('/'$data);

        
    //Tramite questa istruzione ricavo il numero del giorno della settimana
        
    $numbrdayweek date("w",mktime(0,0,0,$mm$dd$yyyy));

        
    $days = array ("Domenica""Lunedì""Martedì""Mercoledì""Giovedì",
        
    "Venerdì","Sabato");
        
    $nameday=$days[$numbrdayweek];

        return 
    $nameday." ".$data;   



    Non riesco a recuperarla nel modo corretto:

    Codice PHP:
    if (isset($_POST['submit'])) {
    $data = mysqli_real_escape_string($mysqli, $_POST['data']);
    $query = "SELECT *, DATE_FORMAT(appuntamenti.data,'%d/%m/%Y') as data_it FROM appuntamenti WHERE 1=1";
    if (!empty($data)) {
        $query .= " AND `data` = STR_TO_DATE('$data', '%d/%m/%Y') ";
    }
    $query .= " ORDER BY data ASC";
    $rs = $mysqli->query($query);
    $count = mysqli_num_rows($rs);

    if (trim($_POST['data']) == '')
    {
        echo "<center>Attenzione non hai inserito la data</center>";
    }

    elseif ($count == 0) {
    echo "<p style='text-align:center;margin-top: 10%;'>Non ci sono appuntamenti</p>";

    }else{

    echo "<table id='view'>";
    echo "<tr>";
    echo "<th>Data</th>";
    echo "</tr>";

    while ($row = $rs->fetch_array(MYSQLI_ASSOC)) {
    $data = mysqli_real_escape_string($mysqli, $row['data']);

    /* FILTRI e CONVERSIONI SULLE VARIABILI POST */
    $data = strtotime($data);
    $data = date('d/m/Y', $data);

    <tr>
    <td><b><? echo $data?></b></td>
    </tr>

    <?
     
    }
    }

    echo 
    "<p style='margin-top: 40px;text-align:center; font-size:1.3em'><a href='index.php?page=ricerca'>Ricerca</a></p>";

    }else{

    ?>
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #2
    Puoi postare tutto il listato e non solo un pezzo?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Io non ho capito il problema, la funzione che hai messo sopra non la usi mai nel codice che è sotto.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da bauleviaggiante Visualizza il messaggio
    Puoi postare tutto il listato e non solo un pezzo?
    Ciao bauleviaggente,
    nel ringraziarti per la risposta ti posto il codice completo

    Codice PHP:
    <?php

    if (isset($_POST['submit'])) {
    $veicolo mysqli_real_escape_string($mysqli$_POST['veicolo']);
    $data mysqli_real_escape_string($mysqli$_POST['data']);
    $cliente mysqli_real_escape_string($mysqli$_POST['cliente']);
    $targa mysqli_real_escape_string($mysqli$_POST['targa']);
    $data_da mysqli_real_escape_string($mysqli$_POST['data_da']);
    $data_a mysqli_real_escape_string($mysqli$_POST['data_a']);

    $query "SELECT * FROM CommesseOfficina WHERE 1=1";

    if (!empty(
    $cliente)) {
        
    $query .= " AND `cliente` LIKE '%$cliente%'";
    }

    if (!empty(
    $veicolo)) {
        
    $query .= " AND `veicolo` LIKE '%$veicolo%'";
    }

    if (!empty(
    $targa)) {
        
    $query .= " AND `targa` LIKE '%$targa%'";
    }

    if (!empty(
    $data)) {
        
    $query .= " AND `data` = STR_TO_DATE('$data', '%d/%m/%Y')";
    }

    if (!empty(
    $data_da)) {
        
    $query .= " AND `data` BETWEEN  STR_TO_DATE('$data_da', '%d/%m/%Y') AND STR_TO_DATE('$data_a', '%d/%m/%Y')";
    }

    $query .= " ORDER BY data ASC";
    $rs $mysqli->query($query);
    $count mysqli_num_rows($rs);

    if (
    trim($_POST['cliente']) == '' && trim($_POST['veicolo']) == '' && trim($_POST['targa']) == '' && trim($_POST['data']) == '' && trim($_POST['data_a']) == '')
    {
        
    //REINDIRIZZO L'UTENTE AL MESSAGGIO DI ERRORE ATTENZIONE COMPILA ALMENO UN CAMPO 
        
    echo "<center>Attenzione non hai inserito nessun valore di ricerca</center>";
    }

    elseif (
    $count == 0) {
    echo 
    "<p style='text-align:center;margin-top: 10%;'>Non ci sono commesse con i criteri ricercati.</p>";

    }else{

    echo 
    "<table id='view'>";
    echo 
    "<tr>";
    echo 
    "<th>Data</th>";
    echo 
    "<th>Cliente</th>";
    echo 
    "<th>Veicolo</th>";
    echo 
    "<th>Targa</th>";
    echo 
    "<th>Totale</th>";
    echo 
    "<th>Pagamento</th>";
    echo 
    "<th>MOD.</th>";
    echo 
    "<th>DUP.</th>";
    echo 
    "<th>PDF</th>";
    echo 
    "</tr>";

    while (
    $row $rs->fetch_array(MYSQLI_ASSOC)) {
    $id mysqli_real_escape_string($mysqli$row['id']);
    $cliente mysqli_real_escape_string($mysqli$row['cliente']);
    $data mysqli_real_escape_string($mysqli$row['data']);
    $ora mysqli_real_escape_string($mysqli$row['ora']);
    $indirizzo mysqli_real_escape_string($mysqli$row['indirizzo']);
    $veicolo mysqli_real_escape_string($mysqli$row['veicolo']);
    $piva mysqli_real_escape_string($mysqli$row['piva']);
    $tel mysqli_real_escape_string($mysqli$row['tel']);
    $targa mysqli_real_escape_string($mysqli$row['targa']);
    $telaio mysqli_real_escape_string($mysqli$row['telaio']);
    $n_tecnico mysqli_real_escape_string($mysqli$row['n_tecnico']);
    $note mysqli_real_escape_string($mysqli$row['note']);
    $pagamento mysqli_real_escape_string($mysqli$row['pagamento']);
    $totale mysqli_real_escape_string($mysqli$row['totale']);

    /* FILTRI e CONVERSIONI SULLE VARIABILI POST */
    $cliente trim(strip_tags(stripslashes($cliente)));
    $veicolo trim(strip_tags(stripslashes($veicolo)));
    $pagamento trim(strip_tags(stripslashes($pagamento)));
    $data strtotime($data);
    $data date('d/m/Y'$data);
    /* FINE FILTRI e CONVERSIONI SULLE VARIABILI POST */

    ?>

    <tr>
    <td><? echo $data?></td>
    <td><? echo $cliente?></td>
    <td><? echo $veicolo?></td>
    <td><? echo $targa?></td>
    <td>&euro; <? echo $totale?></td>
    <td><? echo $pagamento?></td>
    <td><? echo "<a href='index.php?page=aggiorna_commessa&id=$id' target='_blank'><img src='images/edit.png' alt=''></a>"?></td>
    <td><? echo "<a href='index.php?page=duplica_commessa&id=$id' target='_blank'><img src='images/copy.png' alt='Duplica'></a>"?></td>
    <td><? echo "<a href='pdf_commessa.php?id=$id' target='_blank'><img src='images/print.png' alt='Stampa'></a>"?></td>
    </tr>

    <?
     
    }
    }

    echo 
    "<p style='margin-top: 40px;text-align:center;'><a href='index.php?page=ricerca_commessa'>Effettua una nuova ricerca</a></p>";

    }else{

    ?>

    <form method="post" action="">

    <fieldset>
    <legend>Ricerca Commessa</legend>
    <table id="add">
    <tr>
    <td><b>Cliente</b></td>
    <td><input type="text" name="cliente"></td>
    <td><b>Data</b></td>
    <!--td><input type="text" name="data" value="<?php echo date('d/m/Y'); ?>" id="datepicker"></td-->
    <td><input type="text" name="data" id="datepicker"></td-->
    </tr>

    <tr>
    <td><b>Da Data</b></td>
    <td><input type="text" name="data_da" id="datepicker1"></td>
    <td><b>A Data</b></td>
    <td><input type="text" name="data_a" id="datepicker2"></td>
    </tr>

    <tr>
    <td><b>Veicolo</b></td>
    <td><input type="text" name="veicolo"></td>
    <td><b>Targa</b></td>
    <td><input type="text" name="targa"></td>
    </tr>
    </table>
    </fieldset>

    <input type="submit" name="submit" class="bottone" value="Ricerca Commesse">
    <div class="clear"></div>
    </form>

    <?
    }
    ?>
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  5. #5
    Ok, cosa esattamente non funziona? messaggi di errore? pirma hai postato una funzione per avere il giorno della settimana in italiano.

  6. #6
    Attenzione ai commenti

    <!--td><input type="text" name="data" value="<?php echo date('d/m/Y'); ?>" id="datepicker"></td-->

    scrivi

    <!-- <td><input type="text" name="data" value="<?php echo date('d/m/Y'); ?>" id="datepicker"></td> -->

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da bauleviaggiante Visualizza il messaggio
    Ok, cosa esattamente non funziona? messaggi di errore? pirma hai postato una funzione per avere il giorno della settimana in italiano.
    attualmente recupero solo la data tipo 01/06/2017, ma vorrei poter mostrare giorno della settimana e data

    http://clip2net.com/s/3KXCSb7
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  8. #8
    Aggiungi la funzione a quel file o nel file dove hai tutte le funzioni condivise, poi la richiami cosi:

    Codice PHP:
    echo data_it($data); 
    e dovrebbe apparire la data con il giorno per esteso in italiano.
    La funzione che hai postato funziona regolarmente.
    Ultima modifica di bauleviaggiante; 01-06-2017 a 18:16

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da bauleviaggiante Visualizza il messaggio
    Aggiungi la funzione a quel file o nel file dove hai tutte le funzioni condivise, poi la richiami cosi:

    Codice PHP:
    echo data_it($data); 
    e dovrebbe apparire la data con il giorno per esteso in italiano.
    La funzione che hai postato funziona regolarmente.
    Buongiorno,
    la funzione la richiamo ad inizio file, solo che quando eseguo in questo modo:
    codice:
    <td><b><? echo $data_it($data); ?></b></td>
    ottengo errore

    codice:
    Fatal error:  Function name must be a string in <td><b><? echo $data_it($data); ?></b></td>
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    data non $data
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.