PHP - ¿Como obtener el name o id de un input con PHP?

   
Vista:

¿Como obtener el name o id de un input con PHP?

Publicado por Bastian (6 intervenciones) el 29/01/2014 03:41:12
Primero que nada saludos a todos, soy nuevo en el foro, sin embargo en varias oportunidades he resuelto mis dudas por aqui sin estar registrado.

Bueno queria saber como lo puedo hacer para obtener el name o id (en mi caso: $tam1) del input con PHP. El codigo que tengo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
while($fila = mysql_fetch_array($resultado)) {
 
  $tam1 = "var".$cont;
 
	echo "<tr>";
			echo "<td> <input type='text' name='$tam1' id='$tam1' size='5' value='$fila[ancho]' readOnly/> </td>";
	echo "</tr>";
 
++$cont;
}
 
--- tomar name o id y hacer un calculo-----
?>

la idea es que pueda ir tomando el name o id para obtener el valor que posee ((el value, en mi caso el ancho que es un numero) y utilizarlo para hacer un calculo matematico.

He buscado y dicen que funciona con $_POST($tam1) o $_GET($tam1) o $_REQUEST($tam1), pero a mi no me funciona asi. Tambien probé colocando codigo JS dentro de PHP asi:

1
2
3
4
5
6
7
8
9
echo "<script>
				function calcular(){
					var tom = $(<?php echo $tam1; ?>).val();  
					--hago el calculo--	    
					}
	      </script>";
 
 
	   echo"<script> calcular(); </script>";   // llamo a la funcion calcular pero no ocurre nada

Se supone que este codigo lo coloco dentro del while (al final) para que en cada vuelta tome el ancho correspondiente y lo utilice para calcular, pero al llamar a la funcion, esta no funciona es como que no reconoce el cosigo JS. Tambien probe colocando un boton asi: echo "<button type='button' onclick='calcular()'>Calcular</button>"; pero al utilizarlo me dice que la funcion no esta definida.

Si alguien me puede orientar le estaria muy agradecido.
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

¿Como obtener el name o id de un input con PHP?

Publicado por xve (5520 intervenciones) el 29/01/2014 08:15:35
Hola Bastian, no me queda muy clara tu pregunta... la suma la quieres hacer con php o con javascript?

Estos input's, son readonly, por lo que únicamente se pueden leer, no?

Si lo quieres saber desde php, faltaría que mostraras el formulario entero <form action....> para ver como lo pasas, si con post o get.

Si nos puedes comentar...

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

¿Como obtener el name o id de un input con PHP?

Publicado por Bastian (6 intervenciones) el 30/01/2014 02:25:19
Hola xve, gracias por comentar.

Mira enrealidad quiero hacerlo con javascript, intente hacerlo con php porque no pude obtener los datos del id con javascript, pero la idea primordial era hacerlo con JS. El codigo que tenia en mente y que no me funciono es algo como esto:

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
echo "<table>";
echo "<tr>";
echo "<td> Datos  </td>  <td> resultado es: </td>";
echo "</tr>";
 
<?php while($fila = mysql_fetch_array($resultado)) {
 
$tam1 = "var".$cont;
$tam2 = "varb".$cont;
 
 // Con ($tam1 = "var".$cont;)  logro diferenciar los name e id que quedan en la tabla, asi por ejemplo var1 es el campo 1,  var2 es el campo 2 y asi. Con esto puedo identificar cada campo de la tabla para cuando quiera obtener los name o id.
 
echo "<tr>";
echo "<td> <input type='text' name='$tam1' id='$tam1' size='5' value='$fila[ancho]' readOnly/> </td>
           <td> <input type='text' name='$tam2' id='$tam2' size='5' value='' readOnly/> </td>";
echo "</tr>";
 
	echo "<script> function calcular(){
                          var tom = $(<?php echo $tam1; ?>).val();
                          ---codigo que realiza un calculo----
                           $($tam2).val(resultado);   // el resultado del calculo lo coloco en el campo $tam2 mediante Jquery.
                   } </script>";
 
        echo"<script> calcular(); </script>";
 
++$cont;
}
echo "</table>";
 
?>
------
Explicando el codigo con palabras seria algo asi como: obtengo un valor desde la base de datos (el ancho), mediante JS llamo una funcion de nombre calcular(), que lo que hace es obtener el valor actual del input mediante (var tom = $(<?php echo $tam1; ?>).val(); ese valor lo utilizo para hacer un calculo y el resultado obtenido de ese calculo lo coloco en la columna "resultado es:", y asi hacerlo con cada valor de la BD hasta que no queden mas.

El punto es que no se si estoy obteniendo bien el valor porque la funcion calcular() no se esta ejecutando en cada vuelta del while. Espero que se haya entendido un poquito mas. Saludos!

Bueno abajito dejo la tabla para que la vizualices mejor y te hagas una idea de como funciona el codigo.

1
2
3
4
5
Datos               |          resultado es:
vuelta 1      $tam1=var1          |     $tam2 = varb1 = 23
vuelta 2      $tam1=var2          |     $tam2 = varb2 = 47
vuelta 3      $tam1=var3          |     $tam2 = varb3 = 13
vuelta n      $tam1=varn          |     $tam2 = varbn = 25
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

¿Como obtener el name o id de un input con PHP?

Publicado por xve (5520 intervenciones) el 30/01/2014 14:08:49
Hola Bastian, de la manera que lo haces, esta definiendo la funcion calcular mas de una vez, y en principio, no puede haber mas de una función con el mismo nombre.

No entiendo muy bien los calculos que haces, pero en vez de hacer una función, porque no lo haces directamente? algo así:
En vez de esto:
1
2
3
4
5
6
7
echo "<script> function calcular(){
                          var tom = $(<?php echo $tam1; ?>).val();
                          ---codigo que realiza un calculo----
                           $($tam2).val(resultado);   // el resultado del calculo lo coloco en el campo $tam2 mediante Jquery.
                   } </script>";
 
    echo "<script> calcular(); </script>";
pones:
1
2
3
4
5
echo "<script>
        var tom = $(<?php echo $tam1; ?>).val();
        ---codigo que realiza un calculo----
        $($tam2).val(resultado);   // el resultado del calculo lo coloco en el campo $tam2 mediante Jquery.
    </script>";

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

¿Como obtener el name o id de un input con PHP?

Publicado por Bastian (6 intervenciones) el 31/01/2014 16:41:14
Hola xve, me parecio excelente la idea que dijiste y lo probé, pero tampoco me funciono.. el código lo deje asi:

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
echo "<table>";
echo "<tr>";
echo "<td> Datos  </td>  <td> resultado es: </td>";
echo "</tr>";
 
while($fila = mysql_fetch_array($resultado)) {
 
$tam1 = "var".$cont;
$tam2 = "varb".$cont;
 
echo "<tr>";
echo "<td> <input type='text' name='$tam1' id='$tam1' size='5' value='$fila[ancho]' /> </td> <td> <input type='text' name='$tam2' id='$tam2' size='5' value='' /> </td>";
echo "</tr>";
 
	 echo "<script>
	 			var tom = $(<?php echo $tam1; ?>).val();
	        		var result = tom + 123; //un calculo de ejemplo
	        		$($tam2).val(result); 
	        		alert(tom);  // lo coloque para ver si esta entrando al script
	       </script>";
 
       ++$cont;
}
echo "</table>";
 
?>

¿Porqué no estara funcionando? es como si no reconociera el código JavaScript que coloco...
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

¿Como obtener el name o id de un input con PHP?

Publicado por xve (5520 intervenciones) el 31/01/2014 22:26:41
Hola Bastian, sin poder probarlo es un poco difícil de saber que puede estar pasando, pero la verdad es que no es una manera muy lógica de hacer lo que tu quieres... hay varias maneras mas sencillas y sin tanto codigo, ya sea haciendo en PHP o con jquery una vez este pintado todos los inputs...

Seria posible que nos adjuntaras la base de datos? para poder probarlo?
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

¿Como obtener el name o id de un input con PHP?

Publicado por Bastian (6 intervenciones) el 02/02/2014 23:23:13
Hola xve, disculpa la demora de mi respuesta. Adjunte el proyecto que estoy haciendo, la base de datos esta en la carpeta "db". Estoy utilizando appServ 2.5.10.

El archivo que me da problemas se llama: traerTamano.php. El calculo real que realizo esta en el archivo "formulario.php", pero para efectos de prueba deje una suma y un alert en el archivo traerTamano.php asumiendo que si me funciona eso me funcionará cualquier cosa que haga despues ya que segun yo el problema esta en la recepcion del input.

Notas: El usuario y la Pass para entrar es: root. En el formulario el unico tipo de papel disponible es el Bond.

