Foros del Web » Programando para Internet » PHP »

Como paso un valor selecionado

Estas en el tema de Como paso un valor selecionado en el foro de PHP en Foros del Web. Hola amigos tengo la suiente inquietud, espero contar con su colaboracion: tengo el siguiente codigo: Código PHP: <?php  //-----------------------------------------------------------------------------------------------------+      //Consulta que muestra los datos del Comprobate                                                                 $sql1  = ( "select codcuenta,nomcuenta,tasa,destino from cuentas where codcuenta = codcuenta && codcuenta <> 0" ...
  #1 (permalink)  
Antiguo 22/09/2005, 06:21
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Como paso un valor selecionado

Hola amigos tengo la suiente inquietud, espero contar con su colaboracion:

tengo el siguiente codigo:

Código PHP:
<?php 

//-----------------------------------------------------------------------------------------------------+ 
    //Consulta que muestra los datos del Comprobate                                                  
    
        
$sql1 = ("select codcuenta,nomcuenta,tasa,destino from cuentas where codcuenta = codcuenta && codcuenta <> 0"); 
              
     
$respu1 mysql_query($sql1); 
     
$res1 mysql_num_rows($respu1); 
         
     for(
$i=0;$i<$res1;$i++) //Mostramos los datos de la consulta 
     

     
$data1 mysql_fetch_object($respu1); //Realiso dos hidden llamados identificacion y password para 
                                             //que me guarde los valores y asi pasarlo a los demas formularios.    
     
?> 
  <table width="100%" height="34" 
            border=0 cellpadding=0 cellspacing=0 bgcolor=#F4F4FF> 
    <tbody> 
      <tr> 
        <td width=751 height="34" align=left bgcolor=#FFECEE> 
          <table width="100%" border="1" cellspacing=0 bordercolor="#FFECEE" class=tablaCont> 
            <tbody> 
              <tr bgcolor="#FFECEE" class=trmarca> 
                <td width="27%" height="26" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
                  <div align="left"><font face="HandelGotDLig" color="#000000"><? echo $data1->codcuenta?></font><font color="#000000"></font></div></td> 
                <td width="40%" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
                  <div align="left"><font face="HandelGotDLig" color="#000000"><? echo $data1->nomcuenta?></font><font color="#000000"></font></div></td> 
                <td width="21%" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"><font face="HandelGotDLig" color="#000000"><? echo $data1->tasa?> 
                  % </font></td> 
                <td width="12%" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"><font face="HandelGotDLig" color="#000000"><? echo $data1->destino?></font></td> 
              </tr> 
            </tbody> 
          </table> 
        </td> 
      </tr> 
    </tbody> 
  </table> 
  <?php 
  
}//fin del for 
mysql_close(); 
?>
En el codigo anterior cada checkbox tome un valor sacado de la BD.

Mi inquietud es : --- Como paso el valor seleccionado con el checkbox de la pagina de consulta a otra
pagina que contiene un formulario, directamente a una casilla de texto??

Gracias por la colaboracion que me puedan brindar ....
  #2 (permalink)  
Antiguo 22/09/2005, 06:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No entendí bien el tema de los checkbox (no los veo en ese código .. están en otro? .. indicalo completo)

Pero . .como orientación creo que te servirá esta FAQ. Revisala:
http://www.forosdelweb.com/f18/faqs-php-530600-post518710/


Un saludo,
  #3 (permalink)  
Antiguo 22/09/2005, 06:58
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Que pena ... aqui va el codigo...

Disculpa... que pena.

Código PHP:
<?php 

//-----------------------------------------------------------------------------------------------------+ 
//Consulta que muestra los datos del Comprobate 

$sql1 = ("select codcuenta,nomcuenta,tasa,destino from cuentas where codcuenta = codcuenta && codcuenta <> 0"); 

$respu1 mysql_query($sql1); 
$res1 mysql_num_rows($respu1); 

for(
$i=0;$i<$res1;$i++) //Mostramos los datos de la consulta 

$data1 mysql_fetch_object($respu1); //Realiso dos hidden llamados identificacion y password para 
//que me guarde los valores y asi pasarlo a los demas formularios. 
?> 
<table width="100%" height="28" 
border=0 cellpadding=0 cellspacing=0 bgcolor=#F4F4FF>
  <tbody> 
<tr> 
      <td width=751 height="28" align=left bgcolor=#FFECEE> 
        <table width="100%" border="1" cellspacing=0 bordercolor="#FFECEE" class=tablaCont>
          <tbody>
            <tr bgcolor="#FFECEE" class=trmarca> 
              <td width="27%" height="26" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
                <div align="right"><font face="HandelGotDLig" color="#000000"><? echo $data1->codcuenta?></font><font color="#000000"></font> 
                    <input name="codcuenta" type="checkbox" id="codcuenta" value="1">
                </div></td>
              <td width="40%" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
                <div align="right"><font face="HandelGotDLig" color="#000000"><? echo $data1->nomcuenta?> 
                    <input name="nomcuenta" type="checkbox" id="nomcuenta" value="1">
                  </font></div></td>
            </tr>
          </tbody>
        </table> 
</td> 
</tr> 
</tbody> 
</table> 
<?php 
}//fin del for 
mysql_close(); 
?>
Si me puedes ayudar te lo agradeceria...
  #4 (permalink)  
Antiguo 22/09/2005, 07:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y leiste la FAQ que mencioné (link)?

Ahí veras como trabajar con ese tipo de elementos en forma de "array":

<input name="nomcuenta[]" type="checkbox" id="nomcuenta" value="1">

Un saludo,
  #5 (permalink)  
Antiguo 22/09/2005, 07:21
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
No sé si es lo que quieres hacer, pero en este caso estarias pasando solo valores 1.

1) Te falta colocar todos los objetos del formulario dentro de una etiqueta form

<form name="f1" action="script.php" method="post">
aqui van los objetos del formulario, checkboxes y demas
</form>

2) En script.php (destino en que mostraras lo que hayas elegido) haces esto:

Código PHP:
muestra el valor del checkbox codcuenta (1) en esta caja de texto
<input type="text" name="ver_valores" value="<?php echo $_POST['codcuenta']?>">
  #6 (permalink)  
Antiguo 22/09/2005, 08:12
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta No me funciona ...

Hola mira este es el condigo que tengo donde selecciono los datos.

Código PHP:

<form name="form1" action="ingresarcontabcegreso.php" method="post">

<?php 

$sql1 
= ("select codcuenta,nomcuenta,tasa,destino from cuentas where codcuenta = codcuenta && codcuenta <> 0"); 

$respu1 mysql_query($sql1); 
$res1 mysql_num_rows($respu1); 

for(
$i=0;$i<$res1;$i++) //Mostramos los datos de la consulta 

$data1 mysql_fetch_object($respu1); //Realiso dos hidden llamados identificacion y password para 
//que me guarde los valores y asi pasarlo a los demas formularios. 
?> 
<table width="100%" height="28" 
border=0 cellpadding=0 cellspacing=0 bgcolor=#F4F4FF>
  <tbody> 
<tr> 
      <td width=751 height="28" align=left bgcolor=#FFECEE> 
        <table width="100%" border="1" cellspacing=0 bordercolor="#FFECEE" class=tablaCont>
          <tbody>
            <tr bgcolor="#FFECEE" class=trmarca> 
              <td width="27%" height="26" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
                <div align="right"><font face="HandelGotDLig" color="#000000"><? echo $data1->codcuenta?></font><font color="#000000"></font> 
                    <input name="codcuenta[]" type="checkbox" id="codcuenta" value="1">
                  </div></td>
              <td width="40%" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
                <div align="right"><font face="HandelGotDLig" color="#000000"><? echo $data1->nomcuenta?> 
                    <input name="nomcuenta[]" type="checkbox" id="nomcuenta" value="1">
                    </font></div></td>
            </tr>
          </tbody>
        </table> 
</td> 
</tr> 
</tbody> 
</table> 
<?php 
}//fin del for 
mysql_close(); 
?>
En el formulario donde voy a visializar los datos tengo:

Código PHP:
 <input name="codcuenta" type="text" id="codcuenta" value="<?php echo $_POST['codcuenta']?>" size="8" maxlength="8"> </font></div></td>
... Pero no visualiza nada ... ah y el formulario de consulta al dar clic en enviar no se me cierra ... lo que esta pasango es que este llama al formulario ingresarcontabcegreso.php y visualiza en el campo la palabra array.

Que paso ????

  #7 (permalink)  
Antiguo 22/09/2005, 08:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Insisto que leas nuevamente la FAQ que te mencioné .. Eso que te sucede que dice ahí "array" es lo que se espera .. UN array!.

Ahora .. si tu quieres en ese campo por ejemplo poner una lista de "ID's" de los´checbox que seleccionastes, lo primero es que debes añadir un "value" a ese checkbox. Un checkbox sólo pasa su valor si se selecciona .. así que poner "valuer=1" no tiene sentido, debes usar el valor que tu le estás dando y que ya muestras por otro lado:

Código PHP:
<input name="codcuenta[]" type="checkbox" id="codcuenta" value="<? echo $data1->codcuenta?>">
Ahora .. como en tu caso no sólo pasas un array sino dos (o mas) .. debes recorrer los arrays generados con un bucle for() (en lugar de un foreach como en el ejemplo de las FAQ) .. o simplemente usar un implode() para conctenar todos tus valores en forma de valores separados por el caracter que escojas. (deberías explicar para que requieres en un campo de texto esos valores de tus checkbox seleccionados .. tal vez exista otra mejor solución).

Consulta PHP.net si no conoces el uso de implode()
www.php.net/implode

Un saludo,
  #8 (permalink)  
Antiguo 22/09/2005, 09:37
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Oye esta super ... te lo agradesco mucho ....

Oye esta super ... te lo agradesco mucho .... publico el codigo.

  #9 (permalink)  
Antiguo 22/09/2005, 11:42
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Exclamación Una ultimo inquietud

El dato a consultar y formulario donde se ingresan los datos seleccionados estan en diferente ventanas. Y me estan generando:

La pagina donde estoy definiendo la funcion

Código PHP:
<?
// Generamos una lista de los ID's (campo value= ..) que tenemos en nuestro array. 
foreach ($_POST['seleccion'] as $lista){ 
echo 
$lista."<br>"
}
// fin foreach
?>
Se encuentra en el formulario y me genera el error ...

Warning: Invalid argument supplied for foreach() in C:\SERVIDOR\WEB\SIGDOC\PUBLIC\ingresarcontabcegres o.php on line 295

Ademas la colsulta la realizo en una ventana aparte ... como hago para que esta me envie el dato a la pagina de mi formulario y este dato no se carge mi la misma ventana de mi consulta???

Gracias por tu ayuda.
  #10 (permalink)  
Antiguo 22/09/2005, 13:17
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Comprueba antes si $_POST['seleccion'] contiene datos, asi:

Código PHP:
<?
if (isset($_POST['seleccion'])){
  
// Generamos una lista de los ID's (campo value= ..) que tenemos en nuestro array.
  
foreach ($_POST['seleccion'] as $lista){
    echo 
$lista."<br>";
  }
// fin foreach
}
?>
  #11 (permalink)  
Antiguo 22/09/2005, 13:34
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Exclamación Oye muchas gracias .. tengo otra inquietud ??

Tengo dos ventanas:

* La primera con el formulario ...
* La segunda con la consulta ...

pero al tratar de pasar un valor al otro la ventana de la consulta carga dentro de ella la pagina del formulario ... lo envia la informacion a la otra ventana ... ahi va el codigo.

Código PHP:
// pagina de consulta que pasa los valores a la ventana del formalario.

<?php
/* 
// +-----------------------------------------------------------------------------------------------------+
// | PHP Version 4                                                                                       |
// +-----------------------------------------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group                                                               |
// +-----------------------------------------------------------------------------------------------------+
// | Formulario que permite exportar los datos a un archivo plano                                        |
// | requerimientos suministrados al sistemas                                                            |
// +-----------------------------------------------------------------------------------------------------+
// | Autor: Oscar A Higinio C.      <[email protected]>                                          |
// +-----------------------------------------------------------------------------------------------------+
*/
//-------------------------------------------------------------------------------------------------------- 
    //Funcion para conectarme a la Base de Datos Mysql
    
    
function conectar() 
     { 
      if (!(
$link=mysql_connect("localhost","root",""))) 
       { 
       echo 
"Error conectando a la base de datos."
       exit(); 
       } 
       if (!
mysql_select_db("sigdoc",$link)) 
        { 
         echo 
"Error seleccionando la base de datos."
         exit(); 
        } 
       return 
$link
     } 
     
$link=conectar(); 
?>

<table width="100%" height="50" border="0" cellspacing=0 bgcolor="#F4F4FF" class=tablaCont>
  <tbody>
    <tr bgcolor="#FFECEE" class=trmarca> 
      <td height="22" colspan="2" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
        <div align="center"><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>LISTAR 
          CUENTAS</strong></font></div></td>
    </tr>
    <tr bgcolor="#FF3366" class=trmarca> 
      <td width="26%" height="22" bgcolor="#FF3366" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
        <div align="right"><strong><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Cod 
          cuenta </font></strong></div></td>
      <td width="40%" bgcolor="#FF3366" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px">
<div align="right"><strong><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Nombre 
          cuenta </font></strong></div></td>
    </tr>
  </tbody>
</table>

<form name="form1" action="ingresarcontabcegreso.php" method="post">
<?php

// Ejecutar la consulta para obtener los datos de la BD. 
$resultado=mysql_query("SELECT * FROM cuentas"); 

// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD. 

while ($row mysql_fetch_array($resultado)){ 
?>
<table width="100%" height="34" 
            border=0 cellpadding=0 cellspacing=0 bgcolor=#F4F4FF>
  <tbody>
    <tr> 
        <td width=751 height="34" align=left bgcolor=#FFECEE> 
          <table width="100%" border="0" cellspacing=0 class=tablaCont>
            <tbody>
              <tr class=trmarca> 
                <td width="43%" height="24" bgcolor="#FFECEE" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
                  <div align="right"><font color="#000000"> 
                    <input name="seleccion[]" type="checkbox" id="codcuenta" value="<? echo $row['codcuenta']; ?>">
                    <? echo "<value=\"".$row['codcuenta']."\">".$row['codcuenta']."<br>"?></font></div></td>
                <td width="57%" bgcolor="#FFECEE" class=CuerpoContC style="PADDING-BOTTOM: 3px; PADDING-TOP: 3px"> 
                  <div align="right"><? echo "<value=\"".$row['codcuenta']."\">".$row['nomcuenta']."<br>"?></div></td>
              </tr>
            </tbody>
          </table></td>
    </tr>
  </tbody>
</table>
<?php
}// Fin de while 
?>
<div align="right"> 
    <table width="100%" border="0">
      <tr> 
        <td bgcolor="#FF3366">&nbsp;</td>
      </tr>
      <tr> 
        <td height="26"> <div align="right"><font size="5"><strong><font size="5"><strong><font size="5"><strong><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif">* 
            Para Enviar el dato de clic en boton</font></strong></font></strong></font></strong></font> 
            <font size="5"><strong><font size="5"><strong><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif"> 
            </font><font size="5"><strong><font size="5"><strong><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif">
            <input type="submit" name="Submit" value="Enviar">
            </font></strong></font></strong></font><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif"> 
            </font></strong></font></strong></font> </div></td>
      </tr>
      <tr>
        <td height="26"><div align="right"><font size="5"><strong><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif">* 
            </font><font size="5"><strong><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif">Para 
            volver al Menu Principal</font></strong></font><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif"> 
            de clic en boton 
            <input name="Cerrar" type="button" id="Cerrar2" onClick = "cerrar()" value="Cerrar">
            </font></strong></font></div></td>
      </tr>
    </table>
    <p><font size="5"><strong><font color="#FF3366" size="4" face="Verdana, Arial, Helvetica, sans-serif"> 
      </font></strong></font> </p>
  </div>
</form>
.....

Código PHP:
//ventana del formulario que toma los valores  ... con la funcion que se describe tomo los datos de la ventana de consulta

<?
                                            
if (isset($_POST['seleccion'])){ 
                                                
// Generamos una lista de los ID's (campo value= ..) que tenemos en nuestro array. 
                                                
foreach ($_POST['seleccion'] as $lista){ 
                                                
?><input name="codcuenta" type="text" id="codcuenta" value="<? echo $lista?>" size="8" maxlength="8"> <?
                                                
}// fin foreach
                                            
}else{
                                            
?>
                                            <input name="codcuenta" type="text" id="codcuenta" value="<? echo $lista?>" size="8" maxlength="8">
                                            <?
                                            
}// fin del if
                                            
?>
La verdad no se poque me pasa eso ....

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 07:31.