PHP - Modificar contenido tablas

   
Vista:

Modificar contenido tablas

Publicado por Victor (193 intervenciones) el 29/12/2014 09:10:31
Buenos dias y felices fiestas a todos.

Tengo un problemilla,resulta que quiero que se modifique el contenido de una tabla dependiendo de la opccion seleccionada en este control:
1
2
3
4
5
6
<select onchange="javascript:repoblarTabla(this)">
	<option value="" name="tipo">---------------</option>
	<option value="Iberico Puro" name="tipo">Iberico Puro</option>
	<option value="Puro Duroc" name="tipo">Puro Duroc</option>
	<option value="MEngorde" name="tipo">M.Engorde</option>
</select>

Actualemente,cosa que tendré que modificar creo yo,la tabla puebla los valores sin filtro alguno cosa que si funciona bien pero eso quiero que cambie.
El javascript repoblarTabla contiene esto:

1
2
3
4
5
6
function repoblarTabla(tipo)
{
	alert("El tipo que le llega es=>"+tipo.options[tipo.selectedIndex].value);
	document.formulario.action="Animales.php?accion=selecTipo&id="+1+"&valor="+tipo;
	document.formulario.submit();
}

El metodo al que llama que está en un fichero el cual antes gestionaba las acciones de un solo fichero y ahora al incluir esta accion le llegarian instrucciones de dos,acciones controladas mediante if'.Este es el metodo que puebla en base a lo que se se le envia:
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
if($accion=="selecTipo")
{
    echo "Dentro de select tipo";
    exit;
    $conexion=conectarBD();
    $tipo = trim($_GET['tipo']);
    echo "<br>Tipo seleccionado vale=>".$tipo;
    if($tipo=="")
    {
        $query = "select *
             from `marrano`;";
    }else
    {
        if($tipo=="Madre")
        {
 
        }else
        {
            $query="Select * from marrano where tipoMarrano='".$tipo."';";
        }
    }
    $consulta = $conexion->query($query);
    if(!$consulta)
    {
        echo "No a encontrado dats.";
    }else
    {
 
    }
    $conexion->close();
}

Dicho esto,una vez que selecciono la opccion que quiero sigue mostrandomelo todo y creo que aqui está el error:
1
$cuadras=MuestraAnimales();
Dicho metodo es el que puebla todos los campos el cual aun no estoy controlando para que actue o no.

Despues de toda esta parrafada mi duda es:
Que hago para que $cuadras=MuestraAnimales(); que debe actuar si no se selecciona nada distinga si se ha seleccionado una opccion actue. Sé que tengo que ponerle un if else,que teniendo en cuenta que debe preguntar por un valor html no sé como escribirlo en php.

Eso es todo amigos.

Escucho sugerencias.
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

Modificar contenido tablas

Publicado por xve (5523 intervenciones) el 29/12/2014 10:13:55
Hola Victor, no entiendo mucho lo que nos comentas, ya que no nos muestras que es la función: MuestraAnimales()...
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

Modificar contenido tablas

Publicado por Victor (193 intervenciones) el 29/12/2014 10:20:47
Hola xve este es el codigo por el que preguntas:

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
function MuestraAnimales($tipo)
{
    //Abrimos la conecxion a la bd
    $conexion=conectarBD();
    $animales = getAnimalVacio();
    //Consultamos si hay o no boxes
    $query = "select *
             from `marrano`;";
 
 
    $consulta = $conexion->query($query);
    $conta=0;
    if(!$consulta)
    {
        echo "No a encontrado dats.";
        return 0;
    }else
    {
        $cantidad = $consulta->num_rows;
 
        while($fila = $consulta->fetch_array())
        {
            $conta++;
            array_push($animales,$fila);
        }
        $result = array("cantidad"=>$cantidad,"animales"=>$animales);
 
        $conexion->close();
 
        return $result;
 
    }
    $conexion->close();
}

Y ya que viene al caso voy a hilar esta pregunta con esta otra,es que he cambiado(o eso intento) de poblar la tabla utilizando el metodo MuestraAnimales() simplemente.
Ahora estoy intentando,por que creo que es mas facil y así de paso me quito una funcion del medio llamar a MuestraAnimales desde el html mezclandolo con PHP así:

1
2
3
4
5
6
<select name ="tipoAnimales" onchange="<?php echo $tipo= MuestraAnimales( echo ?> document.tipoAnimales.selected(document.tipoAnimales) <?php)?>">
	<option value="" name="tipo">---------------</option>
	<option value="Iberico Puro" name="tipo">Iberico Puro</option>
	<option value="Puro Duroc" name="tipo">Puro Duroc</option>
	<option value="MEngorde" name="tipo">M.Engorde</option>
</select>

Pero me dice que está mal escrito,y no veo por que.

Tu que opinas,es mejor lo que comenté antes de mezclar javascript,un metodo mas y tal o te parece mejor esta opccion.

Como veras ahora mismo el metodo muestra animales recibe un tipo que no usa pero antes de modificar lo que funciona bien,para poblar la tabla con todos los valores,necesito poderle enviar el tipo desde la otra pagina.
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

Modificar contenido tablas

Publicado por xve (5523 intervenciones) el 29/12/2014 16:44:42
Hola Victor, te acabo de contestar sobre el error que tienes en esta linea:
1
<select name ="tipoAnimales" onchange="<?php echo $tipo= MuestraAnimales( echo ?> document.tipoAnimales.selected(document.tipoAnimales) <?php)?>">

en tu otro post:
http://www.lawebdelprogramador.com/foros/PHP/1476195-llamar-a-un-metodo-PHP-dependiendo-de-la-opcion-elegida-en-un-select.html
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

Modificar contenido tablas

Publicado por Victor (193 intervenciones) el 29/12/2014 16:49:32
Si,y yo a ti
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