Foros del Web » Programando para Internet » PHP »

Validar y comparar datos de dos tablas del resultado de una consulta

Estas en el tema de Validar y comparar datos de dos tablas del resultado de una consulta en el foro de PHP en Foros del Web. Hola amigos, para solicitar su valiosa ayuda, tengo una pagina de respuesta a una consulta php en donde por una misma variable ( ruta ) ...
  #1 (permalink)  
Antiguo 02/10/2012, 06:11
Avatar de akpshiva  
Fecha de Ingreso: septiembre-2012
Mensajes: 16
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Validar y comparar datos de dos tablas del resultado de una consulta

Hola amigos, para solicitar su valiosa ayuda, tengo una pagina de respuesta a una consulta php en donde por una misma variable (ruta) comun a dos tablas de datos de MySQL se me despliegan dos tablas de datos, una tabla que me muestra los datos de un censo de establecimientos incluyendo los valores de latitud, longitud y ruta, y otra tabla en donde se muestran los datos de una persona que hizo un recorrido supuestamente por los mismos puntos de ubicación y quiero validar si es cierto que cada punto coincide con los puntos almacenados en la tabla del censo. Como puedo hacer esto en PHP?. Debe ser para cada valor que me resulte de la consulta y se debe comparar siempre con los datos de la tabla que contiene el censo.

Este es el codigo de la pagina del resultado de la consulta:

Código HTML:
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>:: DEMO SIG VENTAS ::</title>
<link href="*.css" rel="stylesheet" type="text/css" />
<link href="css/template.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="1100" border="0" align="center" cellpadding="10" cellspacing="0">
  <tr>
    <td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="25%" align="left" valign="middle"><p class="caja_logo"></p></td>
        <td width="75%" align="left" valign="middle" class="texto_contenido"><strong>NOMBRE DE LA EMPRESA</strong></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td align="center" bgcolor="#999900" class="texto_contenido"><strong>Listado de Clientes de la <?php echo $row_Clientes['ruta']; ?></strong></td>
    <td align="center" bgcolor="#999900"><span class="texto_contenido"><strong>SISTEMA GEOREFERENCIADO DE CONTROL DE VISITA DE FUERZA DE VENTAS</strong></span></td>
  </tr>
  <tr>
    <td class="texto_contenido"></td>
    <td height="10"></td>
  </tr>
  <tr>
    <td align="left" valign="top" class="texto_contenido"><table border="1" align="left">
        <tr>
          <td width="200" align="center" valign="middle"><strong>Nombre del Establecimiento</strong></td>
          <td align="center" valign="middle"><strong>Dirección</strong></td>
          <td align="center" valign="middle"><strong>Latitud</strong></td>
          <td align="center" valign="middle"><strong>Longitud</strong></td>
          <td align="center" valign="middle"><strong>Tipo de Negocio</strong></td>
          <td align="center" valign="middle"><strong>Ruta</strong></td>
        </tr>
        <?php do { ?>
          <tr class="texto_contenido">
            <td align="left" valign="top"><strong><?php echo $row_Clientes['name']; ?></strong></td>
            <td align="left" valign="top"><?php echo $row_Clientes['address']; ?></td>
            <td align="left" valign="top"><?php echo $row_Clientes['lat']; ?></td>
            <td align="left" valign="top"><?php echo $row_Clientes['lng']; ?></td>
            <td align="left" valign="top"><?php echo $row_Clientes['type']; ?></td>
            <td align="left" valign="top"><?php echo $row_Clientes['ruta']; ?></td>
          </tr>
          <?php } while ($row_Clientes = mysql_fetch_assoc($Clientes)); ?>
      </table>
      <br /></td>
    <td align="left" valign="top"><table border="1" align="left">
        <tr class="texto_contenido">
          <td width="200" align="center" valign="middle"><strong>Nombre del Vendedor</strong></td>
          <td width="200" align="center" valign="middle"><strong>Dirección / Observaciones            <br />
          </strong></td>
          <td align="center" valign="middle"><strong>Latitud</strong></td>
          <td align="center" valign="middle"><strong>Longitud</strong></td>
          <td align="center" valign="middle"><strong>Tipo de Negocio</strong></td>
          <td align="center" valign="middle"><strong>Ruta</strong></td>
        </tr>
        <?php do { ?>
          <tr class="texto_contenido">
            <td align="left" valign="top"><strong>
              <?php 
if ($totalRows_vendedores > 0)
{
echo $row_vendedores['name']; 
}
else
{
echo "No hay datos para este Vendedor";
}
?>
            </strong></td>
            <td align="left" valign="top"><?php echo $row_vendedores['address']; ?></td>
            <td align="left" valign="top"><?php echo $row_vendedores['lat']; ?></td>
            <td align="left" valign="top"><?php echo $row_vendedores['lng']; ?></td>
            <td align="left" valign="top"><?php echo $row_vendedores['type']; ?></td>
            <td align="left" valign="top"><?php echo $row_vendedores['ruta']; ?></td>
          </tr>
          <?php } while ($row_vendedores = mysql_fetch_assoc($vendedores)); ?>
      </table>
    <br /></td>
  </tr>
  <tr>
    <td align="left" valign="top"><span class="texto_contenido"><strong><?php echo $totalRows_Clientes ?> Registros Totales de Clientes en la Ruta</strong></span></td>
    <td align="left" valign="top"><span class="texto_contenido"><strong><?php echo $totalRows_vendedores ?> Registros Total </strong></span></td>
  </tr>
  <tr>
    <td align="left" valign="top">&nbsp;</td>
    <td align="left" valign="top">&nbsp;</td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result($Clientes);

mysql_free_result($vendedores);
?> 
  #2 (permalink)  
Antiguo 02/10/2012, 06:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Validar y comparar datos de dos tablas del resultado de una consulta

la idea seria que nos proporcionaras una idea del modelo de datos, como por ejemplo el tipo de dato que almacenas en "ruta", para ver si con un SQL JOIN puedes hacer una consulta con los vendedores por ruta, si no, debes de recorrer y comparar dichas variables en un ciclo aparte de la vista que es lo que estás mostrando.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 02/10/2012, 08:09
Avatar de akpshiva  
Fecha de Ingreso: septiembre-2012
Mensajes: 16
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Respuesta: Validar y comparar datos de dos tablas del resultado de una consulta

Hola maycolalvarez, gracias por su interés, la estructura y nombres de las tablas con las que se maneja el ejercicio son: "clientes" que maneja el censo georeferenciado y "markers" que es la que contiene los registros del recorrido de una personas por los puntos de una misma ruta, la idea es que al hacer una consulta sobre la tabla clientes por los parametros de vendedor, fecha y ruta me compare los datos de esta misma tabla de latitud y longitud con los datos de la tabla clientes que contienen el censo comparando la latitud y la longitud y emitir un reporte del tipo echo en donde se indique si coincide o no para el caso de cada registro que se genere en la lista resultado de la consulta. No se si me hago entender bien.

Esta es la informacion sobre las tablas de la base de datos para las tablas "clientes" y "markers".

-- phpMyAdmin SQL Dump
-- version 2.11.9.6
-- http://www.phpmyadmin.net
--
-- Servidor: localhost:3306
-- Tiempo de generación: 02-10-2012 a las 08:45:04
-- Versión del servidor: 5.0.77
-- Versión de PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `geolocalizacion`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `clientes`
--

CREATE TABLE IF NOT EXISTS `clientes` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(60) NOT NULL,
`address` varchar(80) NOT NULL,
`nombre_propietario` varchar(50) NOT NULL,
`telefono_fijo` varchar(50) NOT NULL,
`telefono_movil` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`municipio` varchar(50) NOT NULL,
`departamento` varchar(50) NOT NULL,
`lat` float(10,6) NOT NULL,
`lng` float(10,6) NOT NULL,
`type` varchar(30) NOT NULL,
`ruta` varchar(50) NOT NULL,
`frecuencia` varchar(50) NOT NULL,
`log` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

--
-- Volcar la base de datos para la tabla `clientes`
--

INSERT INTO `clientes` (`id`, `name`, `address`, `nombre_propietario`, `telefono_fijo`, `telefono_movil`, `email`, `municipio`, `departamento`, `lat`, `lng`, `type`, `ruta`, `frecuencia`, `log`) VALUES
(3, 'Panaderia Ideal', 'Carrera 56 No. 48-63', 'Claudia Martinez', '6123456', '3001234567', '[email protected]', 'BUCARAMANGA', 'Santander', 7.085718, -73.115318, 'Panaderia', 'Ruta 1', 'Lunes / 4 V Mes', '2012-09-29 21:07:25'),
(5, 'Loncheria la 32', 'Calle 34 No.34-67', 'ElÃ*as Gomez', '6543768', '3101234567', '[email protected]', 'BUCARAMANGA', 'Santander', 7.085590, -73.115425, 'Loncheria', 'Ruta 1', 'Martes / 4 V Mes', '2012-09-30 12:02:43');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `markers`
--

CREATE TABLE IF NOT EXISTS `markers` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(60) NOT NULL,
`address` varchar(80) NOT NULL,
`lat` float(10,6) NOT NULL,
`lng` float(10,6) NOT NULL,
`type` varchar(30) NOT NULL,
`ruta` varchar(30) NOT NULL,
`log` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=51 ;

--
-- Volcar la base de datos para la tabla `markers`
--

INSERT INTO `markers` (`id`, `name`, `address`, `lat`, `lng`, `type`, `ruta`, `log`) VALUES
(47, 'Juan Gomez', 'Dato de prueba', 7.085758, -73.115364, 'Opcion 1', 'Ruta 3', '2012-09-29 17:57:42'),
(46, 'Jorge Diaz', 'Dato de prueba', 7.085718, -73.115318, 'Opcion 1', 'Ruta 1', '2012-09-29 17:55:06'),
(48, 'Jorge Diaz', 'Dato de prueba', 7.085761, -73.115372, 'Opcion 2', 'Ruta 1', '2012-09-29 17:57:42'),
(49, 'Jorge Diaz', 'Datos de Prueba', 7.113310, -73.120468, 'Opcion 1', 'Ruta 2', '2012-09-29 18:54:37'),
(50, 'Jorge Diaz', 'Direccion de prueba', 7.085450, -73.115433, 'Opcion 1', 'Ruta 1', '2012-10-02 08:04:32');
  #4 (permalink)  
Antiguo 02/10/2012, 08:26
Avatar de akpshiva  
Fecha de Ingreso: septiembre-2012
Mensajes: 16
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Validar y comparar datos de dos tablas del resultado de una consulta

Hola maycolalvarez,
Asi es como se ve el reporte cuando hago una consulta, la idea seria que en una celda al lado de cada registro del vendedor se coloque el texto de la validación en donde se indique si coincide o no coincide.

Link de la consulta: [URL="http://www.colombiainteligente.com/geolocalizacion/consultas.php"]http://www.colombiainteligente.com/geolocalizacion/consultas.php[/URL]

Parametros de la consulta: Vendedor: Jorge Diaz / Fecha final: 2012/09/3023:59:59 /Fecha Inicial: 2012/09/01 00:00:00 /Tipo de Visita: Todas/Ruta: Ruta 1/

RESULTADO DE LA CONSULTA

NOMBRE DE LA EMPRESA

Listado de Clientes de la Ruta 1 SISTEMA GEOREFERENCIADO DE CONTROL DE VISITA DE FUERZA DE VENTAS

Nombre del Establecimiento Dirección Latitud Longitud Tipo de Negocio Ruta
Panaderia Ideal Carrera 56 No. 48-63 7.085718 -73.115318 Panaderia Ruta 1
Loncheria la 32 Calle 34 No.34-67 7.085590 -73.115425 Loncheria Ruta 1
Nombre del Vendedor Dirección / Observaciones Latitud Longitud Tipo de Negocio Ruta
Jorge Diaz Dato de prueba 7.085718 -73.115318 Opcion 1 Ruta 1
Jorge Diaz Dato de prueba 7.085761 -73.115372 Opcion 2 Ruta 1
Jorge Diaz Direccion de prueba 7.085450 -73.115433 Opcion 1 Ruta 1

2 Registros Totales de Clientes en la Ruta 3 Registros Total

Los parametros a validar y comparar en ambas tablas serian: latitud, longitud, ruta, en la cual el parametro de ruta siempre sera igual pues se trata de validar que la persona cumplio con la visita a los puntos del censo asignados para esa ruta.

Etiquetas: javascript, mysql
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:16.