Foros del Web » Programando para Internet » PHP »

Registrar datos con php corregir!! Please

Estas en el tema de Registrar datos con php corregir!! Please en el foro de PHP en Foros del Web. Que tal amigos: Bueno descargue un codigo de ajax de un combobox dependientes de 2 niveles(al seleccionar una opcion del primer select paises....me debe mostrar ...
  #1 (permalink)  
Antiguo 17/02/2011, 13:13
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 14 años
Puntos: 3
Registrar datos con php corregir!! Please

Que tal amigos:

Bueno descargue un codigo de ajax de un combobox dependientes de 2 niveles(al seleccionar una opcion del primer select paises....me debe mostrar en el segundo las respectivas ciudades del pais seleccionado en el primer select...y funciona bien) Ahora bien....quiero registrar estos datos del combobox es la base de datos ...por ejemplo proveedores...... ...resulta que lo registra....pero solo los ID.......Y QUIERO QUE REGISTRE los nombres.....creo ke el drama esta en los POST Y GET...E PROBADO ARTO ...pero nada....aka les dejo los codigos...por favor corregir...adiosin

select_dependientes_proceso.php
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"=>"lista_estados"
);

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 id, opcion FROM $tabla WHERE relacion='$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>";
}
?> 


select_dependientes.php

Código PHP:
<?php
function generaPaises()
{
    include 
'conexion.php';
    
conectar();
    
$consulta=mysql_query("SELECT id, opcion FROM lista_paises");
    
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>";
}
?>

<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Registrar</title>
<link rel="stylesheet" type="text/css" href="select_dependientes.css">
<script type="text/javascript" src="select_dependientes.js"></script>
</head>

<body>

<form action="registrar_proveedor.php" method="post">

Nombre:<input type="text" name="nombre">

    <div id="demo" style="width:600px;">
    <div id="demoDer">
    <select disabled="disabled" name="estados" id="estados">
    <option value="0">Selecciona opci&oacute;n...</option>
    </select>
    </div>
    <div id="demoIzq"><?php generaPaises(); ?></div>
    <input type="submit" value="enviar">
            
</body>
</html>
registrar_proveedor.php

Código PHP:
<?php
//datos para establecer la conexion con la base de mysql.
include 'conexion.php';
    
conectar();
?>
<?php
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["nombre"])) {
    
    
$nombre $_POST["nombre"];
    
$paises$_GET["paises"];
    
$ciudad$_POST["estados"];
            
    if(
$nombre==NULL)
     {
                echo 
"<script> alert (\"faltan campos por completar\"); </script>"
                echo 
"<script language=Javascript> location.href=\"select_dependientes.php\"; </script>"
                die(); 
        
     }
            
    else{    
            
                
$query 'INSERT INTO proveedor (nombre_proveedor, pais_proveedor, ciudad_proveedor)
                
                VALUES (\''
.$nombre.'\' , \''.$paises.'\' , \''.$ciudad.'\')';
                
mysql_query($query) or die(mysql_error());
            
                    }
                
                }
            
?>
                
    <script>
    alert("Registro Exitoso!");
    location.href="select_dependientes.php";
</script>
el codigo select_dependientes.js
no creo ke sea relevante.....ya que no involucra los metodos.....de formulario...

la cosa es me registra solo los id de paises y ciudades

la base de datos es:


CREATE TABLE `lista_paises` (
`id` int(3) unsigned NOT NULL default '0',
`opcion` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=22;

INSERT INTO `lista_paises` (`id`, `opcion`) VALUES (0, 'Elige'),
(1, 'Argentina'),
(2, 'Bolivia'),
(3, 'Brasil'),
(4, 'Canada'),
(5, 'Chile'),
(6, 'Colombia'),
(7, 'Costa Rica'),
(8, 'Cuba'),
(9, 'Ecuador'),
(10, 'El Salvador'),
(11, 'España'),
(12, 'Estados Unidos'),
(13, 'Guatemala'),
(14, 'Honduras'),
(15, 'Mexico'),
(16, 'Nicaragua'),
(17, 'Panama'),
(18, 'Paraguay'),
(19, 'Peru'),
(20, 'Puerto Rico'),
(21, 'Uruguay');

CREATE TABLE `lista_estados` (
`id` int(5) unsigned NOT NULL auto_increment,
`opcion` varchar(100) NOT NULL,
`relacion` int(3) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),


[/PHP]
[/PHP]
  #2 (permalink)  
Antiguo 17/02/2011, 13:18
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 6 meses
Puntos: 88
Respuesta: Registrar datos con php corregir!! Please

y como para que quieres el valor si con el id ya puedes volver a consultar para que te devuelva la opcion, pero si aun así insistes, cambia $registro[0] por $registro[1], pero ahora ya no tendras el id.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 17/02/2011, 13:27
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 14 años
Puntos: 3
Respuesta: Registrar datos con php corregir!! Please

GRACIAS POR RESPONDER EITS

HABER CREO KE ME DI A ENTENDER MAL.....

QUIERO GUARDAR EN LA TABLA PROVEEDOR

EL nombre pais y cuidad.....de acuerdo aformulario

me guarda el nombre de la persona....pero no el nombre del pais y tampoco el de ciudad...solo me muestra los id....

probe cambiando registro[0] por registro[1]

pero al probarlo solo me parece el primer select y el segundo me sale oculto...

eso amigo....
  #4 (permalink)  
Antiguo 17/02/2011, 13:59
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 14 años
Puntos: 3
Respuesta: Registrar datos con php corregir!! Please

creo ke la funcion is_numeric.....influye.....segun lo que veo

Etiquetas: corregir
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 02:21.