Re: [PHP-ES] mysql_fetch_array + insertar valores con checkbox en otra tabla

[email protected] (Juan Manuel Acuña Barrera) Wed, 28 May 2014 10:31:55 -0500
Newsgroups php.general.es
Message-ID <[email protected]>
--Apple-Mail=_16F8B89D-764E-437F-855A-6B428BC1C3E8
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

Hola.

No se si he entendido bien tu problema, me parece que es algo as=ED:

1.- Obtienes un array de una base de datos, supongamos para el ejemplo =
que obtienes 10 items.
2.- La muestras en pantalla, con checkboxes incluidos.
3.- Quieres seleccionar, por ejemplo, el 3, el 5 y el 9.
4.- La p=E1gina te retorna como si solo hubieras seleccionado el 3 (o el =
9?)

Si ese es el problema, me parece que la soluci=F3n pasar=EDa por dos =
cosas:

a.- Debes hacer cada checkbox =FAnico, pon un contador con ++ y el =
checkbox as=F3cialo con una cadena mas el contador, por ejemplo:
check_0
check_1
check_2 ...

b.- En la p=E1gina donde est=E1s recibiendo la informaci=F3n, recorre el =
mismo array del punto 1, y haz un $_POST por cada uno de los checkboxes. =
Adicionalmente puedes almacenar esta informaci=F3n en un nuevo array =
para mejor manejo.

Espero que me haya explicado bien.=20

Saludos!


El 27/05/2014, a las 22:11, Alexis Saucedo <[email protected]> =
escribi=F3:

> Gente buenas noches, la verdad que ya intente de toda formas que el
> resultado de mysql me lo arroje con checkbox para poder marcar y poder
> insertar esos datos en otra base que ya no se que hacer. Necesito que
> cuando me traiga todos los datos de la base venga con un checkbox y =
pueda
> se=F1alar cual quiero insertar en otra base de datos por ejemplo si me =
trae
> azul, rojo y verde cuando marque azul y rojo solo me muestre esos =
datos
> para poder insertar en otra tabla.  Tengo una funcion que recoje los =
datos
> de la base, foto, descripcion, detalle:
>=20
> if ($_GET[buscar]=3D=3D"articles")
> {
> $dbhost=3D"localhost";
> $dbname=3D"";
> $dbuser=3D"";
> $dbpass=3D"";
> $db =3D mysql_connect($dbhost,$dbuser,$dbpass);
> $consulta=3D"SELECT * FROM article WHERE
> =
product_code=3D'".mysql_real_escape_string(intval($_GET[product_code]))."'=

> order by article";
> mysql_select_db($dbname);
> $todos=3Dmysql_query($consulta);
> // Comienzo a imprimir el select
>        echo "<div style=3D\"width: 100%; height: 400px; align: center;
> overflow-y:auto ;\">";
>        echo "<table border=3D\"0px\" width=3D\"100%\" =
cellpadding=3D\"10\">";
> //<---- reveer las medidas
> while($registro=3Dmysql_fetch_array($todos))
> {
> // Convierto los caracteres conflictivos a sus entidades HTML
> correspondientes para su correcta visualizacion
> // Imprimo las opciones del select
>                echo "<tr><td><a href=3D\"#\"
> onClick=3D\"afoto('images/nodisponible.png','desc');return
> false\"><td>"."<img src=3D\"images/$registro[art_image]\" border=3D\"0\"=

> height=3D\"60\" width=3D\"80\" />"."</td>";
> echo "<td heigth=3D100>".utf8_encode($registro["article"])."</td>";
>                echo
> "<td>".utf8_encode($registro["art_description"])."</td>";
>=20
>                if($registro[stock]>10){
>=20
>                echo "<td>"."Disponible"."</td>";
>                echo "<td><input name=3D\"valor[art_name]\" =
type=3D\"checkbox\"
> =
value=3D\"$registro[article]\">$registro[article]</input><br/></td></tr>";=

>=20
>                }else{
>                echo "<td>"."Agotado Consultar"."</td>";}
>=20
> }
>        echo "<td></td></table>";
>        echo "</div>";
>=20
> }
>=20
> y lo muestra js en la otra pagina, ahora cuando quiero llamar solo a =
esa
> parte desde la otra pagina de esta forma:
>=20
> <?php
>    if(isset($_POST['Submit'])) {
>    foreach($_POST['valor'] as $indice=3D>$valor) {
>        $campos[]=3D $indice;
>                $values[]=3D "'$valor'";
>    }
>=20
>        $campos=3D implode(", ", $campos);
>        $values=3D implode(", ", $values);
>        echo "($campos) VALUES ($values)";
> }
> ?>
>=20
> dentro de un form, boton demas pero solo me muestra un solo registro o =
sea,
> logro que me traiga los resultados con el checkbox si se fijan esta =
dentro
> del array, pero cuando se=F1alo mas de un valor solo me muestra el =
primero
> que se=F1ale, nunca todos si le hago un var_dump() tambien me trae el =
primero
> que se=F1alo, =BFalguien sabe como puedo hacer que me muestre todos =
los que
> marco en los checkbox?.
>=20
> Espero haberme explicado, muchisimas gracias.


--Apple-Mail=_16F8B89D-764E-437F-855A-6B428BC1C3E8
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iEYEARECAAYFAlOGAWsACgkQTc4QiYN6hDd83wCfa64skCM3m61oa7XZnOAWAXnk
p/cAoJDmR71lwz+K62uTYJcUtJ5vB7uI
=ThHY
-----END PGP SIGNATURE-----

--Apple-Mail=_16F8B89D-764E-437F-855A-6B428BC1C3E8--