Foros del Web » Programando para Internet » PHP »

Como almaceno cuantos campos estan llenos?

Estas en el tema de Como almaceno cuantos campos estan llenos? en el foro de PHP en Foros del Web. Hola AMigos, me gustaría saber como puedo almacenar cuantos campos están ellos y el resultado ejemplo 4 eso guardaro en un array para despues ponerle ...
  #1 (permalink)  
Antiguo 13/05/2005, 17:00
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Como almaceno cuantos campos estan llenos?

Hola AMigos, me gustaría saber como puedo almacenar cuantos campos están ellos y el resultado ejemplo

4 eso guardaro en un array para despues ponerle cuentas veces tiene que ejecutarce un for

Saludos
  #2 (permalink)  
Antiguo 13/05/2005, 17:13
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
Cuando te refieres a campos hablas de formulario o base de datos??

Explica que quieres hacer a ver si la ideas que tienes derrenpete es una via un poco dificil y te podemos aconsejar con metodos mas sencillos.
  #3 (permalink)  
Antiguo 13/05/2005, 20:14
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
bien, es un formulario que tiene 6 campos,

Categoria
archivo[]
archivo[]
archivo[]
archivo[]
archivo[]

Entonces, necesito identificar cuantos archivo[] están llenos para dale el mandato el for para que se ejecuta la cantidad de veces.

Espero que me alla explicado.
  #4 (permalink)  
Antiguo 13/05/2005, 22:27
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Ve que estás manejando un array... y que solo se enviarán los campos que contengan un valor... ¿saber cuántos son?; sencillo:
Código PHP:
count($_POST['archivo']) 
... pero para utilizarlos en un for?? .. No te sirve un foreach?:
Código PHP:
foreach($_POST['archivo'] as $indice => $valor)
echo 
$indice." -> ".$valor."<br>"
Si puedes manejar un foreach, es mejor.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 14/05/2005, 06:31
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Mira estoy utilizando un for para subir varias imágenes a la vez desde un formulario a la Base de Datos.

Código PHP:
$N 5//Número de archivos a Subir 
for($i=0$i<$N$i++) { 
// ------ el codigo ... ----- //

Entonces usaría count($_POST['archivo']) para saber el valor de $N

Nos Vemos
  #6 (permalink)  
Antiguo 14/05/2005, 06:40
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Amigo prové con

foreach($_POST['archivo[]'] as $indice => $valor)
echo $indice." -> ".$valor."<br>";

Pero no me dá el VALOR es decir el Numero de campos llenos?

Como lo obtengo ?
  #7 (permalink)  
Antiguo 14/05/2005, 08:06
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 19 años, 11 meses
Puntos: 0
$_POST['archivo']
__________________
Julio Hernández
  #8 (permalink)  
Antiguo 14/05/2005, 09:38
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Si eso es para obtener el archivo pero lo que yo necesito es contar cuantos campos están ellos. Y cada campo se llama asi:

archivo[]
archivo[]
archivo[]
archivo[]
archivo[]

Ya que el for le va poniendo el NUMERO dentro de [] solo

Saludos
  #9 (permalink)  
Antiguo 14/05/2005, 22:27
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por 2Fast To You
Amigo prové con

foreach($_POST['archivo[]'] as $indice => $valor)
echo $indice." -> ".$valor."<br>";

Pero no me dá el VALOR es decir el Numero de campos llenos?

Como lo obtengo ?
foreach te crea una matríz numérica, el índice iría de 0 hasta n-1 datos recibidos, el índice correspondería a el "value" de dicho campo recivido.

Vé que.. el "name" no necesitas indicarle que es una matríz... compara lo que puso yo y lo que tú muestras.

www.php.net/foreach

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #10 (permalink)  
Antiguo 15/05/2005, 05:46
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Bien, creo que es lo que necesito, pero una cosa, me pudes explicar mas o menos como utilizar el foreash

Es decir pongo

Código PHP:
foreach($_POST['archivo'] as $indice => $valor) {
 
// La Sentensia etc ??

Y a cada Campo le pongo archivo no archivo[] ?
  #11 (permalink)  
Antiguo 15/05/2005, 09:52
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
Ok te orientare porque como dice jam1138 la mejor via es el foreach ya que siendo un buble este tiene una ventaja que no da el for, el foreach te permite recorrer un bucle sin saber cual es el ultimo contenido del array , esto lleva a no tener que saber cuantos elementos tiene el array y es ventaja.

Pero la mayor ventaja es la posibilidad de ponerle alias a lo que viene para manejarlo, aqui me explicare mejor:
Un array normal:
$_POST["archivo"][0] imprime el primer elemento
$_POST["archivo"][1] imprime el segundo elemento y hace sucesivamente.

Asi seria la forma de trabajarlo dinamicamente con un for pero colocando la variable que va en aumento en vez de la ubicacion de array:
<?php
for($i=0;$i<count($_POST["archivo"]);$i++){
echo $_POST["archivo"][$i];
}
?>

Alli veras como es el uso en for, pero en foreach tienes una ventaja puedes ponerle como decimos un alias o sobrenombre a los valores para ir mas directo, a que me refiero bueno es simple:
$_POST["archivo"] aqui archivo es el nombre de la variable array que esta activa en for, asi como $_POST puede tener otras variables que sean array tambien y con un solo formulario enviar muchos arrays entonces con foreach no necesitamos saber su nombre para usarlos unicamente necesitamos ponerle un alias a "archivo" y un alias o sobrenombre a los valores que tiene "archivo"

Código PHP:
<?php
foreach($_POST["archivo"] as $nombre => $valor){
 
# en esta consulta los indices que esten en $_POST["archivo"] ahora se llamara
 # $nombre, los indices son las posiciones numericas del array desde cero hasta
 # el ultimo del array.
 # El valor de cada indice será llamado $valor
 # y si imprimes $nombre la posicion del array los resultados que veras seran valores numericos
 # del cero hasta el mayor indice del array cuando acabe y valor ceran los nombres de los archivos.
 
echo $nombre.": ".$valor."<br>";
?>
  #12 (permalink)  
Antiguo 15/05/2005, 19:17
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Un foreach no es más que un for más "compacto" (unión de un for y un each)
esto:
Código PHP:
foreach($_POST['campos_matriz'] as $indice => $valor)
echo 
"Indice: $indice -> Valor: $valor<br>"
Es lo mismo que esto:
Código PHP:
for($indice=0$indice<count($_POST['campo_matriz']); $indice++)
echo 
"Indice: $indice -> Valor: ".$_POST['campo_matriz'][$indice]."<br>"
e igual es equivalente a esto:
Código PHP:
$indice=0;
while(
$indice<count($_POST['campo_matriz'])) {
   echo 
"Indice: $indice -> Valor: ".$_POST['campo_matriz'][$indice]."<br>";
   
$indice++;

...

Mencioné la función each(): www.php.net/each

PD: Por tu script anterior supongo usas la FAQ para subir varios archivos (), tu problema se sulociona con
Código PHP:
 $N count($_POST['archivo']); //Número de archivos a Subir 
aunque eso ya lo habíamos concluido...

Otra cosa, en éste último caso sí es válido usar $_POST pués solo necesitamos el número de campos que vienen con un valor... pero ve que en el for, y a su vez el foreach, ó el while tienes que y usar $_FILES

:pensado:...
Cita:
Y a cada Campo le pongo archivo no archivo[] ?
En tu formulario sí... generas una matríz en $_POST ó $_FILES no... lo dije porque lo ponías ahí en tu código.

(qué PD tan largo )
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 16/05/2005 a las 13:34
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 14:44.