Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2010, 19:05
PHP_MySQL_Novice
 
Fecha de Ingreso: junio-2010
Mensajes: 3
Antigüedad: 14 años, 5 meses
Puntos: 0
Insertar varios registros con datos provenientes de un Select previo.

Buenas noches, amigos forosdelwebweros.

Espero me ayuden con mi primer post. Estoy algo urgido por resolver este problemita. Estoy tratando de insertar el resultado de un "Select *" dentro de la misma tabla de donde proviene dicho Select. Hasta la selección de registros todo está bien, pero cuando intento insertar los registros resultantes, sólo logra hacerlo con uno de los registros. Supongo que debo utilizar alguna estructura de ciclo para lograr el resultado deseado, o quizá el uso combinado de ciclos con arreglos, pero estoy entre dos aguas y no logro concretar la lógica del algoritmo.
Espero puedan ayudarme y definir donde tengo el error en el código, y cómo puedo crear las estructuras necesarias para lograr insertar todos los registros de una sola vez. De antemano, muchas gracias a todos lo que puedan colaborarme.
A continuación el código.

<?
include("conexion.php");

$query="SELECT * FROM banners WHERE banners_sitio = 'M1' AND status = 'E7' AND (banners_ubicacion = 'P1' OR banners_ubicacion = 'P2' OR banners_ubicacion = 'P3' OR banners_ubicacion = 'P5') AND banners_group = 'TP1'";
$result = mysql_query($query,$db) or die ("problema con cadena de conexion<br><b>" . mysql_error()."</b>");

while($row=mysql_fetch_array($result))
{
$clientes_id = $row['banners_clientes_id'];
$vendedores_cod = $row['banners_vendedores_cod'];
$categorias_cod = $row['banners_categorias_cod'];
$title = $row['banners_title'];
$url = $row['banners_url'];
$image = $row['banners_image'];
$imagenclasif = $row['banners_imagenclasif'];
$group = $row['banners_group'];
$html_text = $row['banners_html_text'];
$ubicacion = $row['banners_ubicacion'];
$posicion = $row['banners_posicion'];
$tipoimagen_cod = $row['banners_tipoimagen_cod'];
$expires_impressions = $row['expires_impressions'];
$expires_date = $row['expires_date'];
$date_scheduled = $row['date_scheduled'];
$date_added = $row['date_added'];
$date_status_change = $row['date_status_change'];
$status = $row['status'];

$query = "INSERT into banners (banners_clientes_id, banners_vendedores_cod, banners_categorias_cod, banners_title, banners_url, banners_image, banners_imagenclasif, banners_group, banners_html_text, banners_sitio, banners_ubicacion, banners_posicion, banners_tipoimagen_cod, expires_impressions, expires_date, date_scheduled, date_added, date_status_change, status) Values ('$clientes_id', '$vendedores_cod', '$categorias_cod', '$title', '$url', '$image', '$imagenclasif', '$group', '$html_text', 'M3', '$ubicacion', '$posicion', '$tipoimagen_cod', '$expires_impressions', '$expires_date', '$date_scheduled', '$date_added', '$date_status_change', '$status')";


NOTA: HASTA ACÁ SOLO INSERTA UN REGISTRO, DE TODOS LOS CONSEGUIDOS POR EL SELECT.


Y DESDE ACÁ HACIA ABAJO FUNCIONA PERFECTAMENTE, ES DECIR, ME HACE EL echo DE TODOS LOS REGISTROS QUE ENCONTRÓ EL SELECT PREVIO.

echo "<br> Id de Cliente:", $row['banners_clientes_id'];
echo "<br> Cod. del Vendedor:", $row['banners_vendedores_cod'];
echo "<br> Categoría donde se Publica:", $row['banners_categorias_cod'];
echo "<br> Titulo del Promo:", $row['banners_title'];
echo "<br> URL de la Imagen:", $row['banners_url'];
echo "<br> Ruta de la Imagen Banner:", $row['banners_image'];
echo "<br> Ruta de la Imagen Clasificados:", $row['banners_imagenclasif'];
echo "<br> Tipo de Publicidad:", $row['banners_group'];
echo "<br> Texto del Promo:", $row['banners_html_text'];
echo "<br> Sitio o Mall de la Promo:", $row['banners_sitio'].' Insertado en M3';
echo "<br> Página donde Pauta:", $row['banners_ubicacion'];
echo "<br> Ubicación de Página:", $row['banners_posicion'];
echo "<br> Tipo de Imagen:", $row['banners_tipoimagen_cod'];
echo "<br> Cantidad de Impresiones Pautadas:", $row['expires_impressions'];
echo "<br> Fecha de Expiración:", $row['expires_date'];
echo "<br> Fecha Pautada:", $row['date_scheduled'];
echo "<br> Fecha de Creación de Pauta:", $row['date_added'];
echo "<br> Fecha de Cambio de Estado:", $row['date_status_change'];
echo "<br> Estado de la Pauta:", $row['status'];
echo "<br>";
echo "<br>";

}

$result = mysql_query($query);
if (!$result)
return false;
else
return true;

?>