Gracias por anticipado. 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
Imágen de perfil de xve

¿Como obtener el name o id de un input con PHP?

Publicado por xve (5520 intervenciones) el 03/02/2014 08:06:29
Hola Bastian, gracias por adjuntarlo... ahora si que he podido probarlo correctamente...

Así me ha funciona correctamente:
1
2
3
4
5
6
echo "<script>
                        var tom = $(".$tam1.").val();
                        var result = tom + 123; //un calculo de ejemplo
                        $(".$tam2.").val(result);
                        alert(tom);
            </script>";
Puedes probarlo y comentarnos?

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

¿Como obtener el name o id de un input con PHP?

Publicado por Bastian (6 intervenciones) el 04/02/2014 01:01:32
Hola xve, copie textualmente el codigo que me proporcionaste en tu comentario reemplazando el que yo tenia, pero sigue sin ocurrir nada. Me faltara alguna libreria o algo??.

De todas maneras ¿podrias adjuntarme el trabajo que te mande con las modificaciones que le hiciste? talves puede que yo este haciendo algo mal. 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
Imágen de perfil de xve

¿Como obtener el name o id de un input con PHP?

Publicado por xve (5520 intervenciones) el 04/02/2014 08:48:40
Hola Bastian, lo único que toque fue el archivo traerTamano.php, ya que desde el formulario no conseguía llegar a la página traerTamano.php.

La manera de probarlo, fue llamando a la pagina pasando-le los parámetros que necesita, peso y id algo así:
http://localhost/traerTamano.php?peso=90&id=1

Nosotros utilizamos Linux, y me encontré, que el archivo Formulario.php no se podía llamar, ya que lo tienes con la primera letra en mayúscula, y en el enlace lo tienes en minúscula.

Le tuve que añadir una cabecera y el jquery para poder probarlo... en tu caso, tendrás que quitarlo... pero primero pruebalo directamente desde el navegador poniendo la url con los parametros.

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
37
38
39
40
41
42
43
44
45
46
47
<head>
<script src="jquery/jquery-2.0.3.min.js" type="text/javascript"></script>
</head>
 
<?php
include("conex.inc");
/*header('Content-Type: text/html; charset=iso-8859-1');*/
$peso = $_GET["peso"];
//echo $peso;
$id = $_GET["id"];
//echo $id;
$cont = 1;
$radio = 1;
 
//Armar consulta SQL
$consulta = "SELECT * FROM tamano_papel WHERE peso = '$peso' AND id_papel = '$id' ORDER BY id_papel";
echo $consulta;
$resultado = mysql_query($consulta, $db);
 
//Rescatar y mostrar los resultados de la consulta
 
echo "<table>";
echo "<tr>";
echo "<td> Datos  </td>  <td> Resultado: </td>  <td> Elegir </td>";
echo "</tr>";
 
while($fila = mysql_fetch_array($resultado)) {
 
    $tam1 = "var".$cont;  // Con esto logro diferenciar los name e id que quedan en la tabla, asi por ejemplo var1 es el campo 1,  var2 es el campo 2 y asi. Con esto puedo identificar cada campo de la tabla
    $tam2 = "varb".$cont;
 
    echo "<tr>";
    echo "<td> <input type='text' name='$tam1' id='$tam1' size='5' value='$fila[ancho]' readOnly/> </td> <td> <input type='text' name='$tam2' id='$tam2' size='5' value='' readOnly/> </td> <td><input type='radio' name='imprenta' id='$'> </td> ";
    echo "</tr>";
 
        echo "<script>
                        var tom = $(".$tam1.").val();
                        var result = tom + 123; //un calculo de ejemplo
                        $(".$tam2.").val(result);
                        alert(tom);
            </script>";
 
        ++$cont;
        ++$radio;
}
echo "</table>";
?>

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

¿Como obtener el name o id de un input con PHP?

Publicado por Bastian (6 intervenciones) el 07/02/2014 14:09:13
Hola xve, Probé el código con los valores que me dijiste , pero lo raro es que me funciono una ves y después no me volvió a funcionar mas. Probé instalando el appserv 2.6.0 y no me funcionó. Luego fui a otro PC y probé el código tanto con appserv 2.5.10 como con appserv 2.6.0 y tampoco me funciona. ¿tu cada ves que pruebas el código te funciona?, ¿si le cambias los valores igual te funciona siempre?

PD: Adjunto la Base de Datos con los datos del papel ya que te mande mal la BD anterior. 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