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
$link= mysql_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
$link= mysql_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>';
?>
</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!!