Tema: php_self
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/04/2010, 09:41
chechi123
 
Fecha de Ingreso: abril-2010
Mensajes: 56
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: php_self

hola abimaelrc .... lo que estoy haciendo es:
tengo 3 selects.. pero cada uno depende del anterior

en mi base de datos tengo tres tablas : PROCESOS, ACTIVIDADES Y TAREAS
enotnces un proceso tiene una o varias actividades.. y a la vez una actividad tiene una o varias tareas...

entocnes estoy haciendo una consultade las tareas que tengo para eso en el primer select selecciono mi proceso al seleccionar por ejemplo proceso 1 busco en la BD las actividades de este proceso y las carga en el select numero 2 ahora slecciono mi actividad corresponidnete y dependiendo de lo que selccione busca en la BD las tareas de la actividad que selecciono

a manera de ejemplo digamos:
tengo dos proceso :proceso 1 proceso 2
para proceso 1: -> tengo 3 actividades y cada actividad sus tareas
actividad1 -> tarea1
actividad2 -> tarea 1, tarea2
actividad3 -> tarea1

para proceso 2: -> tengo 2 actividades y cada actividad sus tareas
act1 -> ta1, ta2, ta3
act2 -> ta1, ta2

enotnces si en el primer select selecciono proceso2 en el segundo select las opciones seran act1 y act2 y denuevo si selecciono act1 en el 3 select se acrgaran las ocpiones ta1, ta2, ta3 y ahi dependiendo de lo que seleccione busca los datos como nombre responsable etc. etc.

con el codigo que tengo seleciono el proceso y me carga las actividades pero cuando selecciono la actividad se pierden el valor de mis variables "quedan vacias"... enotnces nunca me carga las tareas

voy a mirar bn el codigo de EUSKARA haber si me sale...

mi codigo es:

Código PHP:
//PRIMER SELECT
echo "<form action=\"$PHP_SELF\" method=\"POST\" name=\"form1\"><input type=\"hidden\" name=\"a\" value=\"1\">
 <table width=\"300\"  border=\"7\"  cellpadding=\"6\" align=\"center\" cellpadding=\"0\" class=\"windowbg2\">
     <tr>
     <th width=\"100%\" colspan=\"6\"  bgcolor=\"#5C743D\" scope=\"row\"> <div align=\"center\" class=\"Estilo1 Estilo1\"> <font color=\"white\">SELECCIONE EL PROCESO</font></th>
     </tr> " 
;
     echo 
"<th width=\"64%\" bgcolor=\"#99CC66\" class=\"bginput\"> <select name=\"proceso\" class=\"bginput2\" onChange=\"javascript:Hace();\" >
<option value=$idp>$pn</option>

"
; while($row mysql_fetch_array($result)){

            echo 
" <option value=\" " .$row['idProceso'].  "\">" .$row['nombre']. "</option>";  }
     echo 
"</select></td></th>";
     echo 
"<tr>";
  echo 
"  
</table></form>"
;

  
//sentencia para buscar actividades del proceso seleccionado 
  
$result2 =  mysql_query("SELECT * FROM Actividad where Proceso_idProceso = '$proceso'"$link);

//SEGUNDO SELECT
  
echo "<form action=\"$PHP_SELF\" method=\"POST\" name=\"form2\"><input type=\"hidden\" name=\"a\" value=\"2\">
 <table width=\"300\"  border=\"7\"  cellpadding=\"6\" align=\"center\" cellpadding=\"0\" class=\"windowbg2\">
     <tr>
     <th width=\"100%\" colspan=\"6\"  bgcolor=\"#5C743D\" scope=\"row\"> <div align=\"center\" class=\"Estilo1 Estilo1\"> <font color=\"white\">SELECCIONE ACTIVIDAD</font></th>
     </tr> " 
;
     echo 
"<th width=\"64%\" bgcolor=\"#99CC66\" class=\"bginput\"> <select name=\"actividad\" class=\"bginput2\" onChange=\"javascript:Hace2();\" >
<option value=$idpd>$pdn</option>

"
; while($row mysql_fetch_array($result2)){

            echo 
" <option value=\" " .$row['idActividad'].  "\">" .$row['nombre']. "</option>";  }
     echo 
"</select></td></th>";
     echo 
"<tr>";
  echo 
"  
</table></form>"
;


 
//sentencia para buscar itareas de la actividad seleccionado
  
$result3 =  mysql_query("SELECT * FROM Tareas where actividad= '$proced'"$link);

//TERCER SELECT
  
echo "<form  action=\"$PHP_SELF\" method=\"POST\" name=\"form3\"><input type=\"hidden\" name=\"b\" value=\"1\">";    
     echo 
"<input type=\"hidden\" name=\"a\" value=\"1\">
 <table width=\"300\"  border=\"7\"  cellpadding=\"6\" align=\"center\" cellpadding=\"0\" class=\"windowbg2\">
     <tr>
     <tr>
     <th width=\"100%\" colspan=\"6\"  bgcolor=\"#5C743D\" scope=\"row\"> <div align=\"center\" class=\"Estilo1 Estilo1\"> <font color=\"white\">SELECCIONE TAREA</font></th>
     </tr> " 
;
     echo 
"<th width=\"64%\" bgcolor=\"#99CC66\" class=\"bginput\"> <select name=\"tarea\" class=\"bginput2\" >";
          while(
$row2 mysql_fetch_array($result3)){

            echo 
" <option value=\" " .$row2['idTarea'].  "\">" .$row2['nombre']. "</option>";  }
     echo 
"</select></td></th>";
     echo 
"<tr>";
  echo 
"  <td height=\"20\" colspan=\"1\"><div align=\"center\">
                <input name=\"submit\" type=\"submit\"  value=\"Consultar Tarea\"  class=\"button\"/> 
                </div></td>

</form>"

al dar clic en el bton csnultar es donde mando para que busque la tarea selecionada y me traiga de la BD el nombre el responsable la fecha de ejecucion en fin...

eso es lo que tengo

bueno para recuperar mis variables tengo esto:
Cita:
$proceso = htmlspecialchars ($_POST['proceso']);
$proced = htmlspecialchars ($_POST['actividad']);
$tarea = htmlspecialchars ($_POST['tarea']);
y bueno en el codigo de los selects uso el Onchange.. que ejecuta una funcion javscript que es:
Cita:
function Hace(){
document.form1.submit() ;

}
el rpoblema es que al enviar el formulario dos... es decir el del select 2 de las actividades mis variables quedan vacias.. entocnes al bsucar las tareas $proces es vacia.. entonces la consulta es vacia.. ese es mi problema y ya levo dias tratando de solucionarlo

cualquier cosa alguna idea o algo me ayudaria mucho gracias

Última edición por chechi123; 30/04/2010 a las 09:49