Foros del Web » Programando para Internet » PHP »

foreach

Estas en el tema de foreach en el foro de PHP en Foros del Web. No consigo saber como usar foreach en este caso. Este es el form Código PHP: <form id="infantil" name="infantil" method="POST" action=" <?php  echo  $editFormAction ;  ?> ">        <?php  do {  ...
  #1 (permalink)  
Antiguo 04/11/2010, 15:35
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
foreach

No consigo saber como usar foreach en este caso.
Este es el form
Código PHP:
<form id="infantil" name="infantil" method="POST" action="<?php echo $editFormAction?>">
      <?php do { ?>  <table width="100%" border="0" cellspacing="5" class="form_liga">
       <tr>
        <td width="37%"><?php echo $row_equipos['linfantil']; ?></td>
        <td width="15%"><label> Favor:
         <input name="favor" type="text" id="favor" value="0" size="2" />
        </label></td>
        <td width="15%">Contra:
         <input name="contra" type="text" id="contra" value="0" size="2" /></td>
        <td width="25%">Puntos
         <input name="puntos" type="text" id="puntos" value="0" size="2" />
         <input name="equipo[]" type="hidden" id="equipo[]" value="<?php echo $row_equipos['linfantil']; ?>" />
         <input name="categoria" type="hidden" id="categoria" value="<?php echo $row_equipos['categoria']; ?>" /></td>
        <td width="8%">&nbsp;</td>
       </tr>
      </table> <?php } while ($row_equipos mysql_fetch_assoc($equipos)); ?>
      <input type="hidden" name="MM_insert" value="infantil" />
    
     <input type="submit" name="button" id="button" value="Enviar" />
     </form>
Y aqui la insercion
Código PHP:
foreach($_POST['equipo'] as $key => $valor) {
  
$insertSQL sprintf("INSERT INTO clasificacion (categoria_clasi, favor_clasi, contra_clasi, puntos_clasi, equipo_clasi) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['categoria'], "text"),
                       
GetSQLValueString($_POST['favor'], "int"),
                       
GetSQLValueString($_POST['contra'], "int"),
                       
GetSQLValueString($_POST['puntos'], "int"),
                       
GetSQLValueString($valor"text")) 
Solo me inserta el "equipo" y la "categoria" pero no los 3 campos restantes.
  #2 (permalink)  
Antiguo 04/11/2010, 17:16
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: foreach

has un echo de la variable donde estas guardando los datos a ver si estan correctamente llenos todos, verifica tambien el tipo de dato que colocas saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 05/11/2010, 14:03
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: foreach

Si, se llenan con un 0 que es el valor predeterminado. El caso es que si cambio ese valor en el texbox, no me lo cambia.
La verdad es que tampoco se utilizar bien el foreach
lo que quiero es introducir 3 campos, pero por alguna razon, solo me mete el que esta definido por el foreach, los otros 2 no se como definirlos.

ALguien me podria poner un ejemplo?
Un sal
  #4 (permalink)  
Antiguo 05/11/2010, 14:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: foreach

Cita:
Iniciado por visona Ver Mensaje
ALguien me podria poner un ejemplo?l
en el manual:
http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 05/11/2010, 14:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: foreach

Gracias pateketrueke pero sigo sin enterarme.
Supongo que es facil, pero al no saber como utilizar el foreach, me es casi imposible descubrir como hacerlo.

Lo unico que quiero es insertar 3 campos

nombre, goles, jornada
De la forma que lo tengo solo me inserta el nombre y la jornada, pero los goles no los introduce.

Pongo el codigo
Código PHP:
       foreach($_POST['nombre'] as $key => $valor2) { 
 

        
  
$insertSQL sprintf("INSERT INTO goleadores (jugador, goles, jornada) VALUES (%s, %s, %s)",
                       
GetSQLValueString($valor2"text"),
                       
GetSQLValueString($_POST['goles'], "int"),
                       
GetSQLValueString($_POST['jornada'], "int")); 
  #6 (permalink)  
Antiguo 05/11/2010, 14:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: foreach

hmm...
Código PHP:
Ver original
  1. foreach($_POST['nombre'] as $key => $valor2)
  2. {
  3.   echo $_POST['nombre'][$key].'='.$valor2.'<br/>';
  4.   echo $_POST['goles'][$key].'<br/>';
  5.   echo $_POST['jornada'][$key].'<br/>';
  6. }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 05/11/2010, 14:41
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: foreach

Ahora me mete bien los goles, pero solo me mete una evz la jornada.

Código PHP:
foreach($_POST['nombre'] as $key => $valor2) { 
        
  
$insertSQL sprintf("INSERT INTO goleadores (jugador, goles, jornada) VALUES (%s, %s, %s)",
                       
GetSQLValueString($_POST['nombre'][$key], "text"),
                       
GetSQLValueString($_POST['goles'][$key], "int"),
                       
GetSQLValueString($_POST['jornada'][$key], "int")); 

Etiquetas: foreach
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:05.