Foros del Web » Programando para Internet » PHP »

PHP OO consulta dos tablas y hacer operaciones segun su resultado

Estas en el tema de consulta dos tablas y hacer operaciones segun su resultado en el foro de PHP en Foros del Web. Hola buenas tardes. tengo un problema espero me puedan ayudar. tengo dos tablas en una base de datos y necesito mostrar los datos de ambas ...
  #1 (permalink)  
Antiguo 09/04/2014, 11:03
 
Fecha de Ingreso: marzo-2014
Ubicación: mexico
Mensajes: 3
Antigüedad: 10 años, 1 mes
Puntos: 0
Información consulta dos tablas y hacer operaciones segun su resultado

Hola buenas tardes. tengo un problema espero me puedan ayudar. tengo dos tablas en una base de datos y necesito mostrar los datos de ambas una es de factura original y la otra es de facturas de remplazo. ya pude hacer que se vean los datos que necesito de cada tabla pero. ahora necesito realizar una operacion de cantidades si el numero de parte es igual y si no es el mismo numero de parte saltarme esa operacion. esto es lo que llevo del codigo pero no me respeta para empezar mi if donde le digo que haga la operacion


Código PHP:
$conn=mysql_query("select * FROM TABLA1WHERE (Rem='$_FactOri') ORDER BY Parte ASC",$dbh)
        or die(
"Problemas en el select:".mysql_error());

        
$conn2=mysql_query("select * FROM TABLA2 WHERE (Rem='$_FactSus') ORDER BY Num_Parte ASC",$dbh)
        or die(
"Problemas en el select:".mysql_error());
        echo 
"<table border=0 width='700px'>";
        echo 
"<tr>";
        echo 
"<td colspan='2' style='color:#A9A9A9;'>Factura: <strong>".$_FactOri."</strong></td>";
        echo 
"<td colspan='3' style='color:#A9A9A9;'>Factura: <strong>".$_FactSus."</strong></td>";
            echo 
"<tr>
                    <td><strong># de Parte Original</strong></td>
                    <td><strong>Cantidad Original</strong></td>
                    <td><strong># de Parte Sustituci&oacute;n</strong></td>
                    <td><strong>Cantidad Sustituci&oacute;n</strong></td>
                    <td><strong>Diferencias</strong></td>
                  </tr>"
;
            while ((
$row=mysql_fetch_array($conn))&&($rowB=mysql_fetch_array($conn2))){
                
$_varA $row['Parte'];
                
$_varB $row['Cantidad'];
                
$_varC $rowB['Num_Parte'];
                
$_varD $rowB['Cantidad'];
                 
                if (
$_varA == $_varC) {
                    
$resultado $_varB $_varD;
                    echo 
"<tr>";
                    echo 
"<td>".$_varA."</td>";
                     echo 
"<td align='center'>".$_varB."</td>";
                     echo 
"<td>".$_varC."</td>";
                     echo 
"<td align='center'>".$_varD."</td>";
                     echo 
"<td>".$resultado."</td>";
                     echo 
"</tr>";
                } else{    
                    echo 
"<tr>";
                    echo 
"<td>".$_varA."</td>";
                     echo 
"<td align='center'>".$_varB."</td>";
                     echo 
"<td>".$_varC."</td>";
                     echo 
"<td align='center'>".$_varD."</td>";
                     echo 
"<td>".$resultado."</td>";
                     echo 
"</tr>";
                }
                
            } 
  #2 (permalink)  
Antiguo 09/04/2014, 11:31
Avatar de Geghnar  
Fecha de Ingreso: noviembre-2012
Ubicación: Vigo
Mensajes: 17
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: consulta dos tablas y hacer operaciones segun su resultado

Hola order1987

Esta línea debes sacarla fuera del if

$resultado = $_varB - $_varD;
  #3 (permalink)  
Antiguo 09/04/2014, 11:42
 
Fecha de Ingreso: marzo-2014
Ubicación: mexico
Mensajes: 3
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: consulta dos tablas y hacer operaciones segun su resultado

Cita:
Iniciado por Geghnar Ver Mensaje
Hola order1987

Esta línea debes sacarla fuera del if

$resultado = $_varB - $_varD;
Antes que nada muchas gracias por tu respuesta. pero al principio estaba asi una de las partes en las que me e fijado es que no mes esta respetando el if siempre pone el else
  #4 (permalink)  
Antiguo 09/04/2014, 12:03
Avatar de Geghnar  
Fecha de Ingreso: noviembre-2012
Ubicación: Vigo
Mensajes: 17
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: consulta dos tablas y hacer operaciones segun su resultado

¿Dime una cosa, qué campo es el común en ambas tablas? ¿rem?
  #5 (permalink)  
Antiguo 09/04/2014, 12:13
Avatar de Geghnar  
Fecha de Ingreso: noviembre-2012
Ubicación: Vigo
Mensajes: 17
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: consulta dos tablas y hacer operaciones segun su resultado

Por lo que he entendido, yo probaría con esto, suponiendo que Rem sea el número de factura y sea común en ambas tablas a los partes y cantidades que queremos comparar:

Código PHP:
$conn=mysql_query("select TABLA1.Parte as PARTE1, TABLA1.Cantidad as CANT1, TABLA2.Num_Parte as PARTE2, TABLA2.Cantidad as CANT2 FROM TABLA1, TABLA2 WHERE TABLA1.Rem=TABLA2.Rem ORDER BY PARTE1 ASC",$dbh
        or die(
"Problemas en el select:".mysql_error()); 

        echo 
"<table border=0 width='700px'>"
            echo 
"<tr> 
                    <td><strong># de Parte Original</strong></td> 
                    <td><strong>Cantidad Original</strong></td> 
                    <td><strong># de Parte Sustituci&oacute;n</strong></td> 
                    <td><strong>Cantidad Sustituci&oacute;n</strong></td> 
                    <td><strong>Diferencias</strong></td> 
                  </tr>"

            while (
$row=mysql_fetch_array($conn)){ 
                
$_varA $row['PARTE1']; 
                
$_varB $row['CANT1']; 
                
$_varC $row['PARTE2']; 
                
$_varD $row['CANT2']; 
                  
                if (
$_varB != $_varD) { 
                    
$resultado $_varB $_varD
                    echo 
"<tr>"
                    echo 
"<td>".$_varA."</td>"
                     echo 
"<td align='center'>".$_varB."</td>"
                     echo 
"<td>".$_varC."</td>"
                     echo 
"<td align='center'>".$_varD."</td>"
                     echo 
"<td>".$resultado."</td>"
                     echo 
"</tr>"
                } else{} 
                 
            }      
            
            echo 
"</table>"

De esta manera sólo añade las líneas de las facturas cuyas cantidades hayan cambiado incluyendo los números de parte anterior y nuevo.

Etiquetas: operaciones, resultado, select, sql, tabla, tablas
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 10:09.