Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/06/2008, 11:32
Avatar de gaarellanob
gaarellanob
 
Fecha de Ingreso: junio-2008
Mensajes: 13
Antigüedad: 15 años, 11 meses
Puntos: 0
Problema con Select HTML onChange JS Y PHP

Primero que todo Saludarlos y felicitarlos por este genial foro...
la verdad que soy nuevo aca y espero poder aportar con conocimiento
bueno no doy mas la lataaa tipica

mi problema es el siguiente:

Tengo un select HTML q se llena mediante php( tabla categorias), quiero hacer que al seleccionar un elemento (option) se llene un textarea con la informacion dependiendo del indice (idcategoria), el textarea se llena con productos asignados a una categoria.

tengo mi pequeña BD en MySQL la cual tiene 3 tablas que nos importan ahora
Productos, Categorias y CategoriaProducto.

el asunto es que lleno el select sin problemas

<html>
<body>
<form action="upload.php" method="POST" enctype="multipart/form-data" name="form1">

<script>
function indiceSelect(){


indice=document.form1.nombreDelCombo.selectedIndex ;

document.form1.tomaIndice.value=indice;

//intentos vagos y torpes de pasar un dato js a php.

//<? $elindice; ?> = indice;
//<? echo ocuparDato()?>;

//<?echo $elindice="indice"?>;
//<? echo llenarTextarea($elindice)?>;
}
</script>

<!--upload.php es otro archivo que se encarga de recibir datos de un formulario que tengo q no lo puse por q es extenso, el codigo que viene acontinuacion esta dentro del html que tiene el formulario-->

Código PHP:
<?php
              
                 $dbhost
='localhost';
                 
$dbusername='root';
                 
$dbuserpass='';
                 
$dbname='nombreBaseDatos';
                 
// Conexión a la base de datos


                 
$linkmysql_connect($dbhost$dbusername$dbuserpass);
                 
mysql_select_db($dbname) or die("Cannot select database");

                 

                 
$result=mysql_query("SELECT idcategoria, nombreCategoria FROM Categorias" ,$link);

                 
//el select

                 
if ($row mysql_fetch_array($result)){ 
                 echo 
'<select name= "nombreDelCombo" id="nombreDelCombo" onChange="indiceSelect()">';

                
//indiceSelect captura del lado del cliente el indice seleccionado
                 
                 
                 
echo "<option value='0'>Seleccione Categoria</option>";
                 do { 
                 
//para visualizar bien los caracteres
                 
$row[1]=htmlentities($row[1]);
                 echo 
'<option value= "'.$row[0].'">'.$row[1].'</option>';
                 
                    
                 
                 
                 } while (
$row mysql_fetch_array($result)); 
                 echo 
'</select>';
                 

 


                 }
                
                 else{ echo 
"no se puede cargar";}

                
// se llena el select bien!!

               //codigo para llenar el textarea

               
function llenarTextarea($indice)
                 { 

     
$dbhost='localhost';
                 
$dbusername='root';
                 
$dbuserpass='';
                 
$dbname='nombreBaseDato';
                 
                  
                 
settype($indice"integer");
                 
// Conexión a la base de datos


                 
$linkmysql_connect($dbhost$dbusername$dbuserpass);
                 
mysql_select_db($dbname) or die("Cannot select database");
                     
                     
                 
$consulta=mysql_query("SELECT idproducto, nombreProducto FROM Productos WHERE idproducto IN(SELECT idproductos FROM CategoriaProducto WHERE idcategorias = $indice)" ,$link);
                 
                 echo
'<Textarea cols="30" rows="3" name="textareaBD" id="textareaBD">';

                 while(
$resultadoqery mysql_fetch_array($consulta)){ 
                     
                 echo 
'/'.$resultadoqery[1];
                 }
                 echo 
'</textarea>';


?>
</body>
</html>

DILEMA
el evento onChange del select llama al js, este js toma el indice, como le paso el indice del option del select a mi function php, TODO ESTO con un POSTBACK que debe hacer mi JS...

ojala me haya explicado BIEN y que alguien sepa como orientarme que no me manejo mucho en php ni en js, como se dieron cuenta! creo q tendre que utilizar ajax

NECESITO LA AYUDA de antemano MUCHAS GRACIAS!!