Foros del Web » Programando para Internet » PHP »

post automatico

Estas en el tema de post automatico en el foro de PHP en Foros del Web. Hola, tengo uan duda, hago un post automatico con variables contadas, $b1, $b2, $b3, etc.. Lo que quiero hacer ahora, es cogerlo con un for ...
  #1 (permalink)  
Antiguo 10/05/2009, 07:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
post automatico

Hola, tengo uan duda, hago un post automatico con variables contadas, $b1, $b2, $b3, etc.. Lo que quiero hacer ahora, es cogerlo con un for contador o halgo, no se... Porque lo que quiero hacer es enviarlo a mysql update, llevo todo el dia pensando y como hacerlo, tenia pensado hacerlo con un array pero tampoco se hacerlo.

Ayudarme please...


$codigo=$_SESSION[codigo_empresa];
$contador=mysql_query("select count(*) from buzon where codigo_empresa like '$codigo'", $link);
$res=mysql_query("select * from grupo WHERE codigo_empresa like'$codigo'", $link);
$a="a";
echo "<br><br>";
$contador = 1;
while($grup=mysql_fetch_array($res)) {
$b_aux = "b".$contador;
$$b_aux =$_POST[$grup['codigo_grupo']];
$contador++;}
echo "<br><br>";
echo $b2,"<br>";

for($i=1; $i<=4; $i++){
echo $i,"<br>"; ---> Tenia pensado ponerle, $b.$i, para que me coga la variable $b1, $b2, pero no me funcionaria....
} echo"<br><br>";

Luego e pensado en meterlo en un array, pero tengo que coger las variables, y dependiendo de la lista, habra mas o menos... x lo tanto no se peude meter manual....

$dato = array($b1,$b2 ( Tiene que ir autoomaticamente, si hay 4 que meta 4, si hay 6 que meta 6));

echo implode("<br>",$dato);
  #2 (permalink)  
Antiguo 10/05/2009, 08:28
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: post automatico

si pusieras el form de donde mandas los valores para ver como poder contarlos
  #3 (permalink)  
Antiguo 10/05/2009, 08:36
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: post automatico

aki esta.
$res=mysql_query("select * from grupo WHERE codigo_empresa like'$codigo'", $link);
while($grup=mysql_fetch_array($res)) { ?>
<tr><td><input type="text" name="<? echo grup['codigo_grupo']; ?>" size="33" maxlength="20" value="<? echo $grup['grupo']; ?>"></td></tr><?
}

Última edición por davicito; 10/05/2009 a las 08:41
  #4 (permalink)  
Antiguo 10/05/2009, 08:59
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: post automatico

umm para los nombres de los input donde estan los valores mejor utiliza un array asi:

Código PHP:
<input type="text" name="valores[]" size="33" maxlength="20" value="<? echo $grup['grupo']; ?>">
y ya cuando recibes lo puedes recorrer el array con un foreach:

Código PHP:
$valores=$_POST["valores"];
foreach(
$valores as $key => $valor)
{
echo 
$valor;//o lo que quieras hacer con los valores

  #5 (permalink)  
Antiguo 10/05/2009, 09:02
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: post automatico

si, exo tmb lo e intentado, pero cuando hago un update.

foreach($_POST["grupos"] as $grupos)
{
mysql_query("update grupo set grupo = '$grupos' WHERE codigo_grupo like $codigo", $link);
}


Lo que pasa es que solo coge el ultimo valor, y me modifica todos....

esa es mi duda
  #6 (permalink)  
Antiguo 10/05/2009, 09:27
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: post automatico

y de donde sacas la variable $codigo???

entonces en el while de donde creaste el form crea un hidden para guardar los codigo y el input para los valores, hazlo asi:
Código PHP:
$res=mysql_query("select * from grupo WHERE codigo_empresa like'$codigo'", $link);

$cont=1;//crea un contador
while($grup=mysql_fetch_array($res)) { ?>
<tr><td><input type="text" name="valor<?php echo $cont?>" size="33" maxlength="20" value="<? echo $grup['grupo']; ?>">
<input type="hidden" name="codigo<?php echo $cont?>" value="<? echo grup['codigo_grupo']; ?>" /></td></tr>
<?
$cont
++;
}
?>
<input type="hidden" name="cantidad" value="<? echo $cont; ?>" />//ahora mete el valor final de ese contador en un hidden para tener la cantidad final

y ya cuando recibes haz un for para el update
Código PHP:
for($i=1;$i<$_POST["cantidad"]+1;$i++)
{
mysql_query("update grupo set grupo = '".$_POST["valor".$i]."' WHERE codigo_grupo='".$_POST["codigo".$i]."'"$link);

  #7 (permalink)  
Antiguo 10/05/2009, 09:47
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: post automatico

perfect :)
  #8 (permalink)  
Antiguo 10/05/2009, 09:52
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: post automatico

ya quedo??? seria bueno que postearas como quedo solucionado el codigo para quien lo necesite despues
  #9 (permalink)  
Antiguo 10/05/2009, 10:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: post automatico

nooooooooooo :(

no funciona, jo... jajaja.


Trankilo, hoy lo acabare xD
  #10 (permalink)  
Antiguo 10/05/2009, 10:15
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: post automatico

umm pues a ver postea el codigo del form y el de donde recibes los datos y haces el update para checarlo, por que no funciona
  #11 (permalink)  
Antiguo 10/05/2009, 10:18
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: post automatico

modificargrupo.php

<?
$codigo=$_SESSION[codigo_empresa];
$res=mysql_query("select * from grupo WHERE codigo_empresa like'$codigo'", $link);
$cont=1;//crea un contador
while($grup=mysql_fetch_array($res)) { ?>
<tr><td><input type="text" name="valor<? echo $cont; ?>" size="33" maxlength="20" value="<? echo $grup['grupo']; ?>">
<input type="hidden" name="codigo<? echo $cont; ?>" value="<? echo $grup['codigo_grupo']; ?>" /></td></tr>
<?
$cont++;
}?>


modificargrupo1.php
<?
$codigo = $_SESSION[codigo_empresa];
for($i=1;$i<$_POST["cantidad"]+1;$i++)
{
mysql_query("update grupo set grupo = '".$_POST["valor".$i]."' WHERE codigo_empresa='".$_POST["codigo".$i]."'", $link);
}
?>
  #12 (permalink)  
Antiguo 10/05/2009, 10:32
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: post automatico

por que no pusiste el hidden cantidad??? y quita el hidden de los codigo de grupo djalo asi:
<?
$codigo=$_SESSION[codigo_empresa];
$res=mysql_query("select * from grupo WHERE codigo_empresa like'$codigo'", $link);
$cont=1;//crea un contador
while($grup=mysql_fetch_array($res)) { ?>
<tr><td><input type="text" name="valor<? echo $cont; ?>" size="33" maxlength="20" value="<? echo $grup['grupo']; ?>">
</td></tr>
<?
$cont++;
}?>
<input type="hidden" name="cantidad" value="<?php echo $cont; ?>" />//ahora mete el valor final de ese contador en un hidden para tener la cantidad final


modificargrupo1.php
<?
$codigo = $_SESSION[codigo_empresa];
for($i=1;$i<$_POST["cantidad"]+1;$i++)
{
mysql_query("update grupo set grupo = '".$_POST["valor".$i]."' WHERE codigo_empresa='$codigo'", $link);
}
?>
  #13 (permalink)  
Antiguo 10/05/2009, 10:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: post automatico

le peusto un echo del post, y slae bien, lo que pasa es que me mete lso datos en blanco...

for($i=1;$i<$_POST["cantidad"]+1;$i++)
{
mysql_query("update grupo set grupo = '".$_POST["valor".$i]."' WHERE codigo_empresa='$codigo'", $link);
}
  #14 (permalink)  
Antiguo 10/05/2009, 10:54
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: post automatico

isiste el mismo ciclo solo par imprimir el valor de las variable??? te los muestra bien ?? has la prueba asi y si los muestra pero no los inserta es por la consulta o la bd
  #15 (permalink)  
Antiguo 10/05/2009, 10:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: post automatico

si,mira, e probado 2 cosas

for($i=1;$i<$_POST["cantidad"]+1;$i++)
{
echo $_POST["valor".$i]; --> ( Te muestar la lista modificada)
}

for($i=1;$i<$_POST["cantidad"]+1;$i++)
{
mysql_query("update grupo set grupo = ".$_POST["valor".$i]." WHERE codigo_empresa= '$codigo'", $link);
}

( Y así lo que hace es coger el ultimo valor... Con tus '".$_POST["valor".$i]."' da problemas....)
  #16 (permalink)  
Antiguo 10/05/2009, 11:05
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 14 años, 11 meses
Puntos: 19
Respuesta: post automatico

ok por que es el mismo codigo de empresa en el where, por eso va cambiando el valor en todo los registros con el codigo de empresa, por eso en un ejemplo puse los hidden de los cod de grupo para que con eso identificaras cual valor va en determinado registro y where quedaria cod_grupo= al hidden que se recibe dinamicamente AND el codigo de empresa asi:
Código PHP:
$res=mysql_query("select * from grupo WHERE codigo_empresa like'$codigo'", $link);
$cont=1;//crea un contador
while($grup=mysql_fetch_array($res)) { ?>
<tr><td><input type="text" name="valor<?php echo $cont?>" size="33" maxlength="20" value="<? echo $grup['grupo']; ?>">
<input type="hidden" name="codigo<?php echo $cont?>" value="<? echo grup['codigo_grupo']; ?>" /></td></tr>
<?
$cont
++;
}
?>
<input type="hidden" name="cantidad" value="<? echo $cont?>" />//ahora mete el valor final de ese contador en un hidden para tener la cantidad final
y ya cuando recibes haz un for para el update

Código PHP:
$codigo=$_SESSION[codigo_empresa];
for(
$i=1;$i<$_POST["cantidad"]+1;$i++)
{
mysql_query("update grupo set grupo = '".$_POST["valor".$i]."' WHERE codigo_grupo='".$_POST["codigo".$i]."' AND codigo_empresa=$codigo"$link);

  #17 (permalink)  
Antiguo 10/05/2009, 11:11
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: post automatico

:D te adoro, jajajajaja

SIN SER GAY EEEEEEEE jajajajajajajajajajaja
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.