Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030

    inserire campi in un db e ordinarli per data

    ehilà

    dunque, mi sto addentrando da poco nel magico mondo del php/mysql..

    sto cercando di crearmi una paginetta di inserimento dati con un semplice form che scriva news in un db e un'altra paginetta che le legga.. ma già al primo passo sono fermo..

    dunque io ho creato una tabella chiamata "news", questa tabella ha un campo ID, un campo data_db, un campo data, uno testo e uno link.
    ho creato due date perché le mie news devono essere ordinate per data, ma può succedere che alcuni eventi non abbiano una data precisa ma succedano "ad aprile".. e quindi mentre l'anno e il mese saranno sempre precisi, il giorno potrebbe non esserci. Per non fare quindi casino ho pensato di aggiungere un giorno 0, così se la news non ha giorno preciso, nella data visualizzata quello dovrebbe rimanere vuoto, mentre nella data che deve ordinare le notizie (data_db) andrà un giorno_db uguale a 1 così da essere sempre dopo le notizie con data precisa..
    ok, non si è capita una fava.
    proviamo col codice che forse è meglio..
    la mia pagina insert.php, quella cioè che mi permette di inserire le news è così:
    Codice PHP:
    <?
    include ("config.inc.php");
    include (
    "top_foot.inc.php");

    //intestazione
    top();
    ?>

    <form method=post action=save.php>
    Data:

    <select name=giorno>
    <?
    for ($i=0$i<=31$i++)
    echo 
    "<option value=$i>$i";
    ?>
    </select>
    <select name=mese>
    <option value=1>Gennaio
    <option value=2>Febbraio
    <option value=3>Marzo
    <option value=4>Aprile
    <option value=5>Maggio
    <option value=6>Giugno
    <option value=7>Luglio
    <option value=8>Agosto
    <option value=9>Settembre
    <option value=10>Ottobre
    <option value=11>Novembre
    <option value=12>Dicembre
    </select>
    <select name=anno>
    <option value=2004>2004
    <option value=2005>2005
    <option value=2006>2006
    </select>



    Testo:

    <textarea cols=60 rows=8 name=testo></textarea>



    Link:

    <input type=text size=40 name=link>



    Password:

    <input type=password size=40 name=pass>



     <input type=submit value=Invia> </form>
    <?
    // chiusura pagina
    foot();
    ?>
    mentre la save.php che deve mettere i dati nel db è così:
    Codice PHP:
    <? include("top_foot.inc.php");
    include(
    "config.inc.php");
    top();
    $pass =$_POST['pass'];
    $giorno =$_POST['giorno'];
    $mese =$_POST['mese'];
    $anno =$_POST['anno'];
    $testo =$_POST['testo'];
    $link =$_POST['link'];
    if (
    $pass != $password):
    echo 
    "Password errata";
    if (
    $giorno != "0")
      {
        
    $giorno_db $giorno;
      }
    else
      {
          
    $giorno == ".";
        
    $giorno_db == "1";
      }
    $data_db mktime("0""0""0"$mese$giorno_db$anno);
    $data = ($giorno $mese $anno);
    /* probabilmente questa $data scritta così non ha senso ma vorrei dirgli che deve solo scrivere le tre variabili così come sono.. */

    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query "INSERT INTO news (data_db, data, testo, link) VALUES ('$data_db', '$data', '$testo', '$link')";

    if (
    mysql_query($query$db))
    echo 
    "L'articolo è stato inserito correttamente";
    else
    echo 
    "Erorre durante l'inserimento";
    mysql_close($db); endif;
    foot();
    ?>
    ma così quando provo ad inserire i dati mi carica una pagina vuota, senza errori ne messaggi e nel db non scrive nulla.. a parte una volta in cui effettivamente ha scritto un record..

    ora, in questo casino assurdo, c'è qualcuno che mi sa indicare quali casini sto combinando?

    grazie
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  2. #2
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    un aiutino?
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  3. #3
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    intanto ho modificato alcune cose, ora la mia pagina save.php (quella cioè che va a scrivere i dati nel db) è così:
    Codice PHP:
    <? include("top_foot.inc.php");
    include(
    "config.inc.php");
    top();
    $pass =$_POST['pass'];
    $giorno =$_POST['giorno'];
    $mese =$_POST['mese'];
    $anno =$_POST['anno'];
    $testo =$_POST['testo'];
    $link =$_POST['link'];
    if (
    $pass != $password):
    echo 
    "Password errata";
    else:
    if (
    $giorno != "0")
      {
        
    $giorno_db $giorno;
      }
    else
      {
          
    $giorno ".";
        
    $giorno_db "1";
      }
    $data_db mktime("0""0""0"$mese$giorno_db$anno);
    $data = ($giorno $mese $anno);

    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query "INSERT INTO news (data_db, data, testo, link) VALUES ('$data_db', '$data', '$testo', '$link')";

    if (
    mysql_query($query$db))
    echo 
    "L'articolo è stato inserito correttamente";
    else
    echo 
    "Erorre durante l'inserimento";
    mysql_close($db); endif;
    foot();
    ?>
    sono riuscito ad inserire un po' di record, poi cercando di aggiustare ancora qualche altra imperfezione (almeno mi sembra tale) ora mi dice
    codice:
    "Erorre durante l'inserimento";


    mi sa che faccio un po' di casino con gli "if"..
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  4. #4
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    edit: quel codice funziona, ma da errore se inserisco come testo una frase tipo
    "non ci capisco più 'na fava.."

    why? :master:
    è nella nostra unicità che risiede la meraviglia degli esseri umani

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.