Foros del Web » Programando para Internet » PHP »

PHP OO Php y base de datos, un simple bucle

Estas en el tema de Php y base de datos, un simple bucle en el foro de PHP en Foros del Web. Hola nunca nunca se me habia ocurrido hacer este metodo para evitar escribir tantas lineas en sql.. resulta que un companero del trabajo debia insertar ...
  #1 (permalink)  
Antiguo 06/12/2015, 09:24
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
Php y base de datos, un simple bucle

Hola nunca nunca se me habia ocurrido hacer este metodo para evitar escribir tantas lineas en sql.. resulta que un companero del trabajo debia insertar muchos registros y pues mi metodo seria hacer un "insert into tabla values(1,2,3,),(4,5,6)" y asi... pero el me dijo que era vago para hacer eso y abrio php hizo un arreglo con lo que debia insertar, creo el query para insertar y despues hizo un foreach con los valores y un for, despues en linux no se como fue que lo corrio pero al final el resultado lo transformo en codigo .sql y lo pego en la db y pfff ahi estaba todo.. no se si me entendieron hizo algo como esto

Código PHP:
Ver original
  1. <?php
  2.     $a = array(
  3.         "uno" => 1,
  4.         "dos" => 2,
  5.         "tres" => 3,
  6.         "diecisiete" => 17
  7.     );
  8.     $sql = "insert into tabla values($a, now(),now())";
  9.  
  10.     foreach ($a as $k => $v) {
  11.         for ($i=0; $i < $a; $i++) {
  12.             //aqui presento el query listo
  13.         }
  14.     }
  15. ?>

En fin la parte del bucle for me he perdido un poco, pero si alguien entiende me gustaria que me explicara la parte del for.. por cierto el paso el resultado de php a sql usando linux.. esa parte no es necesaria que explicarla si no usan linux aun asi se les agradece y si conocen metodos como este de arriba o alguna pagina se los agradecere
  #2 (permalink)  
Antiguo 06/12/2015, 12:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Php y base de datos, un simple bucle

La variable $a no se puede usar en un for, porque es de tipo array, lo que si podrias hacer es recorer los valores con el foreach por ejemplo.

<?php
$a = array(
"uno" => 1,
"dos" => 2,
"tres" => 3,
"diecisiete" => 17
);


foreach ($a as $k => $v) {
// el valor de cada key del array se le agregar a $v
$sql = "insert into tabla values($v, now(),now())";

}
?>
Esto te dara como resultado.
$sql = "insert into tabla values(1, now(),now())";
$sql = "insert into tabla values(2, now(),now())";
$sql = "insert into tabla values(3, now(),now())";
$sql = "insert into tabla values(17, now(),now())";
__________________
Analisis del seo On page de tu sitio web:
Seo Rank Tool
  #3 (permalink)  
Antiguo 06/12/2015, 13:37
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: Php y base de datos, un simple bucle

Siii exacto, pero veo que con tan solo foreach lo hiciste el uso un foreach y despues un for pero bueno veo que es el mismo resultado.. Estuve leyendo hace unos min una forma de el insert lanzarlo de esta manera y asi solo se haria un solo insert :.

INSERT INTO tabla VALUES
(1, now(),now()),
(2, now(),now()),
(3, now(),now()),
(17, now(),now())

usando esta linea

$data = array();
foreach ($a as $k => $v) {
$data[] = '("' . $k['$v' ] . '", "' . $k['$v'] . '")';
}
$query = 'INSERT INTO tabla VALUES' . implode(',', $data);

pero no lo consigo... te pediria una ayuda mas una ultima vez y te lo agradecere

Etiquetas: bucle, registro, simple, sql, tabla
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 08:24.