-
elbambolo
Junior Member
-
Posts: 13
Threads: 4
Joined: Dec 2023
Reputation:
0
04-04-2024, 09:05 AM
(This post was last modified: 04-04-2024, 09:33 AM by elbambolo.)
Good morning,
I'm trying to create a page in which the user must associate one element with another.
Once an item is selected, that item cannot be selected again.
In practice, the user must select a content for each box.
I was thinking of using Jquery UI Droppable, putting 5 empty boxes on the left and 5 elements on the right.
Has anyone ever used this method?
is there an easier way?
obviously there will be checks on objects and positions.
once the user is done, I will save the choice inside the mysql database.
I'm currently using codeigniter 4 with a local installation, on a linux server.
result image
-
Bosborne
Member
-
Posts: 53
Threads: 0
Joined: Mar 2024
Reputation:
3
04-05-2024, 03:35 AM
(This post was last modified: 04-05-2024, 03:36 AM by Bosborne.)
I am also a newbie and do not have a direct answer to your question.
I moved to Codeigniter because of its speed but, previously, I noticed that just loading jquery was consuming a lot of pages loading time., I am definitely no JS expert but, from my understanding, I know of no reason to use JQuery except for possibly familiarity with its syntax.
I believe JQuery existed primarily for 2 reasons.. For cross browser compatibility Abe to extend JS. Browsers have now pretty much standardized on JS versions and newer versions have implemented most all JQuery functionality but with a different syntax.
Personally, I only use some occasional JS for things like automatic form submission.
I just thought this was worth mentioning as something to consider.
Bruce
-
elbambolo
Junior Member
-
Posts: 13
Threads: 4
Joined: Dec 2023
Reputation:
0
obviously as an inexperienced person, I thought that using jquery to solve this problem was the simplest way.
but from what I see, it is better to take another path.
I'm currently stuck. Using only php and html I can get the data from the database and dynamically populate the various <select><option>s.
I'm stuck here and can't move forward. I can't make it so that if the user selects a food on the first day, then that food should not appear in the <options> of the other days.
For example:
breakfast 1: strawberries
breakfast 2: yogurt
breakfast 3: milk
can't pick strawberries for two days. therefore in the select, if on the first day it selects strawberries, in the other two <select> in the <option>strawberries, there must be disabled. or I don't know, since they are loaded dynamically, exclude strawberries from the loader if already loaded in the previous <select>.
honestly I've been stuck here for a few days and I have no ideas on how to move forward.
this is my view:
Code: <section class="intro container">
<div class="row">
<div class="span12">
<p>Seleziona i piatti che vuoi inserire nel tuo menù settimanale. Puoi selezionare fino a 7 piatti per ogni pasto della giornata.</p>
<?php
$startDate = new DateTime($assegnazioneMemory->data);
$endDate = new DateTime($assegnazioneMemory->data_fine);
$endDate->modify('+1 day'); // Include the end date in the period
$interval = new DateInterval('P1D');
$period = new DatePeriod($startDate, $interval, $endDate);
$numeroColazioni = new DatePeriod($startDate, $interval, $endDate);
$giorni = array('Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato');
?>
<form action="<?= base_url('questo-poi-lo-vediamo') ?>" method="post">
<table class="table table-bordered text-center">
<thead>
<tr>
<th>Giorno</th>
<th>Colazione</th>
<th>Pranzo</th>
<th>Cena</th>
</tr>
</thead>
<tbody>
<?php $i = 1; ?>
<?php foreach ($period as $date) :
?>
<tr>
<td> <?php $dayNumber = date("w", strtotime($date->format('Y-m-d')));
$dayName = $giorni[$dayNumber];
$extendedDate = date("d", strtotime($date->format('Y-m-d')));
echo "$dayName $extendedDate";
?>
<input type="hidden" name="data<?= $i ?>" value="<?= $date->format('Y-m-d') ?>">
<td>
<select class="form-select" id="colazione">
<option selected>Seleziona colazione <?= $i ?></option>
<?php
$a = 0;
foreach ($numeroColazioni as $giorno) {
$a++; ?>
<option carboidrati='
<?php
if (${'colazione' . $a}->alimento_1_c == 1 || ${'colazione' . $a}->alimento_2_c == 1 || ${'colazione' . $a}->alimento_3_c == 1 || ${'colazione' . $a}->alimento_4_c == 1) {
echo "1";
} else {
echo "0";
}
?>' value='<?= strval($programmaMemory->{'colazione' . $a . '_id'}) ?>'><?= strval($programmaMemory->{'colazione' . $a}) ?></option>;
<?php
}
?>
</select>
</td>
<td>
<select class="form-select" id="pranzo">
<option selected>Seleziona pranzo <?= $i ?></option>
<?php
$a = 0;
foreach ($numeroColazioni as $giorno) {
$a++; ?>
<option carboidrati='
<?php
if (${'pranzo' . $a}->alimento_1_c == 1 || ${'pranzo' . $a}->alimento_2_c == 1 || ${'pranzo' . $a}->alimento_3_c == 1 || ${'pranzo' . $a}->alimento_4_c == 1) {
echo "1";
} else {
echo "0";
}
?>' value='<?= strval($programmaMemory->{'pranzo' . $a . '_id'}) ?>'><?= strval($programmaMemory->{'pranzo' . $a}) ?></option>;
<?php
}
?>
</select>
</td>
<td>
<select class="form-select" id="cena">
<option selected>Seleziona cena <?= $i ?></option>
<?php
$a = 0;
foreach ($numeroColazioni as $giorno) {
$a++; ?>
<option carboidrati='
<?php
if (${'cena' . $a}->alimento_1_c == 1 || ${'cena' . $a}->alimento_2_c == 1 || ${'cena' . $a}->alimento_3_c == 1 || ${'cena' . $a}->alimento_4_c == 1) {
echo "1";
} else {
echo "0";
}
?>' value='<?= strval($programmaMemory->{'cena' . $a . '_id'}) ?>'><?= strval($programmaMemory->{'cena' . $a}) ?></option>;
<?php
}
?>
</select>
</td>
</tr>
<?php $i++;
endforeach;
?>
</tbody>
</table>
</form>
</div>
</section>
and this, controller:
Code: <?php
namespace App\Controllers;
use App\Models\AdminProgrammaMemoryModel;
use App\Models\AdminPiattiCompostiModel;
use App\Models\AdminAssegnazioneMemoryModel;
use App\Models\AdminPiattiBaseModel;
class AdminProgrammaMemoryController extends BaseController
{
public function listaProgrammiMemory()
{
$data = [
'title_meta' => view('partials/title-meta', ['title' => 'Lista programmi memory']),
'page_title' => view('partials/page-title', ['title' => 'Lista programmi memory', 'li_1' => 'Programmi', 'li_2' => 'Lista programmi memory'])
];
$adminProgrammaMemoryModel = new AdminProgrammaMemoryModel();
$data['listaProgrammiMemory'] = $adminProgrammaMemoryModel->listaProgrammiMemory();
return view('lista-programmi-memory', $data);
}
public function modificaProgrammaMemory()
{
$adminProgrammaMemoryModel = new AdminProgrammaMemoryModel();
$id = $this->request->getVar('id_programma_memory');
$data = [
'nome' => $this->request->getVar('nome'),
'colazione_1' => $this->request->getVar('colazione_1'),
'colazione_2' => $this->request->getVar('colazione_2'),
'colazione_3' => $this->request->getVar('colazione_3'),
'colazione_4' => $this->request->getVar('colazione_4'),
'colazione_5' => $this->request->getVar('colazione_5'),
'colazione_6' => $this->request->getVar('colazione_6'),
'colazione_7' => $this->request->getVar('colazione_7'),
'pranzo_1' => $this->request->getVar('pranzo_1'),
'pranzo_2' => $this->request->getVar('pranzo_2'),
'pranzo_3' => $this->request->getVar('pranzo_3'),
'pranzo_4' => $this->request->getVar('pranzo_4'),
'pranzo_5' => $this->request->getVar('pranzo_5'),
'pranzo_6' => $this->request->getVar('pranzo_6'),
'pranzo_7' => $this->request->getVar('pranzo_7'),
'cena_1' => $this->request->getVar('cena_1'),
'cena_2' => $this->request->getVar('cena_2'),
'cena_3' => $this->request->getVar('cena_3'),
'cena_4' => $this->request->getVar('cena_4'),
'cena_5' => $this->request->getVar('cena_5'),
'cena_6' => $this->request->getVar('cena_6'),
'cena_7' => $this->request->getVar('cena_7'),
'note' => $this->request->getVar('note')
];
$adminProgrammaMemoryModel->update($id, $data);
return redirect()->to('/dettaglio-programma-memory/' . $id);
}
public function eliminaProgrammaMemory($id_programma_memory = NULL)
{
$adminProgrammaMemoryModel = new AdminProgrammaMemoryModel();
$adminProgrammaMemoryModel->delete($id_programma_memory);
return redirect()->to('/lista-programmi-memory');
}
public function dettaglioProgrammaMemory($id_programma_memory = NULL)
{
$data = [
'title_meta' => view('partials/title-meta', ['title' => 'Dettaglio programma memory']),
'page_title' => view('partials/page-title', ['title' => 'Dettaglio programma memory', 'li_1' => 'Programmi', 'li_2' => 'Dettaglio programma memory'])
];
$adminProgrammaMemoryModel = new AdminProgrammaMemoryModel();
$data['programmaMemory'] = $adminProgrammaMemoryModel->dettaglioProgrammaMemory($id_programma_memory);
$adminPiattiCompostiModel = new AdminPiattiCompostiModel();
$data['listaPiattiComposti'] = $adminPiattiCompostiModel->scaricaPiattiComposti();
return view('dettaglio-programma-memory', $data);
}
public function creaProgrammaMemory()
{
$data = [
'title_meta' => view('partials/title-meta', ['title' => 'Crea programma memory']),
'page_title' => view('partials/page-title', ['title' => 'Crea programma memory', 'li_1' => 'Programmi', 'li_2' => 'Crea programma memory'])
];
$adminPiattiCompostiModel = new AdminPiattiCompostiModel();
$data['listaPiattiComposti'] = $adminPiattiCompostiModel->scaricaPiattiComposti();
return view('crea-programma-memory', $data);
}
public function inserisciProgrammaMemory()
{
$data = [
'nome' => $this->request->getVar('nome'),
'colazione_1' => $this->request->getVar('colazione_1'),
'colazione_2' => $this->request->getVar('colazione_2'),
'colazione_3' => $this->request->getVar('colazione_3'),
'colazione_4' => $this->request->getVar('colazione_4'),
'colazione_5' => $this->request->getVar('colazione_5'),
'colazione_6' => $this->request->getVar('colazione_6'),
'colazione_7' => $this->request->getVar('colazione_7'),
'pranzo_1' => $this->request->getVar('pranzo_1'),
'pranzo_2' => $this->request->getVar('pranzo_2'),
'pranzo_3' => $this->request->getVar('pranzo_3'),
'pranzo_4' => $this->request->getVar('pranzo_4'),
'pranzo_5' => $this->request->getVar('pranzo_5'),
'pranzo_6' => $this->request->getVar('pranzo_6'),
'pranzo_7' => $this->request->getVar('pranzo_7'),
'cena_1' => $this->request->getVar('cena_1'),
'cena_2' => $this->request->getVar('cena_2'),
'cena_3' => $this->request->getVar('cena_3'),
'cena_4' => $this->request->getVar('cena_4'),
'cena_5' => $this->request->getVar('cena_5'),
'cena_6' => $this->request->getVar('cena_6'),
'cena_7' => $this->request->getVar('cena_7'),
'note' => $this->request->getVar('note')
];
$adminProgrammaMemoryModel = new AdminProgrammaMemoryModel();
$adminProgrammaMemoryModel->creaNuovoProgrammaMemory($data);
//questa funziona và sistemata!!!
if ($adminProgrammaMemoryModel->getInsertID()) {
$message = "Inserimento avvenuto con successo.";
} else {
$message = "Errore durante l'inserimento.";
}
return redirect()->to('/lista-programmi-memory')->with('message', $message);
}
public function assegnaProgrammaMemory()
{
$adminAssegnazioneMemoryModel = new AdminAssegnazioneMemoryModel();
$data = [
'id_utente' => $this->request->getVar('id_utente'),
'id_programma_memory' => $this->request->getVar('selectInput'),
'data' => $this->request->getVar('data'),
'data_fine' => $this->request->getVar('data_fine')
];
$adminAssegnazioneMemoryModel->assegnaMemory($data);
return redirect()->to(base_url('visualizza-programma-memory/' . $this->request->getVar('id_utente')));
}
public function visualizzaProgrammaMemoryAssegnato()
{
$data = [
'title_meta' => view('partials/title-meta', ['title' => 'Visualizza programma memory']),
'page_title' => view('partials/page-title', ['title' => 'Visualizza programma memory', 'li_1' => 'Programmi', 'li_2' => 'Visualizza programma memory'])
];
$id = auth()->id();
$adminAssegnazioneMemoryModel = new AdminAssegnazioneMemoryModel();
$data['assegnazioneMemory'] = $adminAssegnazioneMemoryModel->getAssegnazioneMemory($id);
$adminProgrammaMemoryModel = new AdminProgrammaMemoryModel();
$data['programmaMemory'] = $adminProgrammaMemoryModel->dettaglioProgrammaMemory($data['assegnazioneMemory']->id_programma_memory);
$colazioneIds = [
$data['programmaMemory']->colazione1_id,
$data['programmaMemory']->colazione2_id,
$data['programmaMemory']->colazione3_id,
$data['programmaMemory']->colazione4_id,
$data['programmaMemory']->colazione5_id,
$data['programmaMemory']->colazione6_id,
$data['programmaMemory']->colazione7_id,
];
foreach ($colazioneIds as $key => $colazioneId) {
$data['colazione' . ($key + 1)] = $this->scaricaListaDettaglioAlimenti($colazioneId);
}
$pranzoIds = [
$data['programmaMemory']->pranzo1_id,
$data['programmaMemory']->pranzo2_id,
$data['programmaMemory']->pranzo3_id,
$data['programmaMemory']->pranzo4_id,
$data['programmaMemory']->pranzo5_id,
$data['programmaMemory']->pranzo6_id,
$data['programmaMemory']->pranzo7_id,
];
foreach ($pranzoIds as $key => $pranzoId) {
$data['pranzo' . ($key + 1)] = $this->scaricaListaDettaglioAlimenti($pranzoId);
}
$cenaIds = [
$data['programmaMemory']->cena1_id,
$data['programmaMemory']->cena2_id,
$data['programmaMemory']->cena3_id,
$data['programmaMemory']->cena4_id,
$data['programmaMemory']->cena5_id,
$data['programmaMemory']->cena6_id,
$data['programmaMemory']->cena7_id,
];
foreach ($cenaIds as $key => $cenaId) {
$data['cena' . ($key + 1)] = $this->scaricaListaDettaglioAlimenti($cenaId);
}
return view('utente/compila-programma-memory', $data);
}
private function scaricaListaDettaglioAlimenti($id_piatto_composto)
{
$adminPiattiCompostiModel = new AdminPiattiCompostiModel();
$listaPiattiComposti = $adminPiattiCompostiModel->dettaglioAlimento($id_piatto_composto);
return $listaPiattiComposti;
}
private function controlloCarboidrati($alimento_1_c, $alimento_2_c, $alimento_3_c, $alimento_4_c)
{
if ($alimento_1_c == 1 || $alimento_2_c == 1 || $alimento_3_c == 1 || $alimento_4_c == 1) {
return "1";
} else {
return "0";
}
}
}
I truly appreciate any advice and suggestions
-
elbambolo
Junior Member
-
Posts: 13
Threads: 4
Joined: Dec 2023
Reputation:
0
a little update. I'm moving forward one step at a time in solving the problem. I'm currently trying to do this.
I divide the problem into days.
for each day I have 1 breakfast 1 lunch and 1 dinner.
the first selection is simple. the user selects what he wants and I insert it into the database.
I have two parallel tables.
in one table I have the list of foods, in the second table, with initial value == 0, I have the selection of users.
for each day, if value != 0, I remove that food from the select, disabling it.
and I proceed like this for each day, entering the single day for the remaining 7 days of the week.
I'll post the code of what I've done so far.
If anyone has any advice, it's always welcome
Controller:
Code: public function creaProgrammaMemory($giornata = NULL, $id_programma_memory = NULL)
{
$data = [
'title_meta' => view('partials/title-meta', ['title' => 'Crea programma memory']),
'page_title' => view('partials/page-title', ['title' => 'Crea programma memory', 'li_1' => 'Programmi', 'li_2' => 'Crea programma memory'])
];
//lista dei piatti già usati, negli altri giorni
$adminAssegnazioneMemoryModel = new AdminAssegnazioneMemoryModel();
$data['piattiAltriGiorni'] = $adminAssegnazioneMemoryModel->scaricaPiattiAltriGiorni($id_programma_memory);
//scarica la lista dei piatti assegnati all'utente
$adminProgrammaMemoryModel = new AdminProgrammaMemoryModel();
$data['programmaMemory'] = $adminProgrammaMemoryModel->dettaglioProgrammaMemory($id_programma_memory);
//crea l'array con i piatti composti, selezionabili e con la presenza o meno dei carboidrati
$adminPiattiCompostiModel = new AdminPiattiCompostiModel();
$data['dettaglioColazione1'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->colazione1_id);
$data['dettaglioColazione2'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->colazione2_id);
$data['dettaglioColazione3'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->colazione3_id);
$data['dettaglioColazione4'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->colazione4_id);
$data['dettaglioColazione5'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->colazione5_id);
$data['dettaglioColazione6'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->colazione6_id);
$data['dettaglioColazione7'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->colazione7_id);
$data['dettaglioPranzo1'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->pranzo1_id);
$data['dettaglioPranzo2'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->pranzo2_id);
$data['dettaglioPranzo3'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->pranzo3_id);
$data['dettaglioPranzo4'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->pranzo4_id);
$data['dettaglioPranzo5'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->pranzo5_id);
$data['dettaglioPranzo6'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->pranzo6_id);
$data['dettaglioPranzo7'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->pranzo7_id);
$data['dettaglioCena1'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->cena1_id);
$data['dettaglioCena2'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->cena2_id);
$data['dettaglioCena3'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->cena3_id);
$data['dettaglioCena4'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->cena4_id);
$data['dettaglioCena5'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->cena5_id);
$data['dettaglioCena6'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->cena6_id);
$data['dettaglioCena7'] = $adminPiattiCompostiModel->dettaglioAlimento($data['programmaMemory']->cena7_id);
//colazione 1
$colazione1_c = 0;
$selezionabile = NULL;
if ($data['dettaglioColazione1']->alimento_1_c == 1 || $data['dettaglioColazione1']->alimento_2_c == 1 || $data['dettaglioColazione1']->alimento_3_c == 1 || $data['dettaglioColazione1']->alimento_4_c == 1) {
$colazione1_c =1;
}
if ($data['piattiAltriGiorni']->colazione_utente_1 != 0)
{
$selezionabile = "disabled";
}
$pasto['colazione1'] = [
'id' => $data['programmaMemory']->colazione1_id,
'nome' => $data['dettaglioColazione1']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $colazione1_c
];
//colazione 2
$colazione2_c = 0;
$selezionabile = NULL;
if ($data['dettaglioColazione2']->alimento_1_c == 1 || $data['dettaglioColazione2']->alimento_2_c == 1 || $data['dettaglioColazione2']->alimento_3_c == 1 || $data['dettaglioColazione2']->alimento_4_c == 1) {
$colazione2_c =1;
}
if ($data['piattiAltriGiorni']->colazione_utente_2 != 0)
{
$selezionabile = "disabled";
}
$pasto['colazione2'] = [
'id' => $data['programmaMemory']->colazione2_id,
'nome' => $data['dettaglioColazione2']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $colazione2_c
];
//colazione 3
$colazione3_c = 0;
$selezionabile = NULL;
if ($data['dettaglioColazione3']->alimento_1_c == 1 || $data['dettaglioColazione3']->alimento_2_c == 1 || $data['dettaglioColazione3']->alimento_3_c == 1 || $data['dettaglioColazione3']->alimento_4_c == 1) {
$colazione3_c =1;
}
if ($data['piattiAltriGiorni']->colazione_utente_3 != 0)
{
$selezionabile = "disabled";
}
$pasto['colazione3'] = [
'id' => $data['programmaMemory']->colazione3_id,
'nome' => $data['dettaglioColazione3']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $colazione3_c
];
//colazione 4
$colazione4_c = 0;
$selezionabile = NULL;
if ($data['dettaglioColazione4']->alimento_1_c == 1 || $data['dettaglioColazione4']->alimento_2_c == 1 || $data['dettaglioColazione4']->alimento_3_c == 1 || $data['dettaglioColazione4']->alimento_4_c == 1) {
$colazione4_c =1;
}
if ($data['piattiAltriGiorni']->colazione_utente_4 != 0)
{
$selezionabile = "disabled";
}
$pasto['colazione4'] = [
'id' => $data['programmaMemory']->colazione4_id,
'nome' => $data['dettaglioColazione4']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $colazione4_c
];
//colazione 5
$colazione5_c = 0;
$selezionabile = NULL;
if ($data['dettaglioColazione5']->alimento_1_c == 1 || $data['dettaglioColazione5']->alimento_2_c == 1 || $data['dettaglioColazione5']->alimento_3_c == 1 || $data['dettaglioColazione5']->alimento_4_c == 1) {
$colazione5_c =1;
}
if ($data['piattiAltriGiorni']->colazione_utente_5 != 0)
{
$selezionabile = "disabled";
}
$pasto['colazione5'] = [
'id' => $data['programmaMemory']->colazione5_id,
'nome' => $data['dettaglioColazione5']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $colazione5_c
];
//colazione 6
$colazione6_c = 0;
$selezionabile = NULL;
if ($data['dettaglioColazione6']->alimento_1_c == 1 || $data['dettaglioColazione6']->alimento_2_c == 1 || $data['dettaglioColazione6']->alimento_3_c == 1 || $data['dettaglioColazione6']->alimento_4_c == 1) {
$colazione6_c =1;
}
if ($data['piattiAltriGiorni']->colazione_utente_6 != 0)
{
$selezionabile = "disabled";
}
$pasto['colazione6'] = [
'id' => $data['programmaMemory']->colazione6_id,
'nome' => $data['dettaglioColazione6']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $colazione6_c
];
//colazione 7
$colazione7_c = 0;
$selezionabile = NULL;
if ($data['dettaglioColazione7']->alimento_1_c == 1 || $data['dettaglioColazione7']->alimento_2_c == 1 || $data['dettaglioColazione7']->alimento_3_c == 1 || $data['dettaglioColazione7']->alimento_4_c == 1) {
$colazione7_c =1;
}
if ($data['piattiAltriGiorni']->colazione_utente_7 != 0)
{
$selezionabile = "disabled";
}
$pasto['colazione7'] = [
'id' => $data['programmaMemory']->colazione7_id,
'nome' => $data['dettaglioColazione7']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $colazione7_c
];
//pranzo 1
$pranzo1_c = 0;
$selezionabile = NULL;
if ($data['dettaglioPranzo1']->alimento_1_c == 1 || $data['dettaglioPranzo1']->alimento_2_c == 1 || $data['dettaglioPranzo1']->alimento_3_c == 1 || $data['dettaglioPranzo1']->alimento_4_c == 1) {
$pranzo1_c =1;
}
if ($data['piattiAltriGiorni']->pranzo_utente_1 != 0)
{
$selezionabile = "disabled";
}
$pasto['pranzo1'] = [
'id' => $data['programmaMemory']->pranzo1_id,
'nome' => $data['dettaglioPranzo1']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $pranzo1_c
];
//pranzo 2
$pranzo2_c = 0;
$selezionabile = NULL;
if ($data['dettaglioPranzo2']->alimento_1_c == 1 || $data['dettaglioPranzo2']->alimento_2_c == 1 || $data['dettaglioPranzo2']->alimento_3_c == 1 || $data['dettaglioPranzo2']->alimento_4_c == 1) {
$pranzo2_c =1;
}
if ($data['piattiAltriGiorni']->pranzo_utente_2 != 0)
{
$selezionabile = "disabled";
}
$pasto['pranzo2'] = [
'id' => $data['programmaMemory']->pranzo2_id,
'nome' => $data['dettaglioPranzo2']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $pranzo2_c
];
//pranzo 3
$pranzo3_c = 0;
$selezionabile = NULL;
if ($data['dettaglioPranzo3']->alimento_1_c == 1 || $data['dettaglioPranzo3']->alimento_2_c == 1 || $data['dettaglioPranzo3']->alimento_3_c == 1 || $data['dettaglioPranzo3']->alimento_4_c == 1) {
$pranzo3_c =1;
}
if ($data['piattiAltriGiorni']->pranzo_utente_3 != 0)
{
$selezionabile = "disabled";
}
$pasto['pranzo3'] = [
'id' => $data['programmaMemory']->pranzo3_id,
'nome' => $data['dettaglioPranzo3']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $pranzo3_c
];
//pranzo 4
$pranzo4_c = 0;
$selezionabile = NULL;
if ($data['dettaglioPranzo4']->alimento_1_c == 1 || $data['dettaglioPranzo4']->alimento_2_c == 1 || $data['dettaglioPranzo4']->alimento_3_c == 1 || $data['dettaglioPranzo4']->alimento_4_c == 1) {
$pranzo4_c =1;
}
if ($data['piattiAltriGiorni']->pranzo_utente_4 != 0)
{
$selezionabile = "disabled";
}
$pasto['pranzo4'] = [
'id' => $data['programmaMemory']->pranzo4_id,
'nome' => $data['dettaglioPranzo4']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $pranzo4_c
];
//pranzo 5
$pranzo5_c = 0;
$selezionabile = NULL;
if ($data['dettaglioPranzo5']->alimento_1_c == 1 || $data['dettaglioPranzo5']->alimento_2_c == 1 || $data['dettaglioPranzo5']->alimento_3_c == 1 || $data['dettaglioPranzo5']->alimento_4_c == 1) {
$pranzo5_c =1;
}
if ($data['piattiAltriGiorni']->pranzo_utente_5 != 0)
{
$selezionabile = "disabled";
}
$pasto['pranzo5'] = [
'id' => $data['programmaMemory']->pranzo5_id,
'nome' => $data['dettaglioPranzo5']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $pranzo5_c
];
//pranzo 6
$pranzo6_c = 0;
$selezionabile = NULL;
if ($data['dettaglioPranzo6']->alimento_1_c == 1 || $data['dettaglioPranzo6']->alimento_2_c == 1 || $data['dettaglioPranzo6']->alimento_3_c == 1 || $data['dettaglioPranzo6']->alimento_4_c == 1) {
$pranzo6_c =1;
}
if ($data['piattiAltriGiorni']->pranzo_utente_6 != 0)
{
$selezionabile = "disabled";
}
$pasto['pranzo6'] = [
'id' => $data['programmaMemory']->pranzo6_id,
'nome' => $data['dettaglioPranzo6']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $pranzo6_c
];
//pranzo 7
$pranzo7_c = 0;
$selezionabile = NULL;
if ($data['dettaglioPranzo7']->alimento_1_c == 1 || $data['dettaglioPranzo7']->alimento_2_c == 1 || $data['dettaglioPranzo7']->alimento_3_c == 1 || $data['dettaglioPranzo7']->alimento_4_c == 1) {
$pranzo7_c =1;
}
if ($data['piattiAltriGiorni']->pranzo_utente_7 != 0)
{
$selezionabile = "disabled";
}
$pasto['pranzo7'] = [
'id' => $data['programmaMemory']->pranzo7_id,
'nome' => $data['dettaglioPranzo7']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $pranzo7_c
];
//cena 1
$cena1_c = 0;
$selezionabile = NULL;
if ($data['dettaglioCena1']->alimento_1_c == 1 || $data['dettaglioCena1']->alimento_2_c == 1 || $data['dettaglioCena1']->alimento_3_c == 1 || $data['dettaglioCena1']->alimento_4_c == 1) {
$cena1_c =1;
}
if ($data['piattiAltriGiorni']->cena_utente_1 != 0)
{
$selezionabile = "disabled";
}
$pasto['cena1'] = [
'id' => $data['programmaMemory']->cena1_id,
'nome' => $data['dettaglioCena1']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $cena1_c
];
//cena 2
$cena2_c = 0;
$selezionabile = NULL;
if ($data['dettaglioCena2']->alimento_1_c == 1 || $data['dettaglioCena2']->alimento_2_c == 1 || $data['dettaglioCena2']->alimento_3_c == 1 || $data['dettaglioCena2']->alimento_4_c == 1) {
$cena2_c =1;
}
if ($data['piattiAltriGiorni']->cena_utente_2 != 0)
{
$selezionabile = "disabled";
}
$pasto['cena2'] = [
'id' => $data['programmaMemory']->cena2_id,
'nome' => $data['dettaglioCena2']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $cena2_c
];
//cena 3
$cena3_c = 0;
$selezionabile = NULL;
if ($data['dettaglioCena3']->alimento_1_c == 1 || $data['dettaglioCena3']->alimento_2_c == 1 || $data['dettaglioCena3']->alimento_3_c == 1 || $data['dettaglioCena3']->alimento_4_c == 1) {
$cena3_c =1;
}
if ($data['piattiAltriGiorni']->cena_utente_3 != 0)
{
$selezionabile = "disabled";
}
$pasto['cena3'] = [
'id' => $data['programmaMemory']->cena3_id,
'nome' => $data['dettaglioCena3']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $cena3_c
];
//cena 4
$cena4_c = 0;
$selezionabile = NULL;
if ($data['dettaglioCena4']->alimento_1_c == 1 || $data['dettaglioCena4']->alimento_2_c == 1 || $data['dettaglioCena4']->alimento_3_c == 1 || $data['dettaglioCena4']->alimento_4_c == 1) {
$cena4_c =1;
}
if ($data['piattiAltriGiorni']->cena_utente_4 != 0)
{
$selezionabile = "disabled";
}
$pasto['cena4'] = [
'id' => $data['programmaMemory']->cena4_id,
'nome' => $data['dettaglioCena4']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $cena4_c
];
//cena 5
$cena5_c = 0;
$selezionabile = NULL;
if ($data['dettaglioCena5']->alimento_1_c == 1 || $data['dettaglioCena5']->alimento_2_c == 1 || $data['dettaglioCena5']->alimento_3_c == 1 || $data['dettaglioCena5']->alimento_4_c == 1) {
$cena5_c =1;
}
if ($data['piattiAltriGiorni']->cena_utente_5 != 0)
{
$selezionabile = "disabled";
}
$pasto['cena5'] = [
'id' => $data['programmaMemory']->cena5_id,
'nome' => $data['dettaglioCena5']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $cena5_c
];
//cena 6
$cena6_c = 0;
$selezionabile = NULL;
if ($data['dettaglioCena6']->alimento_1_c == 1 || $data['dettaglioCena6']->alimento_2_c == 1 || $data['dettaglioCena6']->alimento_3_c == 1 || $data['dettaglioCena6']->alimento_4_c == 1) {
$cena6_c =1;
}
if ($data['piattiAltriGiorni']->cena_utente_6 != 0)
{
$selezionabile = "disabled";
}
$pasto['cena6'] = [
'id' => $data['programmaMemory']->cena6_id,
'nome' => $data['dettaglioCena6']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $cena6_c
];
//cena 7
$cena7_c = 0;
$selezionabile = NULL;
if ($data['dettaglioCena7']->alimento_1_c == 1 || $data['dettaglioCena7']->alimento_2_c == 1 || $data['dettaglioCena7']->alimento_3_c == 1 || $data['dettaglioCena7']->alimento_4_c == 1) {
$cena7_c =1;
}
if ($data['piattiAltriGiorni']->cena_utente_7 != 0)
{
$selezionabile = "disabled";
}
$pasto['cena7'] = [
'id' => $data['programmaMemory']->cena7_id,
'nome' => $data['dettaglioCena7']->nome,
'selezionabile' => $selezionabile,
'carboidrati' => $cena7_c
];
return view('utente/crea-programma-memory', $pasto);
}
Model:
Code: public function scaricaPiattiAltriGiorni($id_programma_utente)
{
$builder = $this->db->table('programma_memory_utente');
$builder->select('colazione_utente_1, colazione_utente_2, colazione_utente_3, colazione_utente_4, colazione_utente_5, colazione_utente_6, colazione_utente_7, pranzo_utente_1, pranzo_utente_2, pranzo_utente_3, pranzo_utente_4, pranzo_utente_5, pranzo_utente_6, pranzo_utente_7, cena_utente_1, cena_utente_2, cena_utente_3, cena_utente_4, cena_utente_5, cena_utente_6, cena_utente_7');
$builder->where('id_programma_utente', $id_programma_utente);
$query = $builder->get();
return $query->getRow();
}
public function dettaglioProgrammaMemory($id_programma_memory)
{
$builder = $this->db->table('programma_memory');
$builder->select('id_programma_memory, programma_memory.nome, colazione_1.id_piatto_composto AS colazione1_id, colazione_1.nome AS colazione1, colazione_2.id_piatto_composto AS colazione2_id, colazione_2.nome AS colazione2, colazione_3.id_piatto_composto AS colazione3_id, colazione_3.nome AS colazione3, colazione_4.id_piatto_composto AS colazione4_id, colazione_4.nome AS colazione4, colazione_5.id_piatto_composto AS colazione5_id, colazione_5.nome AS colazione5, colazione_6.id_piatto_composto AS colazione6_id, colazione_6.nome AS colazione6, colazione_7.id_piatto_composto AS colazione7_id, colazione_7.nome AS colazione7, pranzo_1.id_piatto_composto AS pranzo1_id, pranzo_1.nome AS pranzo1, pranzo_2.id_piatto_composto AS pranzo2_id, pranzo_2.nome AS pranzo2, pranzo_3.id_piatto_composto AS pranzo3_id, pranzo_3.nome AS pranzo3, pranzo_4.id_piatto_composto AS pranzo4_id, pranzo_4.nome AS pranzo4, pranzo_5.id_piatto_composto AS pranzo5_id, pranzo_5.nome AS pranzo5, pranzo_6.id_piatto_composto AS pranzo6_id, pranzo_6.nome AS pranzo6, pranzo_7.id_piatto_composto AS pranzo7_id, pranzo_7.nome AS pranzo7, cena_1.id_piatto_composto AS cena1_id, cena_1.nome AS cena1, cena_2.id_piatto_composto AS cena2_id, cena_2.nome AS cena2, cena_3.id_piatto_composto AS cena3_id, cena_3.nome AS cena3, cena_4.id_piatto_composto AS cena4_id, cena_4.nome AS cena4, cena_5.id_piatto_composto AS cena5_id, cena_5.nome AS cena5, cena_6.id_piatto_composto AS cena6_id, cena_6.nome AS cena6, cena_7.id_piatto_composto AS cena7_id, cena_7.nome AS cena7, programma_memory.note');
$builder->join('piatto_composto AS colazione_1', 'programma_memory.colazione_1 = colazione_1.id_piatto_composto', 'left');
$builder->join('piatto_composto AS colazione_2', 'programma_memory.colazione_2 = colazione_2.id_piatto_composto', 'left');
$builder->join('piatto_composto AS colazione_3', 'programma_memory.colazione_3 = colazione_3.id_piatto_composto', 'left');
$builder->join('piatto_composto AS colazione_4', 'programma_memory.colazione_4 = colazione_4.id_piatto_composto', 'left');
$builder->join('piatto_composto AS colazione_5', 'programma_memory.colazione_5 = colazione_5.id_piatto_composto', 'left');
$builder->join('piatto_composto AS colazione_6', 'programma_memory.colazione_6 = colazione_6.id_piatto_composto', 'left');
$builder->join('piatto_composto AS colazione_7', 'programma_memory.colazione_7 = colazione_7.id_piatto_composto', 'left');
$builder->join('piatto_composto AS pranzo_1', 'programma_memory.pranzo_1 = pranzo_1.id_piatto_composto', 'left');
$builder->join('piatto_composto AS pranzo_2', 'programma_memory.pranzo_2 = pranzo_2.id_piatto_composto', 'left');
$builder->join('piatto_composto AS pranzo_3', 'programma_memory.pranzo_3 = pranzo_3.id_piatto_composto', 'left');
$builder->join('piatto_composto AS pranzo_4', 'programma_memory.pranzo_4 = pranzo_4.id_piatto_composto', 'left');
$builder->join('piatto_composto AS pranzo_5', 'programma_memory.pranzo_5 = pranzo_5.id_piatto_composto', 'left');
$builder->join('piatto_composto AS pranzo_6', 'programma_memory.pranzo_6 = pranzo_6.id_piatto_composto', 'left');
$builder->join('piatto_composto AS pranzo_7', 'programma_memory.pranzo_7 = pranzo_7.id_piatto_composto', 'left');
$builder->join('piatto_composto AS cena_1', 'programma_memory.cena_1 = cena_1.id_piatto_composto', 'left');
$builder->join('piatto_composto AS cena_2', 'programma_memory.cena_2 = cena_2.id_piatto_composto', 'left');
$builder->join('piatto_composto AS cena_3', 'programma_memory.cena_3 = cena_3.id_piatto_composto', 'left');
$builder->join('piatto_composto AS cena_4', 'programma_memory.cena_4 = cena_4.id_piatto_composto', 'left');
$builder->join('piatto_composto AS cena_5', 'programma_memory.cena_5 = cena_5.id_piatto_composto', 'left');
$builder->join('piatto_composto AS cena_6', 'programma_memory.cena_6 = cena_6.id_piatto_composto', 'left');
$builder->join('piatto_composto AS cena_7', 'programma_memory.cena_7 = cena_7.id_piatto_composto', 'left');
$builder->where('id_programma_memory', $id_programma_memory);
return $builder->get()->getRow();
}
View:
Code: <form>
<label for="colazione">Colazione:</label>
<select id="colazione" name="colazione">
<option value="0">Seleziona un piatto</option>
<!-- options per le colazioni -->
<option value="<?= $colazione1['id']; ?>" carboidrati="<?= $colazione1['carboidrati'] ?>" <?= $colazione1['selezionabile'] ?>><?= $colazione1['nome']; ?></option>
<option value="<?= $colazione2['id']; ?>" carboidrati="<?= $colazione2['carboidrati'] ?>" <?= $colazione2['selezionabile'] ?>><?= $colazione2['nome']; ?></option>
<option value="<?= $colazione3['id']; ?>" carboidrati="<?= $colazione3['carboidrati'] ?>" <?= $colazione3['selezionabile'] ?>><?= $colazione3['nome']; ?></option>
<option value="<?= $colazione4['id']; ?>" carboidrati="<?= $colazione4['carboidrati'] ?>" <?= $colazione4['selezionabile'] ?>><?= $colazione4['nome']; ?></option>
<option value="<?= $colazione5['id']; ?>" carboidrati="<?= $colazione5['carboidrati'] ?>" <?= $colazione5['selezionabile'] ?>><?= $colazione5['nome']; ?></option>
<option value="<?= $colazione6['id']; ?>" carboidrati="<?= $colazione6['carboidrati'] ?>" <?= $colazione6['selezionabile'] ?>><?= $colazione6['nome']; ?></option>
<option value="<?= $colazione7['id']; ?>" carboidrati="<?= $colazione7['carboidrati'] ?>" <?= $colazione7['selezionabile'] ?>><?= $colazione7['nome']; ?></option>
</select>
<label for="pranzo">Pranzo:</label>
<select id="pranzo" name="pranzo">
<!-- options for pranzo menu -->
</select>
<label for="cena">Cena:</label>
<select id="cena" name="cena">
<!-- options for cena menu -->
</select>
</form>
|