PHP - fetch_array()

   
Vista:

fetch_array()

Publicado por Victor (193 intervenciones) el 22/12/2014 19:17:43
Buenas tardes.

Tengo aqui un problema con un bucle,el cual uso en toda la aplicacion de la misma forma y no me dá problemas.
El asunto todo es correcto la query que la veo por el echo y la he probado en la base de datos,el numero de filas que obtiene tambien es el correcto(otro echo por pantalla) pero sin embargo no me devuelve valores los cuales utilizo en otra pagina.
Estas son las lineas que realizan la accion de consulta,volcado de datos y devolucion de los mismos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$conexion=conectarBD();
$ciclo=getCiclo();
$query="Select * from ciclo where numCrotalMarrano='".$codCrotalAnimal."';";
$consulta=$conexion->query($query) or die(mysql_error());
echo"<br>QueryMuestraCiclosVale=>".$query;
if(!$consulta)
{
 
}else
{
    $cantidadCiclos=$consulta->num_rows;
    echo "<br>Cantidad de ciclos=>".$cantidadCiclos;
    while($fila = $consulta->fetch_array())
    {
        array_push($ciclo,$fila);
    }
    $result = array("cantidad"=>$cantidadCiclos,"ciclo"=>$ciclo);
    return $result;
}
$conexion->close();

Alguien vé algo raro,teniendo en cuenta que el array que devuelve getCiclo funciona bien y que $codCrotalAnimal tiene el valor correcto?

Quedo a la espera de sus respuestas,saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

fetch_array()

Publicado por Victor (193 intervenciones) el 23/12/2014 12:27:51
Buenas tardes gente.

Esto es super raro.
He puesto echo en el bucle que puse ayer y todos los valores me los muestra bien.
Hace dos segundos he visto que el fichero que monta los datos,ese donde está el bucle que puse antes,no estaba incluido y le acabo de plantar un require_once con dicho fichero.
Tonto de mi me dije "ya está arreglao" pues no sigue sin mostrar bien los valores en el fichero destino aunque si los muestra bien en el fichero origen.

Pá cagarse vamos.

Alguna sugerencia por descabellada que sea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

fetch_array()

Publicado por xve (5520 intervenciones) el 23/12/2014 14:59:53
Hola Victor, no me queda muy claro el valor de la variable $ciclo... puede ser que no sea un array de valores?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fetch_array()

Publicado por Victor (193 intervenciones) el 23/12/2014 16:17:03
Hola xve

Me acabas de dejar a cuadros con la respuesta,a que te refieres que con no es un array de valores?
Debe serlo por que en el fichero origen lo recorro como un array,de esta manera:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$cantidadCiclos=$consulta->num_rows;
echo "<br>Cantidad de ciclos=>".$cantidadCiclos;
while($fila = $consulta->fetch_array())
{
	array_push($ciclo,$fila);
 
}
$result = array("cantidad"=>$cantidadCiclos,"ciclo"=>$ciclo);
for($i=0;$i<$cantidadCiclos;$i++)
{
	echo"<br>DENTRO DE CUADRICULA";
	echo "<br>numCrotalMarrano vale=>".$ciclo[$i]['numCrotalMarrano'];
	echo "<br>NumCiclo vale=>".$ciclo[$i]['NumCiclo'];
	echo "<br>Int vale=>".$ciclo[$i]['Int'];
	echo "<br>FechaCubricion vale=>".$ciclo[$i]['FechaCubricion'];
	echo "<br>Verraco vale=>".$ciclo[$i]['Verraco'];
	echo "<br>FechaParto vale=>".$ciclo[$i]['FechaParto'];
	echo "<br>NumDiasGesParto vale=>".$ciclo[$i]['NumDiasGesParto'];
	echo "<br>NunVivosParto vale=>".$ciclo[$i]['NunVivosParto'];
	echo "<br>NumFemParto vale=>".$ciclo[$i]['NumFemParto'];
	echo "<br>NumMuertosParto vale=>".$ciclo[$i]['NumMuertosParto'];
	echo "<br>NumMomiParto vale=>".$ciclo[$i]['NumMomiParto'];
	echo "<br>NumBajasParto vale=>".$ciclo[$i]['NumBajasParto'];
	echo "<br>FechaDestete vale=>".$ciclo[$i]['FechaDestete'];
	echo "<br>CalcDestete vale=>".$ciclo[$i]['CalcDestete'];
	echo "<br>MasMenosDestete vale=>".$ciclo[$i]['MasMenosDestete'];
	echo "<br>Observaciones vale=>".$ciclo[$i]['Observaciones'];
	echo "<br>Rep vale=>".$ciclo[$i]['Rep'];
	echo "<br>DuracionCiclo vale=>".$ciclo[$i]['DuracionCiclo'];
	echo "<br>IndiceCiclo vale=>".$ciclo[$i]['IndiceCiclo'];
	echo "<br>DestPorAnno vale=>".$ciclo[$i]['DestPorAnno'];
	echo "<br>enable vale=>".$ciclo[$i]['enable'];
	echo "<br>fechaFinCiclo vale=>".$ciclo[$i]['fechaFinCiclo'];
	echo"<br>FIN DENTRO DE CUADRICULA";
}
return $result;

Y los echo me aparece con su correcto valor.

Por el contrario en el fichero destino los recorro de igual forma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$valorCiclo=muestraValoresCiclos($valorEntrada);
echo "<br>El valor que se le pasa a muestraValoresCilos vale=>".$valores['animales'][0]['numCrotalMarrano'];
$numeroCiclo=$valorCiclo['ciclo'][0]['NumCiclo'];
echo "<br>CrotalMarrano vale=>".$valorEntrada;
echo "<br>El numero de ciclo vale=>".$numeroCiclo;
echo "<br>ANTES DEL FOR INTERIORANIMAL";
for($i=1;$i<=$numeroCiclo;$i++)
{
    echo"<br>DENTRO DE INTERIORANIMAL";
    echo "<br>numCrotalMarrano vale=>".$valorCiclo['ciclo'][$i]['numCrotalMarrano'];
    echo "<br>NumCiclo vale=>".$valorCiclo['ciclo'][$i]['NumCiclo'];
    echo "<br>Int vale=>".$valorCiclo['ciclo'][$i]['Int'];
    echo "<br>FechaCubricion vale=>".$valorCiclo['ciclo'][$i]['FechaCubricion'];
    echo "<br>Verraco vale=>".$valorCiclo['ciclo'][$i]['Verraco'];
    echo "<br>FechaParto vale=>".$valorCiclo['ciclo'][$i]['FechaParto'];
    echo "<br>NumDiasGesParto vale=>".$valorCiclo['ciclo'][$i]['NumDiasGesParto'];
    echo "<br>NunVivosParto vale=>".$valorCiclo['ciclo'][$i]['NunVivosParto'];
    echo "<br>NumFemParto vale=>".$valorCiclo['ciclo'][$i]['NumFemParto'];
    echo "<br>NumMuertosParto vale=>".$valorCiclo['ciclo'][$i]['NumMuertosParto'];
    echo "<br>NumMomiParto vale=>".$valorCiclo['ciclo'][$i]['NumMomiParto'];
    echo "<br>NumBajasParto vale=>".$valorCiclo['ciclo'][$i]['NumBajasParto'];
    echo "<br>FechaDestete vale=>".$valorCiclo['ciclo'][$i]['FechaDestete'];
    echo "<br>CalcDestete vale=>".$valorCiclo['ciclo'][$i]['CalcDestete'];
    echo "<br>MasMenosDestete vale=>".$valorCiclo['ciclo'][$i]['MasMenosDestete'];
    echo "<br>Observaciones vale=>".$valorCiclo['ciclo'][$i]['Observaciones'];
    echo "<br>Rep vale=>".$valorCiclo['ciclo'][$i]['Rep'];
    echo "<br>DuracionCiclo vale=>".$valorCiclo['ciclo'][$i]['DuracionCiclo'];
    echo "<br>IndiceCiclo vale=>".$valorCiclo['ciclo'][$i]['IndiceCiclo'];
    echo "<br>DestPorAnno vale=>".$valorCiclo['ciclo'][$i]['DestPorAnno'];
    echo "<br>enable vale=>".$valorCiclo['ciclo'][$i]['enable'];
    echo "<br>fechaFinCiclo vale=>".$valorCiclo['ciclo'][$i]['fechaFinCiclo'];
    echo"<br>FIN INTERIORANIMAL";
}

Y no me muestra ningun valor.
PD:muestraValoresCiclos el metodo que monta el array.El que utiliza el fetch_array() que he puesto antes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fetch_array()

Publicado por Victor (193 intervenciones) el 23/12/2014 16:56:30
Hola de nuevo.

Valorando lo que me has dicho,ya a la desesperada,he incluido en el codigo aterior(en lo segundo lo correspondiente al fichero destino) este if:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if(is_array($valorCiclo))
{
    echo "<br>Es un array";
    if($valorCiclo==null)
    {
        echo "<br> No tiene valores";
    }else
    {
        echo "<br> Tiene valores";
    }
}else
{
    echo "<br>No es un array";
}

Y dice que si es un array y que no es null.

Im fliping
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

fetch_array()

Publicado por xve (5520 intervenciones) el 23/12/2014 20:36:43
Mas que nada, es que el código a simple vista lo veo correcto, y la variable $ciclo viene definida por la función getCiclo() que al no verla, pensé por descarte que no fuera un array, entonces seria correcto que no se rellenaran los valores.

Prueba a hacer una cosa, antes del bucle, haz un:
1
2
print_r($ciclo);
exit();

Así veremos que hay dentro...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fetch_array()

Publicado por Victor (193 intervenciones) el 23/12/2014 22:25:29
Ok,encuanto lo pruebe te comento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fetch_array()

Publicado por Victor (193 intervenciones) el 26/12/2014 07:55:40
Buenos dias xve.

Acabo de hacerlo en el fichero origen y me sale esto:

