problema logica

ho una tabella con questi campi:

set_1 - 16 ( da 1 a 16 , quindi 16 campi con prefisso set_) ENUM Y , N

devo dovrei trovare un modo per:

creare una pagina per le prenotazioni e mostrare in questa pagina i mesi liberi ( non è un problema ) e renderli selezionabili con le checkbox... il problema sorge quando dovrei prendere i risultati e metterli nella tabella delle prenotazioni ... nn so che fare devo mettere 16 campi che cambiano in base alle settimane selezionate

e poi aggiornare la tabella dell'annuncio e mettere i mesi selezionati come OCCUPATI ??... dato che nn so come fare e di conseguenza non ci ho capito una mazza nn ho spiegato bene   ;D che idiota  :crazy: ma se riuscite a decifrare e a darmi una mano ve ne sarei grato :D  O0

MIO DIO CHE CASINOOOOO

inviato 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

invece di avere 16 campi che rappresentano le settimane ti basta un unico campo "settimana_id" in cui memorizzare il numero della settimana (da 1 a 16). Nella tabella per ogni prenotazione inserirai un numero di record pari al numero di settimane prenotate.

Puoi quindi fare una tabella per le prenotazioni ed una per le settimane:

prenotazioni:

prenotazione_id int

nome

cognome

ecc..

settimane:

prenotazione_id

settimana_id

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

nn ti seguo :D

io ho la tabella annunci dove ci sono le settimane occupate , poi una tabella prenotazioni che dovrebbe avere le settimane occupate + le settimane scelte dall'utente

ho anche un problema con i mesi e le settimane :

per la prima volta ho i mesi e le settimane del mese in una array multidimensionale ... ma devo mostrarlo in un while quindi devo fare $mesi[$i][$j]; per mostrare i 4 mesi e le 4 settimane per ogni mese ... ma mi perdo nn so come mai ... forse nn ho fatto bene l'array (probabilmente)

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

allora sto facendo la modifica :

elimino tutti e 16 i campi e con una query ( che mi direte voi ;D ) prendo le settimane dalla tabella settimane collegate all'id dell' annuncio e le mostro ... ma si può stabilire se poi sono settimane occupate o no?

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Ho letto il thread, ma sinc non ci ho capito molto di quello che vuoi fare, mi sembra un po' macchiavellico...

CMQ per:

allora sto facendo la modifica :

elimino tutti e 16 i campi e con una query ( che mi direte voi ;D ) prendo le settimane dalla tabella settimane collegate all'id dell' annuncio e le mostro ... ma si può stabilire se poi sono settimane occupate o no?

Fai una query del tipo:

SELECT * FROM settimane WHERE prenotazione_id='$IDprenotazione';

recuperi in un array gli id delle settimane ( queste saranno quelle occupate, poichè gli corrisponde una prenotazione)

Quando mostri tutte le settimane possibili per una prenotazione, controlli che l'id della settimana che stai visualizzando non sia nell'array ricavato prima, ex:

if(!in_array($idSettimana,$arraySettimaneDb))

 echo "settimana disponibile";

else

 echo "settimana non disponibile";

Spero di averci capito qualcosa di quello che ti serviva  :P...

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

tornando al discorso della logica ....

    $mese_array = array(1=>'settembre',2=>'giungo',3=>'luglio',4=>'agosto');

       

       for($mese = 1;$mese <= 4;$mese++)

       {

       if ($i == 2)

       {

       echo '<p class="highlight">'.$mese_array[2].'</p>';       

       }

       for($sett = 1;$sett <= 4;$sett++)

       {

       echo $sett.'<br>';

       }

       

       echo '<br>';

       }

questo DOVREBBE mostrare 4 gruppetti di 4 numeri tipo

1

2

3

4

1

2

3

4

1

2

3

4

1

2

3

4

fin qui tutto ok

ora devo mostrare questo

settembre

1

2

3

4

giungo

1

2

3

4

luglio

1

2

3

4

agosto

1

2

3

4

come devo fare????

AHAHAHHA mi sono accorto che ho usato $i al posto di $mese ahahahauhauah ;D ;D ;D sto fondendo

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X
       $mese_array = array(1=>'settembre',2=>'giungo',3=>'luglio',4=>'agosto');

       $settimane_array = array(1=>array(1=>'a',2=>'b',3=>'c',4=>'d'),2=>array(1=>'e',2=>'f',3=>'g',4=>'h'),3=>array(1=>'i',2=>'l',3=>'m',4=>'n'),4=>array(1=>'p',2=>'q',3=>'r',4=>'s'));

       

       for($mese = 1;$mese <= 4;$mese++)

       {

       echo '<p class="">'.$mese_array[$mese].'</p>';   

       

       

       for($sett = 1;$sett <= 4;$sett++)

       {

       echo $settimane_array[$mese][$sett].'<br>';

       }

       

       echo '<br>';

       }

è un gran bel casino , ok per ora con le lettere va tutto come vorrei ora devo provare con le checkbox e i dati dal db ...

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

devo fare un controllo su un array con 16 chiavi

in quei cicli solo che devo suddividere i numeri in 4 fasi

prima iterazione

$indice = 1-2-3-4

seconda iterazione

$indice =4-5-6-7-8

terza iterazione

$indice = 8-9-10-11-12

quarta iterazione

$indice =12-13-14-15-16

come faccio è quello il problema principale ( dopo 5 ore ci sono arrivato  ;D )

insomma dovrebbe riprodurre un risultato :

se $res['tab_{$indice}'] == y

mostra pulsante verde

altrimenti ROSSO

ma dato che nn ci so fare nn riesco mi aiutate???

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda