JQuery - Llamar a un metodo php pasandole un valor

 
Vista:
sin imagen de perfil

Llamar a un metodo php pasandole un valor

Publicado por Victor (20 intervenciones) el 25/01/2015 13:23:16
Buenas.

Tengo este control seletc html el cual debe llamar a un metodo:
1
2
3
4
5
6
<select name ="tipoAnimales" id="tipoAnimales" onchange="(repoblarTabla(this.value))">
    <option value="" name="tipo">---------------</option>
    <option value="Iberico Puro" >Iberico Puro</option>
    <option value="Puro Duroc" >Puro Duroc</option>
    <option value="MEngorde" >M.Engorde</option>
</select>

El caso es que si consigo obtener valor seleccionado con este Jquery ,ya que en la consola si me aparece:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function repoblarTabla(select_element)
{
    var valor_seleccionado=jQuery('#tipoAnimales').val();
    console.log('valor recogido del select '+valor_seleccionado);
    jQuery.ajax(
    {
        type: "POST",
        url: "tpAnimal.php",
        data:'tpAnimal='+valor_seleccionado,
        success: function(data){
            $("#resultado").html(data);
        }
    });
}

Este es el div que hay en la misma pagina que recoje el resultado
1
2
3
4
5
6
<div id="resultado" hidden="hidden">
    <?php
    $tpAnimal="";
    $cuadras=MuestraAnimales($_POST['tpAnimal']);
    ?>
</div>

El contenido de tpAnimal.php es este:
1
2
3
4
5
6
<?php
require_once("cuadricula.php");
$tpAnimal =$_POST["tpAnimal"];
$cuadras=MuestraAnimales($tpAnimal);
echo "<br>TIPO ANIMAL".$tpAnimal;
?>

Bueno,la pregunta del millon,que hago mal para que no llamé al metodo MuestraAnimales($tpAnimal);????

Quedo a la espera de su respuestas,es muy urgente y me tiene ya desesperado.

Muchas gracias a todos de antemano.
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
Imágen de perfil de xve
Val: 302
Oro
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Llamar a un metodo php pasandole un valor

Publicado por xve (673 intervenciones) el 26/01/2015 08:04:36
Hola Victor, parece que esta todo bien...
MuestraAnimales() es una función verdad? y interpreto que esta dentro del archivo cuadricula.php, verdad?

De todas maneras, viendo tu código, no devuelves el resultado de la función MuestraAnimales(), sino que devuelves la variable pasada por post... tal cual...

Es correcto?
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
sin imagen de perfil

Llamar a un metodo php pasandole un valor

Publicado por Victor (20 intervenciones) el 26/01/2015 11:35:00
Pues sí,eso parece que estoy haciendo.
Pero lo que quiero es devolver el resultado,como la hago?
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
sin imagen de perfil

Llamar a un metodo php pasandole un valor

Publicado por Victor (20 intervenciones) el 27/01/2015 10:14:04
Como debería ponerlo para que me devuelva el resultado del método MuestraAnimales() al cual le llega un valor que es el tipo de animal debe consultar en base de datos y devolver para mostrarlo?
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
Val: 302
Oro
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Llamar a un metodo php pasandole un valor

Publicado por xve (673 intervenciones) el 27/01/2015 11:26:51
No se que devuelve la función MuestraAnimales(), pero podría ser así:
1
2
3
4
5
6
<?php
require_once("cuadricula.php");
$tpAnimal =$_POST["tpAnimal"];
$cuadras=MuestraAnimales($tpAnimal);
echo $cuadras;
?>

Coméntanos, ok?
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
sin imagen de perfil

Llamar a un metodo php pasandole un valor

Publicado por Victor (20 intervenciones) el 27/01/2015 12:17:57
Buenas.

He puesto eso tal cual,entiendo yo que querias decir que lo pusiese dentro del fichero aparte de nombre tpAnimal.php,no?

Y sigue igual.
Para ver el contenido he puesto dentro de tpAnimal.php lo siguiente:
require_once("cuadricula.php");
$tpAnimal =$_POST["tpAnimal"];
$cuadras=MuestraAnimales($tpAnimal);
echo "<br>Dentro de tpAnimal";
print_r($cuadras);
exit;
echo "<br>Despues de tpAnimal";
echo $cuadras;
?>
Y si me muestra bien los resultados,sin marcar ninguna opccion que es cuando tiene que enviar todos los tipos.
Creo que el fallo está en el div del fichero destino en el cual hay esto:
<div id="resultado" hidden="hidden">
<?php
$cuadras=MuestraAnimales($_POST['tpAnimal']);
?>
</div>

Debajo de dicho div está el bucle que pinta la cuadricula.
Intuyo que el fallo está ahí,no en el envio de datos sino en la recepccion.

Quedo a la espera de vuestras sugerencias.

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
sin imagen de perfil

Llamar a un metodo php pasandole un valor

Publicado por Victor (20 intervenciones) el 27/01/2015 17:45:49
El caso es que he hecho estas modificaciones:

El div que destino queda así para que sea tpAnimal.php(el documento al que llama el Jquery quien le dé valor a $cuadras):
<div id="resultado" hidden="hidden">
<?php
//$cuadras=MuestraAnimales($_POST['tpAnimal']);
?>
</div>

function repoblarTabla sigue igual que antes.

Y tpAnimal.php está así:
<?php
require_once("cuadricula.php");
$tpAnimal =$_POST["tpAnimal"];
$cuadras=MuestraAnimales($tpAnimal);
echo $cuadras;
?>

La consola no me dá ningun fallo pero si se me muestra por pantalla dos notice.
1Notice: Undefined index: tpAnimal in C:\xampp\htdocs\GestionFinca\tpAnimal.php on line 10.En line 10 hay esto:$tpAnimal =$_POST["tpAnimal"];

2.Notice: Array to string conversion in C:\xampp\htdocs\GestionFinca\tpAnimal.php on line 12. En line 12 hay esto:
echo $cuadras;

...Alguna sugerencia?

Estoy por enviar los 2(3 con el que contiene MuestraAnimales($tpAnimal);).
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