PHP - Desesperado, guardar varios checkbox en C.texto

 
Vista:

Desesperado, guardar varios checkbox en C.texto

Publicado por ANTONIO (11 intervenciones) el 30/08/2006 17:52:26
quiero guardar varios datos seleccionados con checkbox en un campo de texto el caso es q cuando selecciono un checkbox y despues selecciono otro , solo me sale un campo quiero decir el ultimo que clikeo y yo quiero q me coja o me salgan todos los que clikeo:
lo hago de esta forma
<form>
<p><input type="checkbox" name="ON" value="origen"
//aki esta el problema q me lo sobreescribe yo kiero q me pueda guardar varios datos no solo //uno
onclick="document.forms[0].origen.value= '$resultados[correo]@$resultados[dominio]' " >
</p>


</td>
</tr>

HTML;
}
echo <<< HTML
origen: <input name="origen" type="text" size="80">
</form>


me gustaria q me hiciera lo siguiente vease imagen
http://img244.imageshack.us/img244/8158/phpcy6.jpg

cuando yo seleccione dos campos como esta en la imagen donde ponga origen me ponga
[email protected], [email protected] para que yo pueda mandar esos datos juntos a una base de datos

por favos no hagan caso a los comentarios q salen en la imagen es para otra cosa

<tr>
<td width="14%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[ID]</font></div></td>
<td width="30%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[usuario]</font></div></td>
<td width="24%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[nivel_acceso]</font></div></td>
<td width="40%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[correo]@$resultados[dominio]</font></div></td>
<td width="50%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[dominio]</font></div></td>
<td width="64%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[quota]</font></div></td>
<td width="32%" bgcolor="#CCFFCC">
<form>
<p><input type="checkbox" name="ON" value="origen" onclick="document.forms[0].origen.value= '$resultados[correo]@$resultados[dominio]' " >
</p>


</td>
</tr>

HTML;
}
echo <<< HTML
DESTINO: <input name="origen" type="text" size="80">
</form>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Desesperado, guardar varios checkbox en C.texto

Publicado por h (49 intervenciones) el 30/08/2006 18:43:25
me parece que tu problema es que todos los checkbox que estas usando les pones el mismo nombre, necesitas ponerles nombres diferentes en la parte de name.

No recuerdo si tambien hay que cambiarle el id por cada checkbox

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Desesperado, guardar varios checkbox en C.texto

Publicado por ANTONIO (11 intervenciones) el 30/08/2006 18:58:19
y como les cambio el nombre si esos los he metido al mostrar los datos de una consulta


$res = mysql_query ("select dominio from usuarios group by dominio") or die ("error");

if ($res)
{
?>

<form action="" method="post">

<select name="cargardominio">
<?
$fila = mysql_fetch_row($res);
while($fila)
{
?>
<option value="<? echo $fila[0]; ?>"><? echo $fila[0]; ?></option>
<?
$fila=mysql_fetch_row($res);
}
?>
<input type="Submit" name="enviar" value="Aceptar información" class="botones">
<?

}

$pag=$_SERVER['PHP_SELF']; // el nombre y ruta de esta misma página.

function cabeceraHTML(){
echo <<< HTML
<html>
<head>
<title>Gestión Usuarios - SERVINTEX</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.botones { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; color: #FFFFFF; background-color: #0099FF; border-color: #000000 ; border-top-width: 1pix; border-right-width: 1pix; border-bottom-width: 1pix; border-left-width: 1pix}
.imputbox { font-size: 10pt; color: #000099; background-color: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif; border: 1pix #000000 solid; border-color: #000000 solid; font-weight: normal}
A:VISITED { font-weight: normal; color: #0000CC; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt}
A:LINK { font-weight: normal; color: #0000CC; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; border-color: #33FF33 #66FF66; clip: rect( ); font-size: 10pt}
A:ACTIVE { font-weight: normal; color: #FF3333; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt}
A:HOVER { font-weight: normal; color: #0000CC; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline; font-size: 10pt}
-->
</style>

</head>

<body bgcolor="#FFFFFF">

HTML;
}

if (isset($_GET['error'])){

$error_accion_ms[0]= "No se puede borrar el Usuario, debe existir por lo menos uno.<br>Si desea borrarlo, primero cree uno nuevo.";
$error_accion_ms[1]= "Faltan Datos.";
$error_accion_ms[2]= "Passwords no coinciden.";
$error_accion_ms[3]= "El Nivel de Acceso ha de ser numérico.";
$error_accion_ms[4]= "El Usuario ya está registrado.";

$error_cod = $_GET['error'];
echo "<div align='center'>$error_accion_ms[$error_cod]</div><br>";

}

$db_conexion= mysql_connect("$sql_host", "$sql_usuario", "$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("$sql_db") or die(mysql_error());

$usuario_consulta = mysql_query("SELECT * FROM $sql_tabla where dominio='".$HTTP_POST_VARS["cargardominio"]."' order by dominio" ) or die("No se pudo realizar la consulta a la Base de datos");

cabeceraHTML();

echo <<< HTML
<table width="700" border="1" cellspacing="0" cellpadding="10" bordercolor="#CCCCCC" align="center">
<tr>
<td colspan="7" bgcolor="#0099FF">

<div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font color="#FFFFFF">.:
Gestión Usuarios :.</font></b></font><br>
<a href="aut_logout.php">LogOut (salir)</a>
</div>
</td>
</tr>
<tr bgcolor="#00CCCC">
<td width="14%">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">ID
</font></b></div>
</td>
<td width="30%">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Usuario
</font></b></div>
</td>
<td width="24%">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Nivel
</font></b></div>
</td>
<td width="40%">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">correo
</font></b></div>
</td>
<td width="50%">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Dominio
</font></b></div>
</td>
<td width="64%">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Cuota
</font></b></div>
</td>

<td width="64%">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
</font></b></div>
</td>
</tr>

HTML;

while($resultados = mysql_fetch_array($usuario_consulta)) {

echo <<< HTML

<tr>
<td width="14%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[ID]</font></div></td>
<td width="30%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[usuario]</font></div></td>
<td width="24%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[nivel_acceso]</font></div></td>
<td width="40%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[correo]@$resultados[dominio]</font></div></td>
<td width="50%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[dominio]</font></div></td>
<td width="64%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados[quota]</font></div></td>
<td width="32%" bgcolor="#CCFFCC">
<form>
<p><input type="checkbox" name="ON" value="origen" onclick="document.forms[0].origen.value= '$resultados[correo]@$resultados[dominio]' " >
</p>


</td>
</tr>

HTML;
}
echo <<< HTML
DESTINO: <input name="origen" type="text" size="80">
</form>
HTML;
echo "</table>";

mysql_free_result($usuario_consulta);
mysql_close();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Desesperado, guardar varios checkbox en C.texto

Publicado por Mike79 (669 intervenciones) el 30/08/2006 23:48:45
Que diferencia de pregunta a la anterior.

Para hacer eso puedes como bien ya dijeron, usar nombres diferentes. O más facil, hacer un arreglo de variables. Pueden quedar algo asi como:

<input type="checkbox" name="ON[0]" value="origen">
<input type="checkbox" name="ON[1]" value="origen">
<input type="checkbox" name="ON[2]" value="origen">
....
<input type="checkbox" name="ON[n]" value="origen">

De esta forma, en php, lo recoges en la variable:
$_POST["ON"]; ó $_GET["ON"];

Y aso le aplicas un foreach.

Obviamente, el indice sera una variable unica que identifia a tu campo, Yo generalmente uso el primary key de la tabla. Aunque ya es cuestion de tus necesidades. Disculpa si no leo todo tu codigo fuente para ver que variable podrias usar en ese caso.

Puedes encontrar más información en:
http://www.php.net/manual/es/language.variables.external.php

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Desesperado, guardar varios checkbox en C.texto

Publicado por zrivera (1 intervención) el 11/09/2006 16:21:52
Todo lo que tienes que hacer para tener los valores de los checks elegidos ( colocandoles en el formulario el mismo nombre) es poniendo el nombre como arreglo de la forma: <input name="opciones[]" type="checkbox" value="opcion1">

verifica el ejemplo que dan en http://www.webtaller.com/construccion/lenguajes/php/lecciones/array-formulario-php.php lo probe con php5 y funciona muy bien.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar