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

    [php/sql] agenda eventi

    ciao a tutti mi sto cimentando nel fare un calendario che evidenzi tutti i giorni in cui si verificherà un evento/manifestazione. finchè si tratta di inserire un singolo dato, per esempio "il 20 gennaio 2005 è il compleanno di pincopallino", non c'è problema. La difficoltà, però, la trovo negli eventi diciamo che durano più di un giorno come x esempio "c'è la mostra di gigetto dal 10 gennaio 2005 al 15 febbraio 2005".
    Ora come ora io ho 2 tabelle. Una mi serve x riprendere il testo e le altre informazioni, la seconda x segnare i giorni sul calendario ed è questa qui sotto:

    CREATE TABLE `calendario` (
    `idcalendario` int(11) NOT NULL auto_increment,
    `idevento` int(11) NOT NULL default '0',
    `giorno` int(2) NOT NULL default '0',
    `mese` int(2) NOT NULL default '0',
    `anno` int(4) NOT NULL default '0',
    PRIMARY KEY (`idcalendario`)
    )
    Come posso fare a creare tante righe quanti sono i giorni ke dura la celeberrima mostra di gigetto? e il campo mese,nella tabella, come lo aggiorno?
    So ke è un po' complicato, spero di essermi spiegato abbastanza.

    Se qlc è in grado di aiutarmi mi farebbe una cortesia enorme! grazie!!

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,743
    se non hai esigenze particolari intanto metterei tutto in una unica tabella e poi farei un campo DATE con il primo giorno dell'evento da utilizzare per l'ordine cronologico e poi un bel campo TEXT in cui scrivere come voglio quanto serve sulle date
    Errare humanum est, perseverare ovest

  3. #3
    ok questo lo so fare
    poi xò tutto il resto?

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,743
    Originariamente inviato da fabioandr@libero.it
    ok questo lo so fare
    poi xò tutto il resto?
    un pannello di controllo da cui aggiornare i contenuti e un sito ke li visualizzi. tutto qua
    Errare humanum est, perseverare ovest

  5. #5
    Originariamente inviato da carlo2002
    un pannello di controllo da cui aggiornare i contenuti e un sito ke li visualizzi. tutto qua
    mi sono spiegato male forse.il pannello è ovvio ke verrà fatto ma il mio problema è far si ke sul calendario venga segnato, x es dal 15 gennaio al 10 febbraio, tutti i giorni compresi tra le date,l'evento "gigetto". mi sembra stupido dover fare 50 query x aggiungere sul Db lo stesso evento chemi dura 50 giorni,non c'è un modo + rapido?!?

  6. #6
    nn c'è davvero alcun modo?

  7. #7
    io aggiungerei un campo 'durata' (intero unsigned) in cui metti semlpicemente la durata dell'evento (oltre alla data di inizio).

    Poi in fase di visualizzazione ti fai una funzioncina a cui passi una data e che controlla se il giorno fornito è all'interno di un evento e quale evento è.

    Non so se è troppo contorto ma potresti provare.

    Ciao
    Make Pazziata-tàààà NOT war!

  8. #8
    ma il mio problema è creare la serie di date dall'inizio evento alla fine dell evento..

  9. #9
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Io ho risolto in altro modo:
    Ho fatto inserire il numero di giorni della durata dell'evento.
    A quel punto faccio
    Codice PHP:
    $newtime mktime(0,0,0,$mese,$giorno,$anno);
    for(
    $i=1;$i<$numero_giorni;$i++) {
     
    $newtime = ($newtime + (86400*$numero));
     
    $data date('Y-m-d',$newtime);
     
    mysql_query("INSERT.. ");

    Dove $numero invece è un altro parametro che permette di inserire ciclicamente un'evento che viene ripetuto ogni $numero giorni.
    Esempio se ogni lunedì succede qualcosa $numero sarà = 7. Se sono giorni consecutivi $numero varrà 1.

  10. #10
    Originariamente inviato da VaLvOnAuTa
    Io ho risolto in altro modo:
    Ho fatto inserire il numero di giorni della durata dell'evento.
    A quel punto faccio
    Codice PHP:
    $newtime mktime(0,0,0,$mese,$giorno,$anno);
    for(
    $i=1;$i<$numero_giorni;$i++) {
     
    $newtime = ($newtime + (86400*$numero));
     
    $data date('Y-m-d',$newtime);
     
    mysql_query("INSERT.. ");

    Dove $numero invece è un altro parametro che permette di inserire ciclicamente un'evento che viene ripetuto ogni $numero giorni.
    Esempio se ogni lunedì succede qualcosa $numero sarà = 7. Se sono giorni consecutivi $numero varrà 1.
    e il numero dei giorni $numero_giorni come lo tiri fuori? :master:

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 © 2024 vBulletin Solutions, Inc. All rights reserved.