Foros del Web » Programando para Internet » PHP »

Dato de función no guarda el dato en mysql

Estas en el tema de Dato de función no guarda el dato en mysql en el foro de PHP en Foros del Web. Hola. Tengo un problema y me gustaría ver si me pueden ayudar. Tengo un formulario php donde genero un campo, y este campo lo lleno ...
  #1 (permalink)  
Antiguo 06/02/2013, 09:25
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago, Chile
Mensajes: 20
Antigüedad: 11 años, 10 meses
Puntos: 0
Dato de función no guarda el dato en mysql

Hola. Tengo un problema y me gustaría ver si me pueden ayudar.

Tengo un formulario php donde genero un campo, y este campo lo lleno con una función que genera select anidados o dependiente con otro. Esta función me trae una serie de registros (paises) y filtra para que muestre las ciudades. Todo esto funciona bien, pero no puedo hacer que el dato se guarde en la base de datos.

Con el asistente de dreamweaver hice un "insertar registro", y en el campo que necesito guardar, que esta en una tabla tengo lo siguiente
<td><?php generaPaises(); ?></td>

Cómo podré hacer para poder guardar ese dato??
Muchas gracias!
  #2 (permalink)  
Antiguo 06/02/2013, 09:36
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Dato de función no guarda el dato en mysql

1- Muestra el código de la función generaPaises()
2- Muestra también el código del script donde procesas el formulario
3- Haz un var_dump($_POST); en el script donde procesas el formulario para ver si están todos los datos que necesitas
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 06/02/2013, 10:46
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago, Chile
Mensajes: 20
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Dato de función no guarda el dato en mysql

Cita:
Iniciado por Triby Ver Mensaje
1- Muestra el código de la función generaPaises()
2- Muestra también el código del script donde procesas el formulario
3- Haz un var_dump($_POST); en el script donde procesas el formulario para ver si están todos los datos que necesitas
Muchas gracias por responder. Este es el código:

Tengo un archivo php que genera la función para el select anidado:
Código PHP:
<?php
// Array que vincula los IDs de los selects declarados en el HTML con el nombre de la tabla donde se encuentra su contenido
$listadoSelects=array(
"paises"=>"lista_paises",
"estados"=>"jardines"
);

function 
validaSelect($selectDestino)
{
    
// Se valida que el select enviado via GET exista
    
global $listadoSelects;
    if(isset(
$listadoSelects[$selectDestino])) return true;
    else return 
false;
}

function 
validaOpcion($opcionSeleccionada)
{
    
// Se valida que la opcion seleccionada por el usuario en el select tenga un valor numerico
    
if(is_numeric($opcionSeleccionada)) return true;
    else return 
false;
}

$selectDestino=$_GET["select"]; $opcionSeleccionada=$_GET["opcion"];

if(
validaSelect($selectDestino) && validaOpcion($opcionSeleccionada))
{
    
$tabla=$listadoSelects[$selectDestino];
    include 
'conexion.php';
    
conectar();
    
$consulta=mysql_query("SELECT REGION, JARDIN FROM $tabla WHERE COD_REGION='$opcionSeleccionada'") or die(mysql_error());
    
desconectar();
    
    
// Comienzo a imprimir el select
    
echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
    echo 
"<option value='0'>Elige</option>";
    while(
$registro=mysql_fetch_row($consulta))
    {
        
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
        
$registro[1]=htmlentities($registro[1]);
        
// Imprimo las opciones del select
        
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
    }            
    echo 
"</select>";
}
?>

Luego, el el archivo.php que ingreso los datos tengo esta función:
Código PHP:
<?php
function generaPaises()
{
    include 
'conexion.php';
    
conectar();
    
$consulta=mysql_query("SELECT ID_REGION, REGION FROM region");
    
desconectar();

    
// Voy imprimiendo el primer select compuesto por los paises
    
echo "<select name='paises' id='paises' onChange='cargaContenido(this.id)'>";
    echo 
"<option value='0'>Elige</option>";
    while(
$registro=mysql_fetch_row($consulta))
    {
        echo 
"<option value='".$registro[0]."'>".$registro[1]."</option>";
    }
    echo 
"</select>";
    }
?>
Luego, en el campo de la tabla tengo este código que corresponde a la selección de región y jardín:
Código PHP:
<td nowrap="nowrap" align="right">REGION:</td>
                        <td><?php generaPaises(); ?></td>
                      </tr>
                      <tr valign="baseline">
                        <td nowrap="nowrap" align="right">JARDIN:</td>
                        <td>
              <select disabled="disabled" name="estados" id="estados">
                        <option value="0">Selecciona opci&oacute;n...</option>
                    </select>
                </td>
Y en el código del insert, tengo lo siguiente en la parte del envío de datos:
Código PHP:
GetSQLValueString($_POST['paises'], "text"),
                       
GetSQLValueString($_POST['estados'], "text"), 

El código original usa "paises" y "estados", pero no he cambiado esto, solo lo adapté para lo que necesito, que es "region", "jardin".

Espero no sea muy extenso. Muchas muchas gracias
  #4 (permalink)  
Antiguo 06/02/2013, 10:55
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago, Chile
Mensajes: 20
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Dato de función no guarda el dato en mysql

Lo único que necesito hacer es un select dependiente, que funcione igual que, por ejemplo, cuando se usa para seleccionar un país y que este filtre el siguiente select mostrando las ciudades de este país... estoy intentando usar esta forma, que la saqué de acá:
http://www.formatoweb.com.ar/ajax/select_dependientes_3_niveles.php
  #5 (permalink)  
Antiguo 06/02/2013, 12:52
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Dato de función no guarda el dato en mysql

Ok, no muestres todo el código, pero sí el resultado de var_dump($_POST); y donde insertas a la base de datos.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: dato, formulario, mysql, registro, select, tabla
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 21:11.