PHP Ejemplos

Insertar multiples registros ciclo while php

Insertar multiples registros ciclo while php. En este artículo veremos la inserción de datos desde otra tabla A de una base de datos a otra tabla B. Para realizar nuestro cometido en este ejemplo utilizaremos el ciclo WHILE de PHP.

Este ejemplo nace de una problemática que tuve en un desarrollo de una plataforma web para una empresa local. Básicamente se trataba de un chat que la empresa necesitaba para comunicarse entre el personal.

La idea era la siguiente si alguien escribía en el chat, todos los demás miembros del sistema podían ver en mensaje enviado. Ahora a cada personal tenía que llegarle una alerta y esa alerta no se quitaba hasta que el personal tenía que hacer clic en el mensaje.

Insertar multiples registros ciclo while php

Para lograr esto tenía que hacer una consulta de todos los usuarios del sistema e insertarlos en otra tabla llamada alertas, y si uno de ellos le daba clic a un botón, el registro de dicho usuario se marcaba en valor 1 (leído) y ya desaparecía la alerta.

Lo demás se hizo con Jquery y JavaScript.

Ahora les mostrare en este pequeño ejemplo como pude solucionar este inconveniente.

Paso #01 La conexión con la base de datos.

// creacion de conexión
$host = 'localhost'; 
$basedatos = 'basededatos'; 
$usuario= 'root'; 
$contrasena= 'root';
$conn = new mysqli($host, $usuario, $contrasena, $basedatos);
// Check connection
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}

Paso #02 Realizar la consulta en la tabla usuarios.

Realizamos una consulta de una tabla externa para obtener datos para insertarlos dinámicamente con otros datos, ya sean del método POST y/o GET mediante el ciclo while y php.

Aquí tenemos un ejemplo de consulta si es que queremos excluir a alguien en los resultados para después insertarlos en otra tabla.

$sql = "select * from login where nombre !='carlos'";
$result = $conn->query($sql);

Paso #03 Usando el ciclo WHILE.

Código del ciclo while para insertar registros.

$index = 1;
while($row = mysqli_fetch_array($result)){
$valor = $row["nombre"];
$valor2 = $row["apellido"];

$insertsql= "insert into lista (`dato1`,`dato2`)values ('$valor', now())";
// mysql_query($insertsql);
 $conn->query($insertsql);
 $index++;
 }

Paso #04 Verificar el ingreso de datos y cierre de conexión.

Mensaje de respuesta de MySQL si los datos han sido insertados correctamente y posteriormente cerrar la conexión con el servidor.

if ($insertsql == TRUE) {
    echo "Nuevos registros ingresados correctamente";
} else {
    echo "Error: " . $insertsql . "<br>" . $conn->error;
}

$conn->close();
Código completo del articulo.
<?php
// creacion de conexión
$host = 'localhost'; 
$basedatos = 'basedatos'; 
$usuario= 'root'; 
$contrasena= 'root';
$conn = new mysqli($host, $usuario, $contrasena, $basedatos);
// Check connection
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}

$sql = "select * from login where nombre !='carlos'";
$result = $conn->query($sql);

$index = 1;
while($row = mysqli_fetch_array($result)){
$valor = $row["nombre"];
$valor2 = $row["apellido"];

$insertsql= "insert into lista (`dato1`,`dato2`)values ('$valor', now())";
// mysql_query($insertsql);
 $conn->query($insertsql);
 $index++;
 }
 
if ($insertsql == TRUE) {
    echo "Nuevos registros ingresados correctamente";
} else {
    echo "Error: " . $insertsql . "<br>" . $conn->error;
}

$conn->close();

?>

  </body>
  
</html>

Espero que esta breve explicacion les sirva bastante, gracias por su visita.

Insertar multiples registros
Insertar multiples registros

Referencia

Insert Into PHP

Descarga 156 Sistemas PHP & MySQL

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba