• Viernes 8 de Noviembre de 2024, 16:12

Autor Tema:  Traspasando variables  (Leído 2411 veces)

Kataky

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Traspasando variables
« en: Viernes 3 de Julio de 2009, 08:15 »
0
Por más que leo y práctico, sigo teniendo problemas y no entendiendo el manejo de las variables en Html y PHP.

Les cuento tengo una seguidilla de varios script, porque no logré hacerlo en uno sólo, la secuencia es está:
1º el primer scrip pide seleccionar una empresa (OK)
2º el segundo pide seleccionar un empleado o usuario (bien también)
3º en el tercer script se muestra el nombre de la empresa, el nombre del usario y se solicita la selección de un Jefe para el usuario (casi bien, mi problema es que aquí ya no llega el id de la empresa, pero igual lo logro sacar con el id del usuario)
4º pero  al pasar a cuarto script, lo único que me llega es el id del jefe pero con este dato lo único que consigo es el id de la empresa pero no el del usuario que lo necesito para seleccionar los colegas.
El sentido de esto es que cuando selecciono al usuario, éste no debe aparecer en la siguiente lista y así sucesivamente. Trate de hacerlo con listas dependiente en un sólo sript y no logre pasar de la 3ª seleccion y no puedo usar ajax ni java.
Aquí van los script:

conecta.php
<?
   session_start();
   $_SESSION["Nombre_emp"];
   $_SESSION["idem"];
?>
<head>
</head>
<body>
</th>
<table width="893" border="1"  bordercolor="#CCCCCC"  align="center" cellpadding="10" cellspacing="0">
  <form action='conecta1.php' method='post' name='add_con' id="add_con">
        <tr><td colspan='9' bgcolor="#ECEEF0"><div align='center'>
         Agregar CONEXIÓN  ----&gt; (Selección Empresa)<br/></div>        </td><tr>
          <td width="235">Seleccione Empresa :</td>
          <td width="590" colspan="2">
            <?
         print("<select name="idem">");
         include("config.inc.php");
         $sql_emp = mysql_query("SELECT * FROM empresa ORDER BY Nombre_emp") or die ("NO ENCONTRO");
            while($r_emp = mysql_fetch_array($sql_emp))
            {
            print("<option value="".$r_emp[0]."" selected>".$r_emp[1]."</option>");
         $idem=$r_emp[0];
            } ?></td></tr>
        <br/><tr><td colspan='4' align='center' bgcolor="#ECEEF0">
        <a href="crea_emp.php">VOLVER</a></span>&nbsp;&nbsp;&nbsp;&nbsp;<span align="right">
        <input name='Continuar' type='submit' value='Continuar Selección' /></td>
        </tr>
    </form>
</table>
</body>
</html>

conecta1.php
<?
   session_start();
?>
<body>
<?
   echo $_SESSION["idem"],"-",$_SESSION["nombre1"],"-",$_SESSION["idusua"],"-",$_SESSION["idusuaj"],"-",$_SESSION["idusuap"];
   echo"<div align='right' width='50' style='font-size:10px'>Usuario: <span style='color:#0099CC'>$user</span>";
   $idem=$_POST["idem"];
