Foros del Web » Programando para Internet » PHP »

Problema con variables obtenidas desde un select dinamico

Estas en el tema de Problema con variables obtenidas desde un select dinamico en el foro de PHP en Foros del Web. Hola, debo ingresar estos datos obtenidos desde un formulario, algunos de ellos como "$activ", son obtenidos desde un select dinamico y al cual se le ...
  #1 (permalink)  
Antiguo 28/02/2016, 13:40
 
Fecha de Ingreso: febrero-2016
Mensajes: 48
Antigüedad: 8 años, 2 meses
Puntos: 0
Problema con variables obtenidas desde un select dinamico

Hola, debo ingresar estos datos obtenidos desde un formulario, algunos de ellos como "$activ", son obtenidos desde un select dinamico y al cual se le pueden agregar datos.

Y para guardar en la base de datos, debo hacerlo con el id de estas variable y no con el nombre:

Cita:
if($activ == 'Podar') $activ2=1;
echo "$activ2";
if($activ == 'Regar') $activ2=3;
echo "$activ2";
if($activ == 'cosechar') $activ2=2;
echo "$activ2";
El problema esta, en que esto no funcionara si se agrega una o mas variable de tipo $activ.

Que puedo hacer para solucionarlo?

Código HTML:
<?php
require_once("conexion.php");

$activ = $_POST["activ"];
$sect = $_POST["sect"];
$cuart = $_POST["cuart"];
$fechini = $_POST["fechainicio"];
$cost = $_POST["costo"];
$traba = $_POST["trabajadores"];
$prod = $_POST["produc"];
$comen = $_POST["comentario"];



			if($activ == 'Podar') $activ2=1;
			echo "$activ2";
			if($activ == 'Regar') $activ2=3;
			echo "$activ2";
			if($activ == 'cosechar') $activ2=2;
			echo "$activ2";
?>
			/*
  	    	if(isset($_POST['activ']) && !empty($_POST['activ']))
			{
	
			mysql_query("INSERT INTO sector VALUES('null','$activ2','$sect','$fechini','$comen','$cost','$traba','now()','null')");
	
			echo "Datos del Orden de Trabajo ingresados correctamente.";
			}
			else
			{
				echo "Faltan datos en formulario";
			}
*/
			?>
  	
  #2 (permalink)  
Antiguo 28/02/2016, 14:14
 
Fecha de Ingreso: febrero-2016
Mensajes: 48
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problema con variables obtenidas desde un select dinamico

Intente con esto, pero no funciona

Código HTML:
<?php			
			$sql1=mysql_query("SELECT actividad_id FROM actividad where nombre == $activ",$con);
			$activ2 = mysql_fetch_array($sql1);
			
			$sql2=mysql_query("SELECT sector_id FROM sector where nombre == $sect",$con);
			$sect2 = mysql_fetch_array($sql2);
			
			$sql3=mysql_query("SELECT cuartel_id FROM cuartel where nombre == $cuart",$con);
			$cuart2 = mysql_fetch_array($sql3);
			
			$sql4=mysql_query("SELECT producto_id FROM producto where nombre == $prod",$con);
			$prod2 = mysql_fetch_array($sql4);
			
			echo "\n $activ2";
			echo "\n $sect2";
			echo "\n $cuart2";
			echo "\n $prod2";
?> 
  #3 (permalink)  
Antiguo 02/03/2016, 21:32
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
Respuesta: Problema con variables obtenidas desde un select dinamico

Hola:
Imagino que los valores que asignas a $activ los obtienes de una BD, si es así solo recorre los valores hasta encontrar la coincidencia.
Código PHP:
...
if(
$activ == $row["campo"])
{
$activ2 $row["idasignado"];

Salu2
__________________
Msn: [email protected]
  #4 (permalink)  
Antiguo 04/03/2016, 09:12
 
Fecha de Ingreso: febrero-2016
Mensajes: 48
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problema con variables obtenidas desde un select dinamico

Detallo datos del programa

Tabla de la base de datos a consultar

[URL=http://www.subirimagenes.com/privadas-captura-2352225.html][IMG]http://s2.subirimagenes.com/privadas/previo/thump_2352225captura.gif[/IMG][/URL]

Forma de como se envía la variable desde el formulario
Código PHP:
<label for="actividad">
                    <?php
                    $sql
=mysql_query("SELECT actividad FROM actividad ",$con);
                    
?>
                    <select name="activ" onchange="pedirDatos()" >
                    <?php
                    
while($row mysql_fetch_array($sql)){
                    echo 
"<option value=\"".$row['actividad']."\">".$row['actividad']."</option> \n";
                    }
                
?>
                </select>
                </label>
Como se recepsiona y procesa la informacion del formulario
Código PHP:
$activ $_POST["activ"];

$sql1=mysql_query("SELECT actividad_id FROM actividad where actividad = '$activ'",$con) or die('Query failed: ' mysql_error());
            
$activ2 mysql_fetch_array($sql1);
            if(
$activ == $row["actividad"])
            {
                
$activ2 $row["actividad_id"];    
            }

echo 
" $activ2"
Y arroja el siguiente mensaje, por la consulta y por la impresion de la variable
Cita:
Notice: Undefined variable: row in C:\xampp\htdocs\RUTA2\ot.php on line 41
Notice: Array to string conversion in C:\xampp\htdocs\RUTA2\ot.php on line 62
Array
  #5 (permalink)  
Antiguo 04/03/2016, 09:13
 
Fecha de Ingreso: febrero-2016
Mensajes: 48
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problema con variables obtenidas desde un select dinamico

Cita:
Iniciado por ikaroraul Ver Mensaje
Hola:
Imagino que los valores que asignas a $activ los obtienes de una BD, si es así solo recorre los valores hasta encontrar la coincidencia.
Código PHP:
...
if(
$activ == $row["campo"])
{
$activ2 $row["idasignado"];

Salu2
si, son obtenidos de una BD
  #6 (permalink)  
Antiguo 04/03/2016, 12:12
 
Fecha de Ingreso: febrero-2016
Mensajes: 48
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problema con variables obtenidas desde un select dinamico

La base de datos es :

Nombre de la tabla: actividad
Campos: actividad_id, actividad, comentario
  #7 (permalink)  
Antiguo 04/03/2016, 13:17
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
Respuesta: Problema con variables obtenidas desde un select dinamico

No puedes poner $row["actividad"], pues tu ARRAY de datos es:
$activ2 = mysql_fetch_array($sql1);

entonces debes de colocar:
$activ2 ["actividad"]

Y recorre con un WHILE antes del IF; pues como tienes el código ahora solo lo hará 1 vez.

Ahí me cuentas
__________________
Msn: [email protected]

Etiquetas: dinamico, fecha, formulario, mysql, select, variable, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:29.