Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    calendario problema con campo data

    salve a tutti, ho trovato questo script per un calendario di eventi, ma ho un problema la mia tabella è composta da un campo date formato 0000-00-00 ma lo script originale faceva riferimento ad una tabella con campo data in formato timestamp int(10)
    come posso fare ad adattarlo alla mia tabella?
    credo che la variabile da cambiare sia questa perchè riferita al campo data in formato timestamp int(10)
    ma non so come
    $finalDate = mktime(0, 0, 0, date("m"), $thisDay, date("Y"));


    script calendario...
    for($i=0; $i<date("t", $thisDate); $i++)
    {
    $thisDay = ($i + 1);
    if(($month == 0) || ($year == 0)) {
    $finalDate = mktime(0, 0, 0, date("m"), $thisDay, date("Y"));
    $today = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    $fdf = mktime(0, 0, 0, date("m"), 1, date("Y"));
    $month = date("m");
    $year = date("Y");
    } else {
    $finalDate = mktime(0, 0, 0, $month, $thisDay, $year);
    $fdf = mktime(0, 0, 0, $month, 1, $year);
    }


    // Skip some cells to take into account for the weekdays.
    if($i == 0) {
    $firstDay = date("w", $fdf);
    $skip = ($firstDay - 1);
    if($skip < 0) { $skip = 6; }
    for($s=0; $s<$skip; $s++)
    {
    echo '<div class="calendarFloat" style="border: 1px solid #FFF;"></div>';
    }
    }

    // Make the weekends a darker colour.
    if((date("w", $finalDate) == 0) || (date("w", $finalDate) == 6)) {
    $bgColor = '#'. $weekendColor .'';
    } else {
    $bgColor = '#'. $dayColor .'';
    }

    // Determine what they should see if they are logged in or not.
    if($_COOKIE['nodstrumCalendarV2']) {
    $onClick = 'showEventForm('. $thisDay .')';
    } else {
    // displayEvents(day, $F('ccMonth'), $F('ccYear'));
    $onClick = 'displayEvents('. $thisDay .', '. $month .', '. $year .')';
    }

    // Check the database for any events on this day.
    $dayCheck = mysql_query("SELECT id FROM news WHERE data='$finalDate' LIMIT 1", $conn);
    if($dayCheck) {
    if(mysql_num_rows($dayCheck) >0) {
    $bgColor = '#'. $eventColor .'';
    } else {
    // Check if this day is today and change it to the today color.
    if($finalDate == $today) {
    $bgColor = '#'. $todayColor .'';
    } else {
    // Dont change it.
    }
    }
    } else {
    // Nothing, ignore the error.
    }
    ......

  2. #2
    Ma cambiare il formato del campo nella tabella no?

  3. #3
    non posso è troppi record inseriti

  4. #4
    Fai due operazioni.

    1) Fatti un campo secondario nella tabella, tramite uno scriptino leggi il contenuto della data del campo 1, lo converti e lo stampi nel campo 2.

    2) Cambi il formato del campo2, elimini il campo1, rinomini il campo2 in campo1!

  5. #5
    ma non è possibile cambiare l'indicazione della variabile dello script in modo da fargli leggere la data nel fomato 0000.00.00 invece che formato timestamp int(10)
    se insersco un altro campo poi devo modificare anche l'amministrazione e diventa complicato

  6. #6
    Non mi sono spiegato. L'altro campo ti serve soltanto provvisoriamente per effettuare la conversione della data!

    In ogni caso, nel pezzo di codice che hai postato (sbagliando) non vedo nessun insert into nella tabella!

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.