Tema: AJAX y PHP
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/03/2010, 08:55
mesoriginal
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
AJAX y PHP

Hola buenas, pongo el post aquí porque me parece que el problema lo tengo en php y no con ajax.

Tengo un combo (2 selects uno dependiente del otro). Hecho con ajax y todo funciona bien. Categorias y subcategorias. Luego tengo un archivo subir_producto, donde hago en INSERT de todas las variables (nombre, informacion, categoria, subcategoria, precio).

Todas las variables las detecta bien ya que las mando mediante $_POST, però el AJAX el archivo js hace:
Código PHP:
ajax.open("GET""form_proces.php?select="+idSelectDestino+"&opcion="+opcionSeleccionadatrue); 
Y no sé como conseguir que en el archivo: subir_producto.php le lleguen las variables de la categoria y la subcategoria. Gracias!
Código PHP:
<?php
function generaPaises()
{
    include 
'conexion.php';
    
conectar();
    
$consulta=mysql_query("SELECT cat_ID, catCategoria FROM categories");
    
desconectar();


    
// Voy imprimiendo el primer select compuesto por los paises
    
echo "<select name='categories' id='categories' 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>";
}
?>

<div id="demoDer">
<select disabled="disabled" name="sub_categories" id="sub_categories">
<option value="0">Sub categoria...</option>
</select>
</div>
<div id="demoIzq"><?php generaPaises(); ?></div>
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(
"categories"=>"categories",
"sub_categories"=>"sub_categories"
);

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_subc, nom_subc FROM $tabla WHERE id_cat='$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'>Escull la subcategoria</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='".$opcionSeleccionada."'>".$registro[1]."</option>";
    }            
    echo 
"</select>";
}
?>