Foros del Web » Programando para Internet » PHP »

Duda con codigo php y ciclo for para insert into

Estas en el tema de Duda con codigo php y ciclo for para insert into en el foro de PHP en Foros del Web. Hola a todos soy nuevo mi nombre es francisco tengo una duda en php. Me gustaria saber si se puede usar 2 ciclos for de ...
  #1 (permalink)  
Antiguo 05/09/2012, 22:55
Avatar de fco85  
Fecha de Ingreso: septiembre-2012
Ubicación: Orizaba, ver.
Mensajes: 10
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Duda con codigo php y ciclo for para insert into

Hola a todos soy nuevo mi nombre es francisco tengo una duda en php. Me gustaria saber si se puede usar 2 ciclos for de manera simultanea o somo le puedo hacer para hacer un insert en una base de datos.

tengo 2 arreglos $valor1 y $valor2 con datos y cada arreglo trae datos diferentes uno me contiene el valor de unas respuestas y el otro el numero de id de la pregunta, entonces cuando trato de hacer un insert into lo que hago es que recorro los arrays con un ciclo for para me saque valor por valor y lo inserte pero no he podido hacerlo anexo el codigo para ver si me pueden ayudar. Gracias de antemano

$valor=array();
$valor2=array();
$i=0;
while ($row = mysql_fetch_row($result))
{
$valor[$i]=$_POST['voto'.$row[0]];
$i++;
$valor2[$i]=$row[0];

}

for($j=0;$j<count($valor);$j++)
{
echo $valor[$j];
}

for($j=1;$j<=count($valor2);$j++)
{

echo "<br>".$valor2[$j];

}
$SQLquery = "UPDATE preguntas_opcion SET resval$valor[$i] = resval$valor[$i]+1, total = total+1 where id = $valor2[$j]";
$SQLresult = mysql_query($SQLquery,$link);
  #2 (permalink)  
Antiguo 05/09/2012, 23:24
Avatar de palmitha  
Fecha de Ingreso: mayo-2012
Mensajes: 21
Antigüedad: 12 años, 5 meses
Puntos: 1
2 for

y por que no metes la variables dentro del while y puedes ir imprimiendo los datos y/o haciendo el insert sin necesidad de hacer tanto código
  #3 (permalink)  
Antiguo 06/09/2012, 00:02
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: Duda con codigo php y ciclo for para insert into

¿Y por que no mandas el id de la pregunta con todo y la respuesta?
  #4 (permalink)  
Antiguo 06/09/2012, 02:41
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 18 años, 6 meses
Puntos: 58
Respuesta: Duda con codigo php y ciclo for para insert into

Supongamos:

Código PHP:
$valor=array('1''2''3');//id de preguntas
$valor2=array('Barcelona''Paris''Londres');//respuestas
for($i=0;$i<count($valor);$i++){
$SQLquery "UPDATE preguntas_opcion SET campo = '$valor[$i]' where id = '$valor2[$i]'";
$SQLresult mysql_query($SQLquery,$link); 


Lo que no he entendido es que hace esto.
Código PHP:
SET resval$valor[$i] = resval$valor[$i]+
Tienes en la base de datos campos que se llaman resval1, resval2, resval3...?

En ese caso el query sería

Código PHP:
$valor=array('1''2''3');//id de preguntas
$valor2=array('Barcelona''Paris''Londres');//respuestas
$campo='';
for(
$i=0;$i<count($valor);$i++){
$campo="resval".$valor[$i];
$SQLquery "UPDATE preguntas_opcion SET $campo= '".$campo."+1', total = 'total+1' where id = '$valor2[$i]'";
$SQLresult mysql_query($SQLquery,$link); 


  #5 (permalink)  
Antiguo 09/09/2012, 08:00
Avatar de fco85  
Fecha de Ingreso: septiembre-2012
Ubicación: Orizaba, ver.
Mensajes: 10
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Duda con codigo php y ciclo for para insert into

Gracias Josss por la ayuda, ya lo solucione y pude hacer el insert, y quedo de la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $link=Conectarse();
  4. $result = mysql_query("select * from preguntas_opcion;", $link);
  5. $valor=array();
  6. $valor2=array();
  7. $i=0;
  8.  
  9. while ($row = mysql_fetch_row($result))
  10. {
  11.     $valor[$i]=$_POST['voto'.$row[0]];
  12.     $valor2[$i]=$row[0];
  13.     $i++;
  14. }
  15.  
  16. $campo='';
  17. for($i=0;$i<count($valor);$i++){
  18. $campo="resval".$valor[$i];
  19. $SQLquery = "UPDATE preguntas_opcion SET $campo= ".$campo."+1, total = total+1 where id = '$valor2[$i]'";
  20. $SQLresult = mysql_query($SQLquery,$link);
  21.  
  22. }
  23.  
  24. ?>

Gracias por su ayuda.

Última edición por fco85; 09/09/2012 a las 08:45

Etiquetas: insert, mysql, sql, ciclos
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:33.