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

    Inserimento data automatica

    vorrei fare in modo che quando si inserisce un articolo nn si debba inserire la data manualmente, ma che venga inserita automaticamente quando vengo creato l'articolo.
    il codice che ho per ora è:
    Codice PHP:
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>Insert</title>
            <meta content="text/html; charset=utf-8" http-equiv="content-type" />
            <script type="text/javascript" src="../ckeditor.js"></script>
            <script src="sample.js" type="text/javascript"></script>
            <link href="sample.css" rel="stylesheet" type="text/css" />
        </head>
        <body>
            <?php
            
    if (isset($_POST['inserisci'])) {
                include 
    '../../config.php';
                
    $link mysql_connect($host$user$password) or die("Non è possibile connettersi al server
    "
    );
                
    $conn mysql_select_db($db$link) or die("Non è possibile connettersi al db
    "
    );
                
    $title mysql_real_escape_string($_POST['title']);
                
    $sectionid mysql_real_escape_string($_POST['sectionid']);
                
    $testo mysql_real_escape_string($_POST['testo']);
                
    $insert "INSERT INTO articoli2 (title, sectionid, testo) VALUES ('" $title "', '" $sectionid "', '" $testo "')";
                if (
    $_POST['title'] == NULL || $_POST['sectionid'] == NULL || $_POST['testo'] == NULL) {
                    echo 
    "dati mancanti";
                } else {
                    
    mysql_query($insert) or die(mysql_error($link));
                }
            }
            
    ?>
            <h1>
            CKEditor Sample
            </h1>
            
            <div id="alerts">
                <noscript>
                    


                        [b]CKEditor requires JavaScript to run[/b]. In a browser with no JavaScript
                    support, like yours, you should still see the contents (HTML data) and you should
                    be able to edit it normally, without a rich editor interface.
                    </p>
                </noscript>
            </div>
            <div>
                <h3>Menu</h3>
                [url="../../index.php"]Home[/url]
            </div>
            <form action="#" method="post" name="inserisci">
                


                    Title: <input type="text" name="title" />

                </p>
                


                    <select name="sectionid">
                        <option value="linux">Linux</option>
                        <option value="mac&iphone">Mac</option>
                    </select>
                </p>
                


                    <textarea class="ckeditor" cols="80" id="editor1" name="testo" rows="10"></textarea>
                </p>
                


                    <input type="submit" name="inserisci" value="Submit" />
                </p>
            </form>
        </body>
    </html>
    pensavo di creare un campo date del db, ma come faccio a inserire le date automaticamente?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Nella tabella inserisci una colonna di tipo "date" e nella query di inserimento, in corrispondenza di tale colonna metti curdate() che inserirà la data corrente nel formato MySQL, ovvero aaaa-mm-gg

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    al posto di curdate io proporrei SYSDATE() la quale mette una data in tipo militare:
    aa-mm-gg h:m:s

  4. #4
    ammazza tutto qua??!!

    cmq ho messo il campo datetime e usato sysdate().
    mi piace di più.
    grazie mille!!

  5. #5
    E se volessi aggiungere automaticamente anche la data di ultima modifica?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    Puoi fare cosi in quella tabella ci aggiungi un campo in + sempre in datatime soprannominato ultima modifica....Nell'insert quando vai ad aggiungere il commento ci aggiungi semplicemente SYSDATE().L'insert intendo nella script che permette di aggiungere il commento INSERT INTO .......

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Trattandosi di una modifica penso dovrà usare un UPDATE piuttosto che un INSERT

  8. #8
    Originariamente inviato da Alhazred
    Trattandosi di una modifica penso dovrà usare un UPDATE piuttosto che un INSERT
    si pensavo di aggiungere un altro campo al db.
    poi di creare una pagina per modificare gli articoli raggiungibile con un tasto messo alla fine di ogni articolo.
    solo che:
    1)
    Codice PHP:
    $query "UPDATE articoli2 SET title='$title', testo='$testo' WHERE title='$title', testo='$testo'"
    la mia domanda è: dove metto la funzione sysdate() che corrisponde alla data di modifica?

    2) io vorrei che la data di modifica si veda solo se l'articolo è stato effettivamente modificato, nn sempre.

  9. #9
    Ti spiego io come faccio a gestire le date nel db ma ti premetto sin da subito che il metodo che adotto fa storcere il naso a molti programmatori che usano MySql in maniera migliore...

    io le date le salvo in un campo INT (10) che valorizzo con la funzione time() di php

    per fare quel che tu desideri crei un campo della tabella che chiami 'modifica' che possa ammettere valori nulli (vuoto) e nel caso in cui esegui l'update lo valorizzi con il time(). Quindi la query sarà:
    Codice PHP:
    $query "UPDATE articoli2 SET title='$title', testo='$testo', modifica='".time()."' WHERE id_articolo='".$id_articolo_da_modificare."' LIMIT 1"
    poi in fase di estrazione dei dati fai

    Codice PHP:
    if($riga['modifica']!='')
       {
       echo 
    'Ultima modifica'date('j/n/Y'$riga['modifica']) .' alle ore 'date('H:i'$riga['modifica']);
       } 
    Un "purista" di Mysql non gradirebbe questo metodo... ma io lo uso da sempre e mi trovo benissimo...

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Prima di tutto non capisco la query che hai scritto, perché setti i campi titolo e testo, se quelli che passi da $titolo e $testo sono uguali a quelli già presenti? Secondo me questa cosa non funziona come ti aspetteresti.

    1) assumendo che il nuovo campo lo chiamerai "data_mod"
    Codice PHP:
    $query "UPDATE articoli2 SET title='$title', testo='$testo', data_mod=sysdate() WHERE title='$title' AND testo='$testo'"
    2) Crea il campo data_mod in modo che di default sia NULL, quando leggi il record e php deve stamparlo dovrai fare in modo che: se in data_mod legge NULL non stampa niente, altrimenti stampa il contenuto di tale campo. In pratica basta un semplice if-else.

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.