Hola, después de toda una tarde de buscar porque este código no hace lo que se supone que debería hacer, os pido ayuda. El tema es el siguiente:
Este código debería crear un array con el dia y el mes que un operario de una tienda en concreto tiene fiesta (fiesta local de esa ciudad).
hasta aquí todo bien,
El problema viene cuando, yo se que el array debería tener 2 valores, ya que la consulta me devuelve 2, pero el do { } while solo me lo hace 1 vez, y solo me crea el array con 1 valor.
Alguien ve porque?
Código PHP:
$numero_op="34";
$anyo="2010";
mysql_select_db($database_con1, $con1);
$query_tienda_operario = sprintf("SELECT * FROM datos where numero ='%s'", $numero_op);
$tienda_operario = mysql_query($query_tienda_operario, $con1) or die(mysql_error());
$row_tienda_operario = mysql_fetch_assoc($tienda_operario);
switch($row_tienda_operario['tienda'])
{
case "SJ":
$tienda_operario = "stjoan";
break;
case "CO":
$tienda_operario = "cornella";
break;
case "CA":
$tienda_operario = "barcelona";
break;
case "RU":
$tienda_operario = "rubi";
break;
case "SF":
$tienda_operario = "stfeliu";
break;
case "IM":
$tienda_operario = "esplugues";
break;
}
mysql_select_db($database_con1, $con1);
$query_vacaciones_tienda = sprintf("SELECT * FROM festivos where tienda='%s' and anyo = '%s'", $tienda_operario, $anyo);
$vacaciones_tienda = mysql_query($query_vacaciones_tienda, $con1) or die(mysql_error());
$row_dias_vacaciones_tienda = mysql_fetch_assoc($vacaciones_tienda);
$totalRows_vacaciones_tienda = mysql_num_rows($vacaciones_tienda);
if($totalRows_vacaciones_tienda > 0)
{
$ft=1;
do{
$dft=$row_dias_vacaciones_tienda['dia'];
$mft=$row_dias_vacaciones_tienda['mes'];
if($dft<=9){ $dft="0".$dft; }
if($mft<=9){ $mft="0".$mft; }
$arr_festivos_tienda[$ft]=$dft."/".$mft;
$ft++;
}while($row_dias_vacaciones_tienda = mysql_fetch_assoc($dias_vacaciones_tienda));
}
Gracias de antemano por la su tiempo