Foros del Web » Programando para Internet » PHP »

Pasar Variables Entre Ventanas

Estas en el tema de Pasar Variables Entre Ventanas en el foro de PHP en Foros del Web. Buenos dias compañeros foreros, se que este tema ya se ha hablado y comentado pero las soluciones no me han ayudado de mucho. Tengo un ...
  #1 (permalink)  
Antiguo 26/04/2011, 14:43
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 10 meses
Puntos: 2
Pasar Variables Entre Ventanas

Buenos dias compañeros foreros, se que este tema ya se ha hablado y comentado pero las soluciones no me han ayudado de mucho.

Tengo un formulario para llenar X campos y hay un campo donde debo escoger la marca de un calzado, en el formulario le agregue un boton que me abre una ventana POPUP donde me muestra todas las marcas que hay en la base de datos.

Mi problema es que no logro pasar ese dato de la ventana hija hacia la ventana padre, si hago un formulario donde no hago consulta a la base de datos si me funciona perfecto, pero al hacer la consulta SQL no logro hacerlo,

Les dejo aqui mi codigo a ver en que me puede ayudar:

Este es mi formulario:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<script>
function abrir(URL){
window.open(URL,"",'width=505,height=300,left=380,top=200,toolbar=no,scrollbars=yes,statusbar=no,menubar=no,resizable=no,Location=no,titlebar=no');
return false;
}
</script>

<?php
include("conex.php");

$imp mysql_query("SELECT imp_codigo,imp_descri FROM dpimppat");
$iva mysql_query("SELECT tip_codigo,tip_descri FROM dpivatip");

?>
<body>

<form action="insertar.php" method="post" name="insert" autocomplete="OFF" id="insert">
<div>
<table>
<tr>
  <td>Codigo</td>
  <td><input name="codigo" type="text" /></td>
</tr>
<tr>
  <td>Nombre</td>
  <td><input name="nombre" type="text" /></td>
</tr>
<tr>
  <td>Tipo de Iva</td>
   <td width="41">
             <select name="iva" title="Iva">
             <option value="">Selecione Iva...</option>
             <?php 
                  
while ($tax mysql_fetch_array($iva))
                  {
                      
                    echo 
"<option value={$tax[tip_codigo]}>{$tax[tip_descri]}</option>";
                  }
                  
                  
mysql_free_result($iva);
                
?>              
                </select>
          </td>
</tr>
<tr>
  <td>Utilizacion</td>
   <td width="41">
             <select name="utilidad" title="Utilizacion">
             <option value="">Selecione...</option>
             <option value="A">Alquiler</option>
             <option value="M">Materia Prima</option>
             <option value="V">Venta</option>
             <option value="F">Fabricacion</option>
             <option value="C">Consumo</option>
             <option value="R">Reparacion</option>
             <option value="S">Servicio</option>
             </select>
          </td>
</tr>
<tr>
  <td>Procedencia</td>
   <td width="41">
            <select name="procedencia" title="Procedencia">
             <option value="">Selecione...</option>
             <option value="N">Nacional</option>
             <option value="I">Importado</option>
            </select>
          </td>
</tr>
<tr>
  <td>Marca</td>
  <td><input name="marca" id="marca" type="text" /></td>
  <td><input name="boton_marca" type="button" value="Agregar" onclick="abrir('listado_marcas.php');"></td>
</tr>

<tr>
  <td>Observacion 1</td>
  <td><input name="obs1" type="text" /></td>
</tr>
<tr>
  <td>Observacion 2</td>
  <td><input name="obs2" type="text" /></td>
</tr>
<tr>
  <td>Observacion 3</td>
  <td><input name="obs3" type="text" /></td>
</tr>
<tr>
  <td>Impuesto S/Patente</td>
   <td width="41">
             <select name="imppat" title="Impuestos Patente">
             <option value="">Selecione Impuesto...</option>
             <?php 
                  
while ($imppat mysql_fetch_array($imp))
                  {
                      
                    echo 
"<option value={$imppat[imp_codigo]}>{$imppat[imp_descri]}</option>";
                  }
                  
                  
mysql_free_result($imp);
                
?>              
                </select>
             </td>
 </tr>
</table>

<input name="guardar" type="submit" value="Guardar" />
</div>
</form>
</body>
</html>
Y este es el POPUP que abre al presionar el boton y me lleva al archivo listado_marcas.php

Código PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?php
include("conex.php");


$sql=mysql_query("SELECT mar_codigo,mar_descri FROM dpmarcas");


?>
<div  style="width:490px; position: relative; left: -15px; top: 0px; text-align:center">
<p>

      <table width="441" border = '1' align="center" cellpadding="0" cellspacing="0" class="tablas" >
       <tr style="background:#039; font-family:Tahoma, Geneva, sans-serif;  font-size:22px; color:white">
        <td width="193" class="tabla">Codigo </td>
        <td class="tabla" width="219" align="center">Descripción</td>
        <td class="tabla" width="219" align="center">  </td>                
       </tr>
 <?php
                            
            
//Mostramos los registros
 
while ($marcasmysql_fetch_array($sql))
 {
                
  echo 
'<tr style="font-family:Tahoma, Geneva, sans-serif;  font-size:18px;">';
  echo 
'<td align= "left">'.$marcas['0'].'</td>';
  echo 
'<td align= "left" style="font-style:italic">'.$marcas['1'].'</td>';
  echo 
'<td><input type="button" value="Seleccionar" onClick="javascript: opener.document.insert.marca.value='.$marcas['0'].'; self.close()"></td>';
 
  echo 
'</tr>';
            
 }                    
    
mysql_free_result($sql);
?>
</table>

  </div>
</body>
</html>

De verdad no se que estoy haciendo mal, pienso que el error lo tengo en la linea de hace la seleccion, en el OnClick.

Espero puedan aydarme con esto.

Saludos

P.D: Postee esta informacion en Javascript pero no recibi ayuda, me disculpan si no me explico bien o si estoy posteando donde no debe ser
  #2 (permalink)  
Antiguo 26/04/2011, 15:39
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 1 mes
Puntos: 511
Respuesta: Pasar Variables Entre Ventanas

Que tal mixzplit al checar tu codigo parece que esta bien.


antes de que pruebes el codigo que te posteo al final coloca esta linea asi y checa si funciona

Código PHP:
Ver original
  1. echo '<td><input type="button" value="Seleccionar" onClick="javascript: parent.opener.document.insert.marca.value='.$marcas['0'].'; self.close()"></td>';

si no funciona asi checa el codigo de abajo y me comentas haber que sucede si no de lo contrario de pondre mas atencion

Código PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script >
      function coloca(marcas){
          parent.opener.document.insert.marca.value=marcas;
          window.close();
     }

</script>

</head>

<body>
<?php
include("conex.php");


$sql=mysql_query("SELECT mar_codigo,mar_descri FROM dpmarcas");


?>
<div  style="width:490px; position: relative; left: -15px; top: 0px; text-align:center">
<p>

      <table width="441" border = '1' align="center" cellpadding="0" cellspacing="0" class="tablas" >
       <tr style="background:#039; font-family:Tahoma, Geneva, sans-serif;  font-size:22px; color:white">
        <td width="193" class="tabla">Codigo </td>
        <td class="tabla" width="219" align="center">Descripción</td>
        <td class="tabla" width="219" align="center">  </td>                
       </tr>
 <?php
                            
            
//Mostramos los registros
 
while ($marcasmysql_fetch_array($sql))
 {
                
  echo 
'<tr style="font-family:Tahoma, Geneva, sans-serif;  font-size:18px;">';
  echo 
'<td align= "left">'.$marcas['0'].'</td>';
  echo 
'<td align= "left" style="font-style:italic">'.$marcas['1'].'</td>';
  echo 
'<td>'?> <a href="javascript:coloca('<?php echo $marcas['0']; ?>')">selecciona</a> <?php '</td>';
 
  echo 
'</tr>';
            
 }                    
    
mysql_free_result($sql);
?>
</table>

  </div>
</body>
</html>

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 27/04/2011, 08:46
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: Pasar Variables Entre Ventanas

Hola skiper0125, te comento:

El primer codigo que me enviaste no me funciono, hacia lo mismo que con el codigo que yo e envie, el segundo ME FUNCIONO EXCELENTE, SOS UN MOUNSTRUO, me funciono a la perfeccion, analizando tu codigo, no entiendo por que no se me ocurrio, debe ser que ya estaba embotado de tanto buscar y de tanto intentar que no daba con la solucion .

Un millon de gracias skiper0125
  #4 (permalink)  
Antiguo 27/04/2011, 09:06
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: Pasar Variables Entre Ventanas

Hola skiper0125, mira me surgio otro problema, el codigo me funciono perfecto, pero cuando me pasa lo siguiente:

Al llenar los campos correspondiente todo bien, pero cuando agrego el dato desde la ventana emergente me limpia todos los demas campos, que podria pasar ahi?

Espero puedas ayudar con eso

Saludos
  #5 (permalink)  
Antiguo 27/04/2011, 09:22
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 1 mes
Puntos: 511
Respuesta: Pasar Variables Entre Ventanas

Cita:
Iniciado por mixzplit Ver Mensaje
Hola skiper0125, mira me surgio otro problema, el codigo me funciono perfecto, pero cuando me pasa lo siguiente:

Al llenar los campos correspondiente todo bien, pero cuando agrego el dato desde la ventana emergente me limpia todos los demas campos, que podria pasar ahi?

Espero puedas ayudar con eso

Saludos
Dejame checar bien el codigo y cuando lo tenga listo te lo posteo a lo mejor me tardare un poco ya que estoy algo ocupado pero sin falta lo checo y te lo mando

saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125

Etiquetas: pasar, variables, ventanas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.