Array ( [ciclo] => Array ( [numCrotalMarrano] => [NumCiclo] => [Int] => [FechaCubricion] => [Verraco] => [FechaParto] => [NumDiasGesParto] => [NunVivosParto] => [NumFemParto] => [NumMuertosParto] => [NumMomiParto] => [NumBajasParto] => [FechaDestete] => [CalcDestete] => [MasMenosDestete] => [Rep] => [Observaciones] => [DuracionCiclo] => [IndiceCiclo] => [DestPorAnno] => [enable] => [fechaFinCiclo] => ) [0] => Array ( [0] => 8 [CodCiclo] => 8 [1] => 3120 [numCrotalMarrano] => 3120 [2] => 1 [NumCiclo] => 1 [3] => 0 [Int] => 0 [4] => 2014-12-17 [FechaCubricion] => 2014-12-17 [5] => [Verraco] => [6] => 0000-00-00 [FechaParto] => 0000-00-00 [7] => 0 [NumDiasGesParto] => 0 [8] => 0 [NunVivosParto] => 0 [9] => 0 [NumFemParto] => 0 [10] => 0 [NumMuertosParto] => 0 [11] => 0 [NumMomiParto] => 0 [12] => 0 [NumBajasParto] => 0 [13] => 2014-12-11 [FechaDestete] => 2014-12-11 [14] => 0 [CalcDestete] => 0 [15] => 0 [MasMenosDestete] => 0 [16] => 0 [Rep] => 0 [17] => [Observaciones] => [18] => 0 [DuracionCiclo] => 0 [19] => 0 [IndiceCiclo] => 0 [20] => 0 [DestPorAnno] => 0 [21] => 0 [enable] => 0 [22] => 0000-00-00 [fechaFinCiclo] => 0000-00-00 ) )

Que opinas del resultado?

Ah,FELICES FIESTAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fetch_array()

Publicado por Victor (193 intervenciones) el 26/12/2014 13:12:35
Buenas otra vez,en el fichero destino me muestra esto:
GET VALE=>3120
QueryMuestraCiclosVale=>Select * from ciclo where numCrotalMarrano='3120';
Es un array
Tiene valores

Y esto es lo que me muestra print_r en el fichero destino(lo de FICHERO DESTINO se lo he puesto yo):
FICHERO DESTINO
Array ( [cantidad] => 1 [ciclo] => Array ( [ciclo] => Array ( [numCrotalMarrano] => [NumCiclo] => [Int] => [FechaCubricion] => [Verraco] => [FechaParto] => [NumDiasGesParto] => [NunVivosParto] => [NumFemParto] => [NumMuertosParto] => [NumMomiParto] => [NumBajasParto] => [FechaDestete] => [CalcDestete] => [MasMenosDestete] => [Rep] => [Observaciones] => [DuracionCiclo] => [IndiceCiclo] => [DestPorAnno] => [enable] => [fechaFinCiclo] => ) [0] => Array ( [0] => 8 [CodCiclo] => 8 [1] => 3120 [numCrotalMarrano] => 3120 [2] => 1 [NumCiclo] => 1 [3] => 0 [Int] => 0 [4] => 2014-12-17 [FechaCubricion] => 2014-12-17 [5] => [Verraco] => [6] => 0000-00-00 [FechaParto] => 0000-00-00 [7] => 0 [NumDiasGesParto] => 0 [8] => 0 [NunVivosParto] => 0 [9] => 0 [NumFemParto] => 0 [10] => 0 [NumMuertosParto] => 0 [11] => 0 [NumMomiParto] => 0 [12] => 0 [NumBajasParto] => 0 [13] => 2014-12-11 [FechaDestete] => 2014-12-11 [14] => 0 [CalcDestete] => 0 [15] => 0 [MasMenosDestete] => 0 [16] => 0 [Rep] => 0 [17] => [Observaciones] => [18] => 0 [DuracionCiclo] => 0 [19] => 0 [IndiceCiclo] => 0 [20] => 0 [DestPorAnno] => 0 [21] => 0 [enable] => 0 [22] => 0000-00-00 [fechaFinCiclo] => 0000-00-00 ) ) )


.....?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fetch_array()

Publicado por Victor (193 intervenciones) el 23/12/2014 17:25:05
El asunto es que me muestra los datos correctamente en la tabla pero hay un fallo en algun valor y por eso está desmontada

Adjunto dos imagenes,la imagen "SourcesConsolaInteriorAni.png" tiene miga ya que segun el navegador el codigo es este:
1
2
3
<td>
    <input name="FechaParto" type="date" style="width: auto;text-align: left;" value="0000-00-00">
</td>

Pero en el editor el codigo es este:
1
2
3
4
5
6
<td>
	<input name="FechaParto" type="date" style="width: auto;text-align: left;"
								value="<?php if(is_null($valorCiclo['ciclo'][$i]['FechaParto'])||
									($valorCiclo['ciclo'][$i]['FechaParto']=='0000-00-00')){echo"";}
									else{echo $valorCiclo['ciclo'][$i]['FechaParto'];}?>">
</td>

Soy todo oidos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar