Foros del Web » Programando para Internet » PHP »

Bucle valores vacios

Estas en el tema de Bucle valores vacios en el foro de PHP en Foros del Web. hoala a todos, tengo el siguinete problema, envio datos de un formulario con 4 cajas de textos para ingresar info en un mismo archivo: @import ...
  #1 (permalink)  
Antiguo 11/01/2011, 07:47
 
Fecha de Ingreso: octubre-2010
Ubicación: San Antonio
Mensajes: 19
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Bucle valores vacios

hoala a todos, tengo el siguinete problema, envio datos de un formulario con 4 cajas de textos para ingresar info en un mismo archivo:
Código PHP:
Ver original
  1. <?PHP
  2. $primero = $_POST['1'];
  3. $segundo = $_POST['2'];
  4. $tercero = $_POST['3'];
  5. $cuarto = $_POST['4'];
  6. if($primero==""||$segundo==""||$tercero==""||$cuarto==""){
  7.     echo"Sin Datos";}
  8.     else{
  9.      
  10.  
  11. $conexion= mysql_connect("localhost","root","root")or die ("no se conecto");
  12. mysql_select_db("bd",$conexion)or die ("No se conecto db");
  13.  
  14. $base=array($primero,$segundo,$tercero,$cuarto);
  15. foreach($base as $b){
  16. $sql="INSERT INTO `bd`.`pro`(`num`) values('$b')"or die("no se conecto");
  17. }
  18.  
  19. $mensaje2 = "Datos Guardados!";
  20. print "<script>alert('$mensaje2')</script>";
  21. print("<script>window.location.replace('./pro.php');</script>");
  22.     ;}
  23.  
  24. ?>

Este es el formulario, todo en el mismo archivo PHP
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Pro</title>
  5. </head>
  6.  
  7. <table><form action="pro.php" method="post"> <tr>
  8. <th>equi1</th>
  9. <th><input name="1" type="text"></th>
  10. </tr>
  11. <tr>
  12. <th>equi2</th>
  13. <th><input name="2" type="text"></th>
  14. </tr>
  15. <tr>
  16. <th>equi3</th>
  17. <th><input name="3" type="text"></th>
  18. </tr>
  19. <tr>
  20. <th>equi4</th>
  21. <th><input name="4" type="text"></th>
  22. </tr>
  23. </tr>
  24. <tr>
  25. <th><input type="submit" name="sub"></th>
  26. <th><input type="reset" name="res"></th>
  27. </tr>
  28. </form>
  29.  
  30.  
  31. </body>
  32. </html>
a lo cual me guarda los datos en la BD, sin embargo en lo que tropiezo es como evitar guardar datos vacios , y a su vez saltar los mismos paraseguir ejecutando el bucle, si alguien me puede ayudar les estaria muy agradecido, si puede ser con ejemplos mucho mejor. Nos vemos.
  #2 (permalink)  
Antiguo 11/01/2011, 10:17
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Bucle valores vacios

Que tal compañero Ryel, puedes utilizar la funcion Empty(), para determinar si la variable que estas manipulando esta vacia.



Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 11/01/2011, 10:25
 
Fecha de Ingreso: octubre-2010
Ubicación: San Antonio
Mensajes: 19
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Bucle valores vacios

Cita:
Iniciado por Carlojas Ver Mensaje
Que tal compañero Ryel, puedes utilizar la funcion [URL="http://php.net/manual/es/function.empty.php"]Empty()[/URL], para determinar si la variable que estas manipulando esta vacia.



Saludos.
pero donde, en el foreach() o en el array(),en serio necesito que meguien paso a paso, con manzanitas, ya que manejo la nada misma en torno a bucles y condicionales
  #4 (permalink)  
Antiguo 11/01/2011, 10:30
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Bucle valores vacios

Revisaste los ejemplos en el link que te deje??.



Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #5 (permalink)  
Antiguo 11/01/2011, 10:40
 
Fecha de Ingreso: octubre-2010
Ubicación: San Antonio
Mensajes: 19
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Bucle valores vacios

en eso estoy
  #6 (permalink)  
Antiguo 11/01/2011, 10:55
 
Fecha de Ingreso: octubre-2010
Ubicación: San Antonio
Mensajes: 19
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Bucle valores vacios

no entender nada......menos en ingles en torno a los ejemplos..pta que me da rabia!!!!!
  #7 (permalink)  
Antiguo 11/01/2011, 11:00
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Bucle valores vacios

Código PHP:
$postCount 4;
$postEmptyCount $postCount;


for(
$i 0$i <= $postCount$i++) {
if(isset(
$_POST[$i])) {
 if(!empty(
$_POST[$i];)) {
   
$postEmptyCount--;
 }
}

}

if(
$postEmptyCount) {
  echo 
'Alguno de los campos esta vacío';

Revísatelo, lo he hecho de coco deprisa!

Última edición por miktrv; 11/01/2011 a las 11:20
  #8 (permalink)  
Antiguo 11/01/2011, 12:43
 
Fecha de Ingreso: octubre-2010
Ubicación: San Antonio
Mensajes: 19
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Bucle valores vacios

Lo solucione de la siguiente forma:
Código PHP:
Ver original
  1. <?PHP
  2. $primero = $_POST['1'];
  3. $segundo = $_POST['2'];
  4. $tercero = $_POST['3'];
  5. $cuarto = $_POST['4'];
  6. if($primero==""){
  7.     echo"Sin Datos";}
  8.     else{
  9.      
  10.  
  11. $conexion= mysql_connect("localhost","root","root")or die ("no se conecto");
  12. mysql_select_db("bd",$conexion)or die ("No se conecto db");
  13.  
  14. $base=array($primero,$segundo,$tercero,$cuarto);
  15. foreach($base as $b){
  16. if(empty($b))break;
  17. {
  18. $sql="INSERT INTO `bd`.`pro`(`num`) values('$b')"or die("no se conecto");
  19. }
  20. }
  21. $mensaje2 = "Datos Guardados!";
  22. print "<script>alert('$mensaje2')</script>";
  23. print("<script>window.location.replace('./pro.php');</script>");
  24.     ;}
  25.  
  26. ?>

y funciona excelente, loq ue sucedia es en la condicional inicial, pedia que estuviesen todos los datos con info, y luego en el foreach les decia que contaran los valores llenos..vivito...
y para que no se grabaran los valores en blanco, defini un if que indicara si el valor venia en blanco se cortara el bucle..gracias a todos por la info y las ideas
  #9 (permalink)  
Antiguo 11/01/2011, 13:26
 
Fecha de Ingreso: octubre-2010
Ubicación: San Antonio
Mensajes: 19
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Bucle valores vacios

Cita:
Iniciado por Ryel Ver Mensaje
Lo solucione de la siguiente forma:
Código PHP:
Ver original
  1. <?PHP
  2. $primero = $_POST['1'];
  3. $segundo = $_POST['2'];
  4. $tercero = $_POST['3'];
  5. $cuarto = $_POST['4'];
  6. if($primero==""){
  7.     echo"Sin Datos";}
  8.     else{
  9.      
  10.  
  11. $conexion= mysql_connect("localhost","root","root")or die ("no se conecto");
  12. mysql_select_db("bd",$conexion)or die ("No se conecto db");
  13.  
  14. $base=array($primero,$segundo,$tercero,$cuarto);
  15. foreach($base as $b){
  16. if(empty($b))break;
  17. {
  18. $sql="INSERT INTO `bd`.`pro`(`num`) values('$b')"or die("no se conecto");
  19. }
  20. }
  21. $mensaje2 = "Datos Guardados!";
  22. print "<script>alert('$mensaje2')</script>";
  23. print("<script>window.location.replace('./pro.php');</script>");
  24.     ;}
  25.  
  26. ?>

y funciona excelente, loq ue sucedia es en la condicional inicial, pedia que estuviesen todos los datos con info, y luego en el foreach les decia que contaran los valores llenos..vivito...
y para que no se grabaran los valores en blanco, defini un if que indicara si el valor venia en blanco se cortara el bucle..gracias a todos por la info y las ideas
probando nuevamente, encontre un detalle, con el break se termina el bucle,asi que coloque un continue; y funciona multo bene

Etiquetas: bucle, vacios
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 15:42.