?>
</th>
<table width="893" border="1"  bordercolor="#CCCCCC"  align="center" cellpadding="10" cellspacing="0">
  <form action='conecta2.php' method='post' name='add_con' id="add_con">
        <tr>
        <td colspan='9' bgcolor="#ECEEF0"><div align='center'>
          Agregar CONEXIÓN ----&gt; (Selección Usuario)<br/>
          </div></td><tr><td colspan="3" align="center">
             <?
            include("config.inc.php");
            $sql_nemp = mysql_query("SELECT * FROM empresa WHERE id_emp='$idem'") or die ("NO ENCONTRO");
            $r_n = mysql_fetch_array($sql_nemp);
            $nombre1=$r_n[1];
            echo "Empresa : ",$nombre1;
         ?>
         </td>
        </tr>
        <tr>
        <td width="205">Seleccione Persona a Evaluar :</td>
        <td width="642" colspan="2">
            <?
            print("<select name="idusua">");
            include("config.inc.php");
            $sql_usu = mysql_query("SELECT * FROM usuario WHERE id_emp='$idem' ORDER BY Name_user ") or die ("NO ENCONTRO");
            while($r_usu = mysql_fetch_array($sql_usu))
            {
            print("<option value="".$r_usu[0]."" selected>".$r_usu[1]."</option>");
            $idusua=$r_usu[0];
            }
         ?>        </td>
        </tr>
        <br/><tr><td colspan='4' align='center' bgcolor="#ECEEF0">
        <a href="crea_emp.php">VOLVER</a></span>&nbsp;&nbsp;&nbsp;&nbsp;<span align="right">
        <input name='Continua' type='submit' value='Continua Seleccion' /></td>
        </tr>
    </form>
</table>
</body>
</html>

conecta2.php
<?
   session_start();
?>
<body>
<?
   $_SESSION["Nombre_emp"];
   echo $_SESSION["idem"],"-",$_SESSION["nombre1"],"-",$_SESSION["idusua"],"-",$_SESSION["idusuaj"],"-",$_SESSION["idusuap"];
   echo"<div align='right' width='50' style='font-size:10px'>Usuario: <span style='color:#0099CC'>$user</span>";
   if($p == 'edit'){
   $idemp = $_SESSION['idemp'];
   echo"<br/>Empresa: <span style='color:#0099CC'>$nombre</span>";
   }
   echo"</div>";
   $idusua=$_POST["idusua"];
   include("config.inc.php");
   $sql_e = mysql_query("SELECT * FROM usuario WHERE id_user='$idusua'") or die ("NO ENCONTRO");
   $r_e = mysql_fetch_array($sql_e);
   $nu=$r_e[1];
   $idem=$r_e[9];
   $sql_nemp = mysql_query("SELECT * FROM empresa WHERE id_emp='$idem'") or die ("NO ENCONTRO");
   $r_n = mysql_fetch_array($sql_nemp);
   $nombre2=$r_n[1];
//   echo $idem,"-",$nombre2,"-",$idusua,"-",$nu,"-",$idem;
?>
</th>
<table width="893" border="1"  bordercolor="#CCCCCC"  align="center" cellpadding="10" cellspacing="0">
  <form action='conecta3.php' method='post' name='add_con' id="add_con">
        <tr>
        <td colspan='9' bgcolor="#ECEEF0"><div align='center'>
         Agregar CONEXIÓN<br/></div></td>
        <tr>
          <td colspan="3" align="center">
        <?
      echo "Empresa : ",$nombre2;
   ?>
        </td></tr><tr>
          <td colspan="3"><div align="center"> </div></td> </tr>
        <tr>
        <td width="205">Seleccione JEFE :</td>
        <td width="642" colspan="2">
            <?
         print("<select name="idusuaJ">");
         include("config.inc.php");
         $sql_usuJ = mysql_query("SELECT * FROM usuario WHERE id_emp='$idem' AND id_user <> '$idusua'") or die ("NO ENCONTRO");
            while($r_usuJ = mysql_fetch_array($sql_usuJ))
            {
            print("<option value="".$r_usuJ[0]."" selected>".$r_usuJ[1]."</option>");
         $idusuaJ=$r_usuJ[0];
         $idem=$r_usuJ[9];
            }
         ?>        </td>
        </tr>
        <br/><tr><td colspan='4' align='center' bgcolor="#ECEEF0">
        <a href="crea_emp.php">VOLVER</a></span>&nbsp;&nbsp;&nbsp;&nbsp;<span align="right">
        <input name='Continua' type='submit' value='Continua Seleccion' /></td>
        </tr>
    </form>
</table>
</body>
</html>

conecta3.php
<body>
<?
   $idem=$_POST["idem"];
   $nombre2=$_POST["nombre2"];
   $idusua=$_POST["idusua"];
   $nu=$_POST["nu"];
   $idusuaJ=$_POST["idusuaJ"];
   echo $idem,"-",$nombre2,"-",$idusua,"-",$nu,"-",$idusuaJ;
   include("config.inc.php");
   $sql_e = mysql_query("SELECT * FROM usuario WHERE id_user='$idusuaJ'") or die ("NO ENCONTRO");
   $r_e = mysql_fetch_array($sql_e);
   $nu=$r_e[1];
   $idem=$r_e[9];
   $sql_nemp = mysql_query("SELECT * FROM empresa WHERE id_emp='$idem'") or die ("NO ENCONTRO");
   $r_n = mysql_fetch_array($sql_nemp);
   $nombre2=$r_n[1];
//   echo $idem,"-",$nombre2,"-",$idusua,"-",$nu,"-",$idusuaJ;
?>
</th>
<table width="893" border="1"  bordercolor="#CCCCCC"  align="center" cellpadding="10" cellspacing="0">
  <form action='conecta3.php' method='post' name='add_con' id="add_con">
        <tr>
        <td colspan='9' bgcolor="#ECEEF0"><div align='center'>
          <h3>Agregar CONEXIÓN<br/>
            </h3>
        </div>        </td>
        <tr>
          <td colspan="3" align="center">
             <?
         echo "Empresa : ",$nombre2;
      ?>   </td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
          <?
           echo "Usuario : ",$nu;
   ?>
          </div></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
          <?
           echo "Jefe : ",$nj;
        ?>
          </div></td>
        </tr>
        <tr>
        <td width="205">Seleccione PARES :</td>
        <td width="642" colspan="2">
            <?
         print("<select name="idusuaJ">");
         include("config.inc.php");
         $sql_usuJ = mysql_query("SELECT * FROM usuario WHERE id_emp='$idem' AND id_user <> '$idusua'") or die ("NO ENCONTRO");
            while($r_usuJ = mysql_fetch_array($sql_usuJ))
            {
            print("<option value="".$r_usuJ[0]."" selected>".$r_usuJ[1]."</option>");
         $idusuaJ=$r_usuJ[0];
            }
         ?>        </td>
        </tr>
        <br/><tr><td colspan='4' align='center' bgcolor="#ECEEF0">
        <a href="crea_emp.php">VOLVER</a></span>&nbsp;&nbsp;&nbsp;&nbsp;<span align="right">
        <input name='Continua' type='submit' value='Continua Seleccion' /></td>
        </tr>
    </form>
</table>

</body>
</html>

chesbor

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Re: Traspasando variables
« Respuesta #1 en: Viernes 3 de Julio de 2009, 13:46 »
0
Tenés 2 formas de hacer esto...
1 ponés un campo hidden en cada página con el valor recibido por ejemplo en conecta1 pones un campo que sea mas o menos:
echo "<input type="hidden" name="idemp" value="".$_POST['idemp']."">";

2 seteas las sessions con los datos que vas recibiendo por post... en conecta 1, sería:

$_SESSION['idemp'] = $_POST['idemp'];


Espero que salga :P

Kataky

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Traspasando variables
« Respuesta #2 en: Sábado 4 de Julio de 2009, 07:36 »
0
Chesbor

Te pasaste, para variar, mil gracias, me resulto súper bien.

Tengo otro problemita y es es por falta de conocimiento, tengo un select multiple y no sé como recuperar las selecciones que hizo el usuario, te seguire agradeciendo si me puedes ayuar.

            <?
         print("<select name="idusuaJ" multiple="multiple" size="10">");
         include("config.inc.php");
         $sql_usuP = mysql_query("SELECT * FROM usuario WHERE id_emp='$idem' AND id_user <> '$idusua' AND id_user <> '$idusuaJ'") or die ("NO ENCONTRO");
            while($r_usuP = mysql_fetch_array($sql_usuP))
            {
            print("<option value="".$r_usuP[0]."" selected>".$r_usuP[1]."</option>");
         $idusuaJ=$r_usuP[0];
         $_SESSION["np"] = $r_usuP[9];
            }
         ?>

chesbor

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Re: Traspasando variables
« Respuesta #3 en: Sábado 4 de Julio de 2009, 17:23 »
0
Los select múltiples te mandan un array por post... una cosa que vale aclarar es que dentro del while, setear una session no tiene sentido, ya que al reemplazar el valor anterior cada vez, solo te va a quedar el último valor de la tabla...
Para tomarlos por post podés verlos directamente o pasarlo a una variable... sea:
echo $_POST['idusuaJ'][0];
o:
$idusuaJ = $_POST['idusuaJ'];
echo $idusuaJ[0];

Obviamente que 0 es la primer selección, 1 la segunda, etc.

Saludos, espero que ande y me alegro que haya salido lo anterior ;).

Kataky

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Traspasando variables
« Respuesta #4 en: Domingo 5 de Julio de 2009, 09:44 »
0
Hola Chesbor:

Gracias por las indicaciones pero estoy haciendo mal, heber si me puedes ayudar, hago la selección de 2 datos pero cuando los muestro en el siguiente script el muestra  2 datos distintos  y que no son de la empresa y cuando selecciono 3 ó 4 no los toma todos, me queda claro que algo mal estoy haciendo.

conecta3.php
<?
       $a=0;
   print("<select name="idusuaP" multiple="multiple" size="10">");
   include("config.inc.php");
   $sql_usuP = mysql_query("SELECT * FROM usuario WHERE id_emp='$idem' AND id_user <> '$idusua' AND id_user <> '$idusuaJ'") or die ("NO ENCONTRO");
   while($r_usuP = mysql_fetch_array($sql_usuP)) {
      print("<option value="".$r_usuP[0]."" selected>".$r_usuP[1]."</option>");
      $idusuaP=$r_usuP[0];
      $_SESSION["np"] = $r_usuP[9];
      $pares[$a]= $r_usuP[0];
      $a++;
   }
?>

conecta4.php
<?
   session_start();
//   $_SESSION["idusuaP"] = $_POST["idusuaP"];
   $idusuaP = $_POST['idusuaP'];
   echo $_SESSION["idem"],"-",$_SESSION["monemp"],"-",$_SESSION["idusua"],"-",$_SESSION["nu"],"-",$_SESSION["idusuaJ"],"-",$_SESSION["idusuaP"],"-",$idusuaP[0],$idusuaP[1];

chesbor

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Re: Traspasando variables
« Respuesta #5 en: Domingo 5 de Julio de 2009, 21:01 »
0
No entiendo nada xD... pero a ver:

Código: Text
  1.  
  2. $idusuaP=$r_usuP[0];
  3. $_SESSION["np"] = $r_usuP[9];
  4. $pares[$a]= $r_usuP[0];
  5. $a++;
  6.  
  7.  

esas lineas no sé que hacen... o sea, sé que hacen pero no sé por qué están ahí...

Código: Text
  1.  
  2. echo $_SESSION["idem"],"-",$_SESSION["monemp"],"-",$_SESSION["idusua"],"-",$_SESSION["nu"],"-",$_SESSION["idusuaJ"],"-",$_SESSION["idusuaP"],"-",$idusuaP[0],$idusuaP[1];
  3.  
  4.  

las session idem monemp idusua nu idusuaJ no sé donde las definis (en una de esas en código anterior al que posteaste)

Código: Text
  1.  
  2. print("<option value="".$r_usuP[0]."" selected>".$r_usuP[1]."</option>");
  3.  
  4.  

Tené en cuenta que con esa linea, todas las opciones empiezan tildadas, por lo tanto las que clickees van a destildarse y las que queden como estaban van a ser las elegidas...

Espero en mi confusión haberte dado alguna respuesta útil xD.

Kataky

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Traspasando variables
« Respuesta #6 en: Lunes 6 de Julio de 2009, 04:06 »
0
:good:  :good:  :good: Gracias por todo, solucionado.....  :comp: