Good evening, I seem to have got around to my problem!
The solution remains (at least temporary)
//criar o array (primeiros dois dias folga 1 e 2)
$arrayTurno = array('1','2');
//verifico qual o fim do array
$end = array_slice($arrayTurno, -1, 1);
//verifico qual o ultimo turno antes das folgas (manhã 1, manhã 2, tarde 1 ou tarde 2)
$lastTurno = array_slice($arrayTurno, -3, 1);
//Verifico qual o ultimo turmo de manhã (3 manhã 1 e 5 manhã 2)
$lastM = array_slice($arrayTurno, -6, 1);
// se o turno apenas tem apenas 2 dias (folgas) acrescenta 4 dias de manhã 1
if (count($arrayTurno) < 3 and $end = '2') {
array_push($arrayTurno, '3','3','3','3');
}
// se já existe 1 turno ou + verifica se é manhã 1 (se assim for acrescenta folgas + tarde 1)
if (count($arrayTurno) > 3 and $lastTurno = '3') {
array_push($arrayTurno, '1','2','4','4','4','4');
}
// se já existe 1 turno ou + verifica se é tarde 1 (se assim for acrescenta folgas + manhã 2)
if (count($arrayTurno) > 3 and $lastM = '4') {
array_push($arrayTurno, '1','2','5','5','5','5');
}
// se já existe 1 turno ou + verifica se é manhã 2 (se assim for acrescenta folgas + tarde 2)
if (count($arrayTurno) > 3 and $lastM = '5') {
array_push($arrayTurno, '1','2','6','6','6','6');
}
// acabo de encher o array até ficar com o comprimento do total de datas
$max = mysqli_num_rows($resultData);
$newArrayTurno = array();
while(count($newArrayTurno) <= $max){
$newArrayTurno = array_merge($newArrayTurno, $arrayTurno);
}
$arrayTurno = array_slice($newArrayTurno, 0, $max);
at the end just insert in the table.
Thanks, regards, Rui
I didn’t quite get the idea, but for what you want to do, you have to select, in the first table, then make a mysql_fetch_array or Assoc, and then insert in the other you want.
– Gonçalo
Also can do logo, directly with while.
– Gonçalo
What have you tried? Received some error?
– jlHertel
I am very Noob in this. Anyway my problem are the parameters (4 days morning, 2 off, 4 days late) ie 4 days id=1, 2 days id=3 and...
– Motorui