Autor
|
Tema: Mostrar la fecha más reciente (Leído 6,254 veces)
|
bgnumis
Desconectado
Mensajes: 155
|
Hola a todos, A ver si me podéis ayudar en esta consulta, en un campo "buscar" yo obtengo los resultados con LIKE y los saco en una tabla: <?php $busca=""; $busca=$_GET['busca']; $conexion=mysql_connect("localhost","oscarugt","@duende109109109") or die("Problemas en la conexion"); mysql_select_db("ugtdef",$conexion) or die("Problemas en la selección de la base de datos"); if($busca!=""){ $busqueda=mysql_query("SELECT * FROM oficinas WHERE Oficina LIKE '%".$busca."%' OR direccion LIKE '%".$busca."%' OR Municipio LIKE '%".$busca."%' OR Provincia LIKE '%".$busca."%' OR ofi LIKE '%".$busca."%' OR delegadoDR LIKE '%".$busca."%'") ; ?> <table width="1054" border="1" align="left"> <tr> <td>Oficina</td> <td>Telefono</td> <td>ofi</td> <td>Dirección</td> <td>CP</td> <td>Municipio</td> <td>Provincia</td> <td>CCAA</td> <td>DDR</td> <td>Enlace a Ofi</td> <td>Registrar</td> </tr> <?php echo '<tr>'; echo '<td>'.$muestra['Oficina'].'</td>'; echo '<td>'.'<a href="tel:+'.$muestra['telefono'].'">'.$muestra['telefono'].'</a>'.'</td>'; echo '<td>'.$muestra['ofi'].'</td>'; echo '<td>'.$muestra['direccion'].'</td>'; echo '<td>'.$muestra['cp'].'</td>'; echo '<td>'.$muestra['Municipio'].'</td>'; echo '<td>'.$muestra['Provincia'].'</td>'; echo '<td>'.$muestra['CCAA'].'</td>'; echo '<td>'.$muestra['delegadoDR'].'</td>'; echo '<td><a href="oficinaaconsultartres.php?id='.$muestra['ofi'].'">','<strong>Ir a Oficina</strong>','</a></td>'; echo '<td><a href="principal.php?id='.$muestra['ofi'].'">','<strong>Ir a Registrar</strong>','</a></td>'; } } ?> </table>
La cuestión es tengo una segunda tabla llamada "registrovisitas" en esta tabla está el campo común "ofi" y "fechavisita", lo que me gustaría es sacar en la tabla anterior, por cada línea de la tabla, que cogiera el campo "ofi" de esa línea que me saca en el echo y me saque el max(cast(STR_TO_DATE(fechavisita, '%d/%m/%Y') as date)) pero no lo consigo ni a la de tres. ¿esto es posible? Muchas Gracias por adelantado.
|
|
|
En línea
|
|
|
|
bgnumis
Desconectado
Mensajes: 155
|
¿Con un inner join o left join funcionaría aunque tenga un like?
De momento no lo he conseguido.
|
|
|
En línea
|
|
|
|
Hadess_inf
Desesperado
Colaborador
Desconectado
Mensajes: 2.048
Nueva Vida
|
Porque no hace un left join y agregas un max ¿? SELECT T1.*, TMP.fecha FROM T1 LEFT OUTER JOIN (SELECT T2.id_t1, MAX(T2.fecha) AS fecha FROM T2 GROUP BY id_t1) TMP ON ( T1.id = TMP.id_t1 ) WHERE T1.... /* condiciones */
|
|
« Última modificación: 8 Marzo 2017, 18:13 pm por Hadess_inf »
|
En línea
|
|
|
|
bgnumis
Desconectado
Mensajes: 155
|
Hola estoy intentando hacer el LEFT OUTER JOIN pero no hay manera, y leyendo sobre como montarlo no me aclaro SELECT P.cp, P.ofi FROM oficinas P LEFT OUTER JOIN (SELECT S.ofi , MAX(CAST(STR_TO_DATE(fechavisita, '%d/%m/%Y') AS S FROM registrovisitas ) ON P.ofi=S.ofi
Còmo se monta el LEFT join con el select, cuál es el orden? A ver si me podéis ayudar.
|
|
|
En línea
|
|
|
|
bgnumis
Desconectado
Mensajes: 155
|
Intenté con esto pero tampo me iba $busca=""; $busca=$_GET['busca']; $conexion=mysql_connect("localhost","dddfst","ffff") or die("Problemas en la conexion"); if($busca!=""){ $busqueda=mysql_query("SELECT c.Oficina, c.telefono, c.ofi, c.direccion, c.cp, c.Municipio, c.Provincia,c.CCAA, c.delegadoDR , a.fechavisita, a.ofi, FROM oficinas c LEFT OUTER JOIN (SELECT a.ofi, max(cast(STR_TO_DATE(a.fechavisita, '%d/%m/%Y') AS date FROM registrovisitas a GROUP BY a.ofi) ON ( c.ofi = a.ofi ) WHERE c.Oficina LIKE '%".$busca."%' OR c.direccion LIKE '%".$busca."%' OR c.Municipio LIKE '%".$busca."%' OR c.Provincia LIKE '%".$busca."%' OR c.ofi LIKE '%".$busca."%' OR c.delegadoDR LIKE '%".$busca."%'") ; ?>
Y estoy intentando simplificar pero nada
|
|
|
En línea
|
|
|
|
bgnumis
Desconectado
Mensajes: 155
|
Hola, Creo que así debería funcionar, el problema que tengo es que al rodarlo no me aparecen los valores de la tabla con el echo. ¿dónde podría estar el error? <?php $busca=""; $busca=$_GET['busca']; $conexion=mysql_connect("localhost","osdsd","@dsfd") OR die("Problemas en la conexion"); mysql_select_db("dsddef",$conexion) OR die("Problemas en la selección de la base de datos"); IF($busca!=""){ $busqueda=mysql_query(" SELECT c.Oficina, c.telefono, c.ofi , a.fechavisita, a.ofi FROM oficinas c LEFT OUTER JOIN (SELECT registrovisitas.ofi AS A max(cast(STR_TO_DATE(registrovisitas.fechavisita, '%d/%m/%Y'))) AS date GROUP BY registrovisitas.ofi AS SL FROM registrovisitas ON (c.ofi=a.ofi) WHERE c.Oficina LIKE '%".$busca."%' OR c.ofi LIKE '%".$busca."%' )") ; ?> <table width="1054" border="1" align="left"> <tr> <td>Oficina</td> <td>Telefono</td> <td>ofi</td> <td>fecha</td> <td>Dirección</td> <td>CP</td> <td>Municipio</td> <td>Provincia</td> <td>CCAA</td> <td>DDR</td> <td>Enlace a Ofi</td> <td>Registrar</td> </tr> <?php while($muestra=@mysql_fetch_array($busqueda)){ echo '<tr>'; echo '<td>'.$muestra['1'].'</td>'; echo '<td>'.$muestra['ofi'].'</td>'; echo '<td>'.$muestra['3'].'</td>'; echo '<td><a href="oficinaaconsultartres.php?id='.$muestra['ofi'].'">','<strong>Ir a Oficina</strong>','</a></td>'; echo '<td><a href="principal.php?id='.$muestra['ofi'].'">','<strong>Ir a Registrar</strong>','</a></td>'; } } ?> </table>
|
|
|
En línea
|
|
|
|
Hadess_inf
Desesperado
Colaborador
Desconectado
Mensajes: 2.048
Nueva Vida
|
Tu consulta esta toda desordenada, ahí esta tu error, el group by esta antes del from ... etc ...
Saludos.
|
|
|
En línea
|
|
|
|
bgnumis
Desconectado
Mensajes: 155
|
Muchas. Estoy bloqueado con esto. Me he comprado [W._Jason_Gilmore]_Beginning_PHP_and_MySQL. Te digo esto porque quiero aprender.
Lo intento, de verdad, pero podrías ayudarme con el orden, no consigo que ruede
|
|
|
En línea
|
|
|
|
bgnumis
Desconectado
Mensajes: 155
|
No me funciona aún, pero después de leer mil. Creo que ya lo entiendo. Ozu, Cuando lo consiga lo pongo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como mostrar la fecha en un Text.
Programación Visual Basic
|
El_Marine
|
3
|
1,540
|
9 Agosto 2006, 05:39 am
por sircid
|
|
|
Mostrar FECHA en la barra de inicio
« 1 2 »
Windows
|
postrof
|
13
|
17,105
|
19 Julio 2010, 16:13 pm
por noesmitipo
|
|
|
ordenar registros, mostrar más reciente a más viejo
Bases de Datos
|
basickdagger
|
6
|
7,898
|
22 Junio 2016, 08:25 am
por Pedro Ivan
|
|
|
Problema al mostrar fecha sin hora.
.NET (C#, VB.NET, ASP)
|
nolasco281
|
8
|
8,174
|
16 Mayo 2015, 23:50 pm
por nolasco281
|
|
|
¿Cómo seleccionar los registros con la fecha más reciente?
Bases de Datos
|
KateLibby
|
7
|
4,671
|
27 Diciembre 2017, 19:16 pm
por XafiloX
|
|