Foros del Web » Programando para Internet » PHP »

como pasar estas variables

Estas en el tema de como pasar estas variables en el foro de PHP en Foros del Web. Hola a todos, tengo un problemita con unas variables, se crean automaticamente estas variables, dependiendo de la cantidad de registros que me vote un for ...
  #1 (permalink)  
Antiguo 10/06/2004, 22:23
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 14 años, 9 meses
Puntos: 0
como pasar estas variables

Hola a todos, tengo un problemita con unas variables, se crean automaticamente estas variables, dependiendo de la cantidad de registros que me vote un for que hago, entonces pueden ser 2 o 100 variables y no se como atraparlas en otro lado, coloco un pedazo del código para a ver si me hago entender mejor :

<form>
.
.
.
<?>
for ($i = 0; $i < mysql_num_rows($IdConsulta); $i++) {
echo("<TR class='BlancaNormalParrafo'> <TD width='100'>");
echo($row["ReferenciaFabricante"] . "<br> </TD>");
echo("<TD width='159'>" . $row["marca"] . "</td>");
echo("<TD width='156'>" . $row["proveedor"] . "</td>");
echo("<TD width='29'><INPUT type='checkbox' name='referencia" . $i . "' value='" . $row["IdReferencia"] . "'></TD></tr>");
$row = mysql_fetch_array($IdConsulta);
}
.
.
echo("<INPUT type='submit' name='Submit' value='Eliminar'>");
<?>

El for me genera unas variables llamadas referencia0 , referencia1 , referencia2 , etc, pero no se como atraparlas al otro lado, en la página donde procesare estas variables, ya estan pasando, porque atrape una manualmente, pero si son 100 ??? que puedo hacer en este caso ???

Gracias
  #2 (permalink)  
Antiguo 10/06/2004, 23:00
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 15 años, 5 meses
Puntos: 34
llamalas referencia[] en lugar de con un numero, y asi las podras recoger en forma de array xD

para imprimirlas batsaria con algo como
Código PHP:
foreach($_POST['referencia'] as $referenciaid){
echo 
$referenciaid."<br>";

y si las quieres borrar (lo digo por el nombre del submit) seria algo como:
Código PHP:
$lista=implode(',',$_POST['referencia']);
mysql_query("DELETE FROM tabla WHERE id IN(".$lista.")"); 
no stoi seguro q funcione bien xD
__________________
Sin Ideas

Última edición por oso96_2000; 11/06/2004 a las 00:12
  #3 (permalink)  
Antiguo 11/06/2004, 00:05
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 14 años, 9 meses
Puntos: 0
oso96 2000 una preguntica mas sobre estas variables

Funciono perfecto el scrip, pero el problema es que no entiendo nada de lo que hiciste, pense primero que tocaba colocarlo $referencia[] y noo, y luego pense que un array vacio (referencia[]) sacaba error y tampoco, y cuando recoge las variables no entiendo ni pio eso del referenciaid me podrias explicar mejor esto, gracias.
  #4 (permalink)  
Antiguo 11/06/2004, 00:21
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 15 años, 5 meses
Puntos: 34
lo q te puedo aconsejar es visitar www.php.net/foreach xD... ahi te daran una idea mas o menos de lo q es la funcion foreach, q sirve para tratar arrays o.o

al nombrar los campos como referencia[], y enviar el formulario es como si enviaras un array con diferentes valores, que serian las ID de las referencias... para en el ejemplo ve rel array, me parece que podriasd poner esto:
print_r($_POST['referencia']);

el foreach lo q hace es recoger ese array y en el ejemplo q puse lo q hace es q muestra las id, solo eso... el segundo ejemplo lo q hacemos es:

$lista=implode(',',$_POST['referencia']);
Con esto metemos todas las id en una sola cadena, separada spor una coma, quedarian algo como: 1,4,6,10,12... segun los id que enviaste

mysql_query("DELETE FROM tabla WHERE id IN(".$lista.")");
y con esto borramos de la tabla los elementos que esten en la lista que hicimos anteriormente separados por comas...

en realida dudo mucho q me haya explicado bien, por q no es lo mio xD.. pero si, puedes buscar en www.php.net mas cosas ^^
__________________
Sin Ideas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:56.