Re: [php] PHP y Mysql

From: mrodri ( mrodri .en. jaguarstudio.com.mx)
Date: Fri Jul 25 2003 - 18:48:55 CEST


Hola se me ocurre seleccionar la tabla B y por
cada uno de los registros hacer un update a la
tabla A, no es necesario comparar si son o no
iguales las cantidades ya que el resultado seria
el mismo, quedaria algo asi como:

$conn = mysql_connect("localhost","root","adminis");
mysql_select_db("xyz",$conn);

// seleccionas la tabla de cantidades nuevas
$results = mysql_query ("SELECT * FROM B", $conn);

if ($myrow = mysql_fetch_array($result)) {
  do {

    // guardas varibales de B
    $b_code=$myrow["codigo"];
    $b_cant=$myrow["cantidad"];

    // vacias las cantidades de B en A
    printf("UPDATE A SET cantidad=$b_cant WHERE codigo=$b_code<br>\n");
    mysql_query("UPDATE A SET cantidad=$b_cant WHERE codigo=$b_code", $conn);

  } while ($myrow = mysql_fetch_array($result));
}

Espero te sirva...

On Wed, 23 Jul 2003 22:48:22 +0000, gerco wrote
> Hola a todos.... un saludo para todos ......
>
> Necesito que por favor me orienten sobre como resolver
> el siguiente "problema" utilizando php
>
> * Tengo 1 base de datos, xyz con 2 tablas A y B (en mysql), con los
> * siguientes contenidos:
>
> En A:
> orden codigo cantidad
> 1 001 1
> 2 004 1
> 2 006 1
> 3 014 1
>
> En B:
> orden codigo cantidad
> 1 001 23
> 2 006 3
>
> Ahora necesito ACTUALIZAR la tabla A, con las cantidades de B,
> siempre y cuando se relacionen el No. de orden y el codigo en ambas
> tablas.. y asi la Tabla A me quede asi:
>
> A
> orden codigo cantidad
> 1 001 23
> 2 004 1
> 2 006 3
> 3 014 1
>
> He intentado con los siguiente ... :
>
> $conn = mysql_connect("localhost","root","adminis");
> mysql_select_db("xyz",$conn);
>
> $cursor1 = mysql_query ("SELECT * FROM A", $conn);
> $cursor2 = mysql_query ("SELECT * FROM B", $conn);
>
> while ($fila1 = mysql_fetch_row($cursor1))
> {
> while ($fila2 = mysql_fetch_row($cursor2))
> {
> if ($fila1[0]==$fila2[0] && fila1[1]==fila2[1]) {
> $query = "update A set cantidad=$fila2[2]";
> ......
> }
> }
> }
>
> PERO, no he tenido suerte porque .... los ciclos los ejecuta
> independientes y no hay punto de comparacion completo de un registro
> de A con TODOS los de B....
>
> Gracias por su atencion ...
>
> pd/ Este ejemplo lo planteo asi, para poder averiguar mas sobre como
> se puede hacer una actualizacion comparando campos entre dos tablas
> .... por favor no mirar la "logica" en el contenido de cada tabla.....
>
> --
> gerCO
>
> -------------------------------------------------------
>
> --
> gerCO
>
> Lista de correo php .en. opensource.org.mx
> Histórico: http://www.opensource.org.mx/listas/php
> Página: http://www.php.org.mx

Lista de correo php .en. opensource.org.mx
Histórico: http://www.opensource.org.mx/listas/php
Página: http://www.php.org.mx



This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 15:51:51 CEST