Foros del Web » Programando para Internet » PHP »

Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Estas en el tema de Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina. en el foro de PHP en Foros del Web. Hola nuevamente, otra vez recurro a uds para ver si me puden ayudar un poco con el tema de php.. bueno, tengo una pagina principal ...
  #1 (permalink)  
Antiguo 10/07/2012, 13:28
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Pregunta Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Hola nuevamente, otra vez recurro a uds para ver si me puden ayudar un poco con el tema de php..
bueno, tengo una pagina principal llamada SeleccionClientes.php y dentro tengo un formulario con un bucle el cual me trae los registros de una BD y le asigna un checkbox a cada registro nuevo, aqui la parte del codigo:

Código:
<form name="fo" method="post" action="validar_cliente.php">
   <?
     while($row=mssql_fetch_array($result)){                        
      ?>
      
      <tr onMouseOver="this.style.backgroundColor='#666666' "  onMouseOut="this.style.backgroundColor=''; this.style.color='white' " >
        <td>
           //aqui creo el checkbox y le asigno la id_cliente como valor.
          <input type="checkbox" name="check" value="<? $row['id_cliente'] ?>"> 
    </td>
          <td valign="top"><? echo $row ['id_cliente'] ?></td>
          <td valign="top"><? echo $row ['descripcion']?></td>
          <td valign="top"><? echo $row['empresa']?></td>
        </tr>
      <?
           ++$valor;
		   $_SESSION['id_cliente']=$row['id_cliente'];
		   ?>
		        <script type="text/javascript">
				maximoCheckboxarCheckbox(document.forms.fo.check,1);
				</script>
                
            <?	
	 }
    ?>
    </table>
<p>&nbsp;</p>
<p>&nbsp;</p>    
      <input type="submit" name="button" value="continuar &gt;&gt;&gt;" disabled>
</form>
el punto es que necesito pasar la id_cliente del checkbox que se encuentre seleccionado en el momento.
Actualmente me trae los datos pero me trae solammente el del ultimo registro y lo que necesito es lo que mencione anteriormente, que solamente me traiga los datos del cual tiene el checkbox = enabled.

ojala me puedan ayudar nuevamente ya que gracias a las personas de este foro es que aprendo cada vez mas este lenguaje :D

saludos a todos de antemano ;)
  #2 (permalink)  
Antiguo 10/07/2012, 14:00
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

No entiendo si el checkbox enabled lo clickeas tu o esta en la base de datos, pero no importando eso, solo tienes que hacer un if por cada checkbox, si esta chequeado lo pones, no tienes para que hacer el "else".

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 10/07/2012, 14:02
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Código PHP:
Ver original
  1. while($row=mssql_fetch_array($result)){
tenes un error de sintaxis ahí, es mysql_.. no mssql_
  #4 (permalink)  
Antiguo 10/07/2012, 14:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Bueno para empezar le falta el "echo" a tu valor:
Código PHP:
Ver original
  1. <input type="checkbox" name="check" value="<? $row['id_cliente'] ?>">

Por eso no te muestra nada me supongo, ahora sí solo deseas poder seleccionar uno, pues no uses un checkbox, usa un radio button.

Saludos.
  #5 (permalink)  
Antiguo 10/07/2012, 14:04
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Código PHP:
Ver original
  1. <input type="checkbox" name="check" value="<? $row['id_cliente'] ?>">

y ahi si queres que se muestre en el value del checkbox el id de cliente te falta usar echo
Código PHP:
Ver original
  1. <input type="checkbox" name="check" value="<? echo $row['id_cliente'] ?>">
  #6 (permalink)  
Antiguo 10/07/2012, 14:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

No rodrigo791, eso significa que esta usando MS SQL, no MySQL, hay diferentes gestores de bases de datos que soporta PHP.

Saludos.
  #7 (permalink)  
Antiguo 10/07/2012, 14:07
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Cita:
Iniciado por GatorV Ver Mensaje
No rodrigo791, eso significa que esta usando MS SQL, no MySQL, hay diferentes gestores de bases de datos que soporta PHP.

Saludos.
jaja, si gracias por la aclaración, eso pence luego de escribir tan rapido es que como ya estamos mas acostumbrados a mysql con el tema de php, pero bueno en fin
  #8 (permalink)  
Antiguo 10/07/2012, 14:23
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Cita:
Iniciado por Marvin Ver Mensaje
No entiendo si el checkbox enabled lo clickeas tu o esta en la base de datos, pero no importando eso, solo tienes que hacer un if por cada checkbox, si esta chequeado lo pones, no tienes para que hacer el "else".

Saludos!
haber... el checkbox enabled se hace directamente ... el dato que le estoy asignando en el value viene directo de la base de datos , donde estoy en la duda es que con el while que estoy haciendo me selecciona el ultimo registro. Esto llamandolo de otra pagina con este pedazito de codigo :

Cita:
<?php
session_start();
$idCliente=$_SESSION['id_cliente'];
echo $_SESSION['id_cliente'];
  #9 (permalink)  
Antiguo 10/07/2012, 14:33
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Cita:
Iniciado por rodrigo791 Ver Mensaje
Código PHP:
Ver original
  1. while($row=mssql_fetch_array($result)){
tenes un error de sintaxis ahí, es mysql_.. no mssql_
jeje el amigo ya te respondio antes por mi .... utilizo php con Sql Server 2008

Cita:
Iniciado por GatorV Ver Mensaje
Bueno para empezar le falta el "echo" a tu valor:
Código PHP:
Ver original
  1. <input type="checkbox" name="check" value="<? $row['id_cliente'] ?>">

Por eso no te muestra nada me supongo, ahora sí solo deseas poder seleccionar uno, pues no uses un checkbox, usa un radio button.

Saludos.
gracias por tu respuesta de antemano, haber a lo mejor me explique mal.... valide el checkbox en javascript por lo cual si puedo seleccionar un solo registro o si no me envia un error... a lo que me referia es por ejemplo :

|id_cliente|nombre_cliente|empresa| ---> es lo que graficamente se muestra.
͏͏ 111111 xxxxxxxxx 0

tenemos la tabla con la informacion de la BD. entonces aparecen 5 aprox, pero mi problema pasa por lo siguiente, si hago click en el primer registro.. me aparece el id cliente de ultimo registro en pantalla, me hago entender?? si no me entiendes me lo indicas por que soy medio complicado jeje.


Cita:
Iniciado por rodrigo791 Ver Mensaje
Código PHP:
Ver original
  1. <input type="checkbox" name="check" value="<? $row['id_cliente'] ?>">

y ahi si queres que se muestre en el value del checkbox el id de cliente te falta usar echo
Código PHP:
Ver original
  1. <input type="checkbox" name="check" value="<? echo $row['id_cliente'] ?>">
sin ocupar echo igual me muestra el value ....... pero si selecciono el primer registro, me muestra el ultimo registro que aparece en pantalla.
lo que necesito es que al seleccionar el primer registro con el check me lo envie a otra pagina el id_cliente.

Cita:
Iniciado por GatorV Ver Mensaje
No rodrigo791, eso significa que esta usando MS SQL, no MySQL, hay diferentes gestores de bases de datos que soporta PHP.

Saludos.
gracias por aclarar.. ejeje saludos.
  #10 (permalink)  
Antiguo 10/07/2012, 14:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Es lo que te digo, es por el control tipo check, debe de ser uno tipo radio para que te envíe solamente el valor del radio que seleccionaste, por defecto el check envía el valor de todos los checkboxes seleccionados.

Saludos.
  #11 (permalink)  
Antiguo 10/07/2012, 15:08
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Cita:
Iniciado por GatorV Ver Mensaje
Es lo que te digo, es por el control tipo check, debe de ser uno tipo radio para que te envíe solamente el valor del radio que seleccionaste, por defecto el check envía el valor de todos los checkboxes seleccionados.

Saludos.
ohh de verdad??? eso no lo sabia... voy a probar inmediatamente y te aviso por cualquier duda .... de todas formas muchas gracias por la ayuda que me brindas :D
  #12 (permalink)  
Antiguo 10/07/2012, 15:25
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Cita:
Iniciado por GatorV Ver Mensaje
Es lo que te digo, es por el control tipo check, debe de ser uno tipo radio para que te envíe solamente el valor del radio que seleccionaste, por defecto el check envía el valor de todos los checkboxes seleccionados.

Saludos.
sabes que probé lo que me dijiste y aun asi no me funciono =(
lo dejé de la siguiente forma

Código:
<form name="fo" method="post">
   <?
     while($row=mssql_fetch_array($result)){                        
      ?>
      
      <tr onMouseOver="this.style.backgroundColor='#666666' "  onMouseOut="this.style.backgroundColor=''; this.style.color='white' " >
        <td>
          <input type="radio" name="id" value="<? $row['id_cliente'] ?>"> 
    </td>
          <td valign="top"><? echo $row ['id_cliente'] ?></td>
          <td valign="top"><? echo $row ['descripcion']?></td>
          <td valign="top"><? echo $row ['empresa']?></td>
        </tr>
      <?
           ++$valor;
		   $_SESSION['id_cliente']=$row['id_cliente'];
		   
		   ?>
		        <script type="text/javascript">
				maximoCheckboxarCheckbox(document.forms.fo.check,1);
				</script>
                
            <?	
	 }
	    if(isset($_POST['id'])){
			?> 
			 <!--<script type="text/javascript">
				location.href="validar_cliente.php";
				</script-->
            <? 
			echo $_SESSION['id_cliente'];			
			}
    ?>
    </table>
<p>&nbsp;</p>
<p>&nbsp;</p>    
      <input type="submit" name="button" value="continuar &gt;&gt;&gt;" disabled>
</form>
pero aun asi me sigue enviando el value del ultimo registro =(
  #13 (permalink)  
Antiguo 10/07/2012, 15:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Sigues teniendo el mismo problema: <input type="radio" name="id" value="<? $row['id_cliente'] ?>">

Te falta el echo para imprimir el valor, luego en tu otra pagina lo tienes que rescatar como $_POST['id'].

Saludos.
  #14 (permalink)  
Antiguo 10/07/2012, 16:07
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Seleccionar solo "un" value del checkbox y pasar los datos a otra pagina.

Cita:
Iniciado por GatorV Ver Mensaje
Sigues teniendo el mismo problema: <input type="radio" name="id" value="<? $row['id_cliente'] ?>">

Te falta el echo para imprimir el valor, luego en tu otra pagina lo tienes que rescatar como $_POST['id'].

Saludos.
Master muchas gracias!! pero paso algo rarisimo... aplique esto mismo
con "checkbox" y me funciono sin problemas, te vuelvo a dar las gracias por tu ayuda..... gracias a ti se algo nuevo.

Etiquetas: avascript, checkbox, seleccion
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 11:59.