Foros del Web » Programando para Internet » PHP »

Problemas para capturar variables con bucle en php

Estas en el tema de Problemas para capturar variables con bucle en php en el foro de PHP en Foros del Web. Buenas Tardes foreros, gracias por leer mi post, voy directo al grano, tengo un formulario que genero mediante un bucle for y una base de ...
  #1 (permalink)  
Antiguo 20/01/2010, 15:08
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Busqueda Problemas para capturar variables con bucle en php

Buenas Tardes foreros, gracias por leer mi post, voy directo al grano, tengo un formulario que genero mediante un bucle for y una base de datos unos campos dinamicos como veran aca (solo una parte):

Código:
<p>$consulta_materialesausar = "SELECT     *
FROM         RVMmaterialesrequeridos
WHERE     (correlativo = '".$correlativo."')";
$materialesausar = $db->Execute($consulta_materialesausar);<strong>Spare Part / Material / Equipment Authorization</strong></p>
    <table border="0">
      <tr>
        <th width="38" scope="col">Qty</th>
        <th width="306" scope="col">Spare Part / Material / Equipment</th>
        <th width="149" scope="col">Delivered Note No.</th>
        <th width="77" scope="col">OSE</th>
      </tr>
      <?php 
	  $i = 0;
	  if (!$materialesausar) 
			         print $db->ErrorMsg();
				else
					while (!$materialesausar->EOF) { 
					$i=$i+1;
					?>
      <tr>
        <td><span id="sprytextfield3">
          <label>
            <?php echo "<input type='text' name='cantidad[".$i."]' id='cantidad[".$i."]' class='cantidades' value='".$materialesausar->fields[2]."' readonly='readonly' disabled='disabled'/>"; ?>
          </label>
          <span class="textfieldRequiredMsg">Se necesita un valor.</span></span></td>
        <td><span id="sprytextfield4">
          <label>
            <?php echo "<input type='text' name='material[".$i."]' id='material[".$i."]' class='materiales' value='".$materialesausar->fields[3]."'  readonly='readonly' disabled='disabled'/>"; ?>
          </label>
          <span class="textfieldRequiredMsg">Se necesita un valor.</span></span></td>
        <td><span id="sprytextfield5">
          <label>
            <?php echo "<input type='text' name='notaentrega[".$i."]' id='notaentrega[".$i."]' class='notasentrega' value='".$materialesausar->fields[4]."'  readonly='readonly' disabled='disabled'/>"; ?>
          </label>
          <span class="textfieldRequiredMsg">Se necesita un valor.</span></span></td>
        <td><span id="spryselect7">
          <label>
            <?php echo "<select name='OSE[".$i."]' id='OSE[".$i."]'>
            <option selected='selected'>...</option>
            <option value='yes'>yes</option>
            <option value='no'>no</option>
            </select>"; ?>
            
          </label>
          <span class="selectRequiredMsg">Seleccione un elemento.</span></span><?php echo $i; ?></td>
      </tr>
      <?php 
	  $materialesausar->MoveNext(); 
	  }
	?>
    </table>
    <p><input name="objetosmateriales" type="hidden" value="<?php echo $i; ?>" />
Pero a la hora de capturar los valores en la otra pagina siempre me da unos errores de indice indefinido o me muestra un 0 unicamente, a continuacion les pongo el codigo aca:

Código:
<?php 
include("funciones.php");
include('Connections/radiomarina.php'); 
$marca = $_POST['marca'];
$nuevamarca = $_POST['newbrand'];
$equipo = $_POST['equipo'];
$nuevoequipo = $_POST['newcomponent'];
$serviciodado = $_POST['descripcion'];
$serial = $_POST['serial'];
$cant = $_POST['objetosmateriales'];
echo "Marca: ".$marca;
echo "<br>Nueva marca:".$nuevamarca;
echo "<br>Equipo: ".$equipo;
echo "<br>Nuevo Equipo: ".$nuevoequipo;
echo "<br>Servicio Dado: ".$serviciodado;
echo "<br>Serial: ".$serial;
echo "<br>Contador: ".$cant;
for($i = 1; $i = $cant; $i++ ) {
	$cantidad[$i] = $_POST['cantidad['.$i.']'];
	$material[$i] = $_POST['material['.$i.']'];
	$notaentrega[$i] = $_POST['notaentrega['.$i.']'];
	$OSE[$i] = $_POST['OSE['.$i.']'];
	echo "<br> Cantidad ".$i.": ".$cantidad[$i];
	echo "<br> Material ".$i.": ".$material[$i];
	echo "<br> Nota Entrega ".$i.": ".$notaentrega[$i];
	echo "<br> Se usó? ".$i.": ".$OSE[$i];
}
?>
Comento el for, y me captura todo bien , lo pongo y me da errores, si alguno da con cual es el problema se los agradezco en el alma, saludos.
  #2 (permalink)  
Antiguo 20/01/2010, 15:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problemas para capturar variables con bucle en php

Podrías colocar también los errores que te indica el PHP. Si te sale un error pero en forma de POPUP entonces no es un error de PHP sino de javascript.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 20/01/2010, 15:16
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problemas para capturar variables con bucle en php

No, amigo con ese codigo solo me imprime un 0 en la pagina php destino, aqui el printscreen cuando le doy enviar...

  #4 (permalink)  
Antiguo 20/01/2010, 15:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problemas para capturar variables con bucle en php

Bueno, para que vayas verificando el problema, te sugiero que uses var_dump en todas las variable(s) para que veas, qué variables no te está(n) dando el resultado deseado.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 20/01/2010, 15:35
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problemas para capturar variables con bucle en php

Me sigue saliendo igual con var_dump, me arroja ese 0
  #6 (permalink)  
Antiguo 20/01/2010, 15:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problemas para capturar variables con bucle en php

No lo vas a hacer a la última variable sino a todas las variables.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 20/01/2010, 15:42
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problemas para capturar variables con bucle en php

Me sigue saliendo igual, cuando comento la parte del for, me da bien todo
  #8 (permalink)  
Antiguo 20/01/2010, 15:42
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problemas para capturar variables con bucle en php

Marca: 1
Nueva marca:
Equipo: 1
Nuevo Equipo:
Servicio Dado: sda fasdf asdf asdf
Serial: 123445
Contador: 2
  #9 (permalink)  
Antiguo 20/01/2010, 15:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problemas para capturar variables con bucle en php

Bueno viendo el for lo tienes mal. Fijate bien
Código PHP:
Ver original
  1. for($i = 1; $i = $cant; $i++ )
En el medio le estas indicado que $i tome el valor de $cant, debería ser algo como
Código PHP:
Ver original
  1. for($i = 1; $i <= $cant; $i++ )
Para indicarle que aumente siempre y cuando $i sea menor o igual a $cant
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 20/01/2010, 15:48
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problemas para capturar variables con bucle en php

Ok, bien veo un avance, pero ahora me marca estos errores:
Marca: 1
Nueva marca:
Equipo: 1
Nuevo Equipo:
Servicio Dado: s fasdf asdf asdf
Serial: 123412345
Contador: 2
Notice: Undefined index: cantidad[1] in C:\wamp\www\Radiomarina\nuevoreporteservicio.php on line 19

Notice: Undefined index: material[1] in C:\wamp\www\Radiomarina\nuevoreporteservicio.php on line 20

Notice: Undefined index: notaentrega[1] in C:\wamp\www\Radiomarina\nuevoreporteservicio.php on line 21

Notice: Undefined index: OSE[1] in C:\wamp\www\Radiomarina\nuevoreporteservicio.php on line 22

Cantidad 1:
Material 1:
Nota Entrega 1:
Se us�? 1:
Notice: Undefined index: cantidad[2] in C:\wamp\www\Radiomarina\nuevoreporteservicio.php on line 19

Notice: Undefined index: material[2] in C:\wamp\www\Radiomarina\nuevoreporteservicio.php on line 20

Notice: Undefined index: notaentrega[2] in C:\wamp\www\Radiomarina\nuevoreporteservicio.php on line 21

Notice: Undefined index: OSE[2] in C:\wamp\www\Radiomarina\nuevoreporteservicio.php on line 22

Cantidad 2:
Material 2:
Nota Entrega 2:
Se us�? 2:
  #11 (permalink)  
Antiguo 20/01/2010, 15:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problemas para capturar variables con bucle en php

No necesariamente es un error, sino una notificación. Te sugiero leer este post para que entiendas que es lo que está pasando http://www.forosdelweb.com/f18/aport...rrores-735515/
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 20/01/2010, 15:53
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problemas para capturar variables con bucle en php

Entiendo pero pareciese que no me capturase los valores del formulario que puse de primero arriba, en el primer post, porque esos tienen valores, y lo que me muestras es para quitarle los mensajes de error, pero igual quiero que me los muestre.
  #13 (permalink)  
Antiguo 20/01/2010, 15:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problemas para capturar variables con bucle en php

Ok, los "errores" de notas son causados porque anteriormente no declaraste una variable y la estas llamando sin haberla declarado anteriormente. Esto puede ser intencional ya que PHP no requiere de que declares una variable antes de trabajar con ella. Por eso lo de omitir lo de E_NOTICE. Ahora, ya que tienes una idea de por qué te sale ese error, solo tienes que verificar que hayas declarado en el código anterior esas variables que te salen con error, verifica el nombre de la variable que te sale el error y verifica el código anterior. El error te dice que no existe un indice con el numero declarado en ese array. Verifica el array.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #14 (permalink)  
Antiguo 20/01/2010, 16:19
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problemas para capturar variables con bucle en php

Todo me indica que el problema esta es en el formulario, mas no en la captura de las variables, con respecto al contador creo. es decir en alguna parte de este codigo:

Código:
<table border="0">
      <tr>
        <th width="38" scope="col">Qty</th>
        <th width="306" scope="col">Spare Part / Material / Equipment</th>
        <th width="149" scope="col">Delivered Note No.</th>
        <th width="77" scope="col">OSE</th>
      </tr>
      <?php 
	  $i = 0;
	  if (!$materialesausar) 
			         print $db->ErrorMsg();
				else
					while (!$materialesausar->EOF) { 
					$i=$i+1;
					?>
      <tr>
        <td><span id="sprytextfield3">
          <label>
            <?php echo "<input type='text' name='cantidad[".$i."]' id='cantidad[".$i."]' class='cantidades' value='".$materialesausar->fields[2]."' readonly='readonly' disabled='disabled'/>"; ?>
          </label>
          <span class="textfieldRequiredMsg">Se necesita un valor.</span></span></td>
        <td><span id="sprytextfield4">
          <label>
            <?php echo "<input type='text' name='material[".$i."]' id='material[".$i."]' class='materiales' value='".$materialesausar->fields[3]."'  readonly='readonly' disabled='disabled'/>"; ?>
          </label>
          <span class="textfieldRequiredMsg">Se necesita un valor.</span></span></td>
        <td><span id="sprytextfield5">
          <label>
            <?php echo "<input type='text' name='notaentrega[".$i."]' id='notaentrega[".$i."]' class='notasentrega' value='".$materialesausar->fields[4]."'  readonly='readonly' disabled='disabled'/>"; ?>
          </label>
          <span class="textfieldRequiredMsg">Se necesita un valor.</span></span></td>
        <td><span id="spryselect7">
          <label>
            <?php echo "<select name='OSE[".$i."]' id='OSE[".$i."]'>
            <option selected='selected'>...</option>
            <option value='yes'>yes</option>
            <option value='no'>no</option>
            </select>"; ?>
            
          </label>
          <span class="selectRequiredMsg">Seleccione un elemento.</span></span><?php echo $i; ?></td>
      </tr>
      <?php 
	  $materialesausar->MoveNext(); 
	  }
	?>
    </table>

Etiquetas: bucle, variables
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 09:48.