Foros del Web » Programando para Internet » PHP »

Consulta ultimo registro a tabla En Mysql

Estas en el tema de Consulta ultimo registro a tabla En Mysql en el foro de PHP en Foros del Web. Hola compañeros , necesito esta ayuda, y como aca simpre me colaboran , tengo una tabla de nombre entrada_concencionario con id_carro, fecha, marca_carro ejemplo: id_carro: ...
  #1 (permalink)  
Antiguo 02/04/2008, 07:54
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 0
Consulta ultimo registro a tabla En Mysql

Hola compañeros , necesito esta ayuda, y como aca simpre me colaboran , tengo una tabla de nombre entrada_concencionario con id_carro, fecha, marca_carro

ejemplo: id_carro: 01
fecha: 2008-04-03
marca_carro: renault clio

id_carro:02
fecha:2008-04-03
marca_carro: renault logan


id_carro:03
fecha:2008-04-03
marca_carro: ranault Megane

necesito en sintesis hacer una consulta a la base de datos y que me selecione el ultimo registro de esta tabla enviando la fecha

sentencia PHP.


Código PHP:
$fecha=$_POST['fecha'];
$C="SELECT * FROM entrada_concesionario WHERE  fecha='$fecha' ";
mysql_query($C,$l); 
Es Aqui donde necesito su valiosa ayuda, si yo capturo la fecha y la comparo con la ingresada a la base de datos , nesecito que me saque el ultimo registro de esa fecha en el caso del ejemplo seria id_carro:03 fecha2008-04-03, marca_carro: renault Megane .

Espero em entiendan y me colaboren con la sentencia sql

Mil gracias a todos.
  #2 (permalink)  
Antiguo 02/04/2008, 08:25
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Re: Consulta ultimo registro a tabla En Mysql

Me imagino que como la mayoria de los programadores y los diseñadores de bases de daots, esa tabla le han colocado un consecutivo.

Teniendo presente esto, entonces podemos hacer lo siguiente:

Código PHP:

$fecha
=$_POST['fecha'];
$C="SELECT * FROM entrada_concesionario WHERE  fecha='$fecha' ORDER BY consecutivo DESC LIMIT 0,1";
$resultado=mysql_query($C,$l);  
if (
$fila=mysql_fetch_array($resultado)){ //Este es el ultimo registro
    
.....
    .....

Espero te funcione.

Saludos.
  #3 (permalink)  
Antiguo 02/04/2008, 08:43
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Consulta ultimo registro a tabla En Mysql

Cita:
Iniciado por rusinho Ver Mensaje
Me imagino que como la mayoria de los programadores y los diseñadores de bases de daots, esa tabla le han colocado un consecutivo.

Teniendo presente esto, entonces podemos hacer lo siguiente:

Código PHP:

$fecha
=$_POST['fecha'];
$C="SELECT * FROM entrada_concesionario WHERE  fecha='$fecha' ORDER BY consecutivo DESC LIMIT 0,1";
$resultado=mysql_query($C,$l);  
if (
$fila=mysql_fetch_array($resultado)){ //Este es el ultimo registro
    
.....
    .....

Amigo , el problema es el siguiente el campo id_carro no es auto increment,por que yo tego un registro unico de cada carro ejemplo 01 ese campo es varchar ,lo que tu me propones funcionario con el id_carro sabiendo que es varchar

Gracias por la colaboracion

Espero te funcione.

Saludos.
  #4 (permalink)  
Antiguo 02/04/2008, 09:01
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: Consulta ultimo registro a tabla En Mysql

pq no ingresas un campo id q sea aunto increment???
a la hora d hacer la consulta lo asignas como hidden y haces

Código PHP:
$C="SELECT * FROM entrada_concesionario WHERE  fecha='$fecha' ORDER BY id DESC "
$resultado=mysql_query($C,$l);   
if (
$fila=mysql_fetch_array($resultado)){ //Este es el ultimo registro 
    
..... 
    ..... 

__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #5 (permalink)  
Antiguo 02/04/2008, 09:18
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Re: Consulta ultimo registro a tabla En Mysql

No importa si el campo es auto_increment o no, si con el campo id_carro se puede ordenar, has la consulta como la que te especifiqué anteriormente.


Por ejemplo buscas la fecha 2008-02-12

Datos.

ID_CARRO FECHA
00001 2008-03-13
00002 2007-12-11
00003 2008-02-12
00004 2008-03-13
00005 2008-02-12
00006 2007-11-28


Si haces la consulta el registro que te obtendra es:
ID_CARRO FECHA
00005 2008-02-12


Pruebalo.

Saludos.
  #6 (permalink)  
Antiguo 02/04/2008, 09:20
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 0
De acuerdo Re: Consulta ultimo registro a tabla En Mysql

Amigos aqui pongo todo el codigo PHP

NOTA :el id_carro es varchar

consulta fecha PHP , aqui selecciono la fecha y me carga una funcion javascript via ajax para que devuelva el ultimo carro ingresado en esa fecha

Código PHP:

<?php
require_once('Connections.php');
mysql_select_db($database,$L);
//seleccionamos la fecha distinta ya que si ingrese la fecha de hoy 3 veces m selecione una no mas//
$SQL=mysql_query("SELECT  DISTINCT fecha FROM entrada_concecionario ORDER BY fecha  DESC",$L);

//mostrando el resultadoecho     
?>

?>
<form name="formulario" action="" >
 <table class="odd" border="5">
  <tr>
   <td align="left" nowrap bgcolor="#BDEAD5"><span><strong>FECHA INGRESO CARRO A CONCESIONARIO:</strong></span></td>
   <td><select name="fecha" id="fecha" onChange="Id()">
<?php
while($row mysql_fetch_array($SQL))
  {    
    echo 
"<option value=\"".$row['fecha']."\">".$row ['fecha']."</option>";
  }
?>
</select>
 </td>
 </tr>
 </table>
</form>
Consulta el ultimo carro ingresado en la fecha y devuelve la peticion hacia el usuario via Ajax

Código PHP:
<?php
require_once('Connections.php');
mysql_select_db($database,$L);
$fecha=$_POST['fecha'];
//seleccionamos los datos de la entrada conecionario  por su la fecha
$SQL1=mysql_query("SELECT * FROM entrada_concecionario WHERE  fecha='$fecha'",$L);
$row mysql_fetch_array($SQL1);
?>
<table class="odd" border="5">
 <tr bordercolor="#000000"  >
   <td bgcolor="BDEAD5"><p><strong>ID CARRO</strong></p></td>
 </tr>
 <tr>
   <td><input type="text" value="<?php echo $row['id_carro'];?>"  style=" color:#003333; font-family:Verdana, Arial, Helvetica, sans-serif; border:outset; display:inline; font-size:14px;" readonly/ /></td>
 </tr>  
 <tr>
   <td bgcolor="BDEAD5"><p><strong>FECHA ENTRADA CARRO CONCECIONARIO</strong></p></td>
 </tr>
 <tr>
   <td><input type="text" value="<?php echo $row['fecha'];?>"  style=" color:#003333; font-family:Verdana, Arial, Helvetica, sans-serif; border:outset; display:inline; font-size:14px;" readonly//></td>
 </tr>  
 <tr>
   <td bgcolor="BDEAD5"><p><strong>MARCA CARRO</strong></p></td>
 </tr>
 <tr>
   <td><input type="text" size="45" value="<?php echo $row['marca_carro'];?>"   style=" color:#003333; font-family:Verdana, Arial, Helvetica, sans-serif; border:outset; display:inline; font-size:14px;" readonly//></td>
 </tr>
Lo que necesito es modificar esa consulta a la base de datos sabiendo que el id_carro es varchar y no autoincrement, necesito que me devuelva el ultimo carro que se ingreso.

estare atento a las sugrenecias.
  #7 (permalink)  
Antiguo 02/04/2008, 09:37
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Consulta ultimo registro a tabla En Mysql

Y de casualidad no guardas la hora?
  #8 (permalink)  
Antiguo 02/04/2008, 09:41
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: Consulta ultimo registro a tabla En Mysql

insisto
es mas facil asignar un campo adicional id q sea auto increment el cual t lo hara como deseas pues el id lo asigna a medidas q ingresas... asi podras ordenar como lo deseas
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #9 (permalink)  
Antiguo 02/04/2008, 09:55
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 0
Amigo Rusinho, no guardo la hora porque no hay necesiidad si fuera el para un parquedero hora seria hora de entrada y de salida pero necesito la fecha nada mas, debe de haber una forma de consultar en la sentencia SQl, si encuentro la respuesta te la envio


Chao ...

Amigo take over , no simpre podremos hecer el diseño de la base de datos con campos autoincrment, por que es para usuarios finales que no saben la generacion del numero.

Pero sabes que lo tendre encuenta de todas maneras gracias..
  #10 (permalink)  
Antiguo 02/04/2008, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Consulta ultimo registro a tabla En Mysql

Hola Diegon,

T4keOveR tiene razón, con un campo autoincrement puedes obtener el ultimo registro usando el codigo que te dio rushino.

No es necesario que el usuario final sepa de ese campo auto_increment, lo puedes manejar 100% debajo del código, y solo usarlo como un dato numérico para diferenciar los registros.

De hecho en todo diseño de bases de datos se recomienda tener una llave primaria para que sea mas fácil el leer, buscar y modificar registros.

Saludos.
  #11 (permalink)  
Antiguo 02/04/2008, 10:08
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Consulta ultimo registro a tabla En Mysql

Amigo GatorV, entonces en la tabla como quedaria el id autoincrment

dame un ejemplo por favor

Yo hice la tabla con llave compuesta pero no se como hacerla con autoincrement y me gustaria sebar como hago para qeu el codigo trabeje por debajo sin qeu el usuario se de cuenta del numero id PK.
  #12 (permalink)  
Antiguo 02/04/2008, 10:26
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Consulta ultimo registro a tabla En Mysql

amigos hice esta parte pero no me sale los otros resulltados si hay alguna sugerencia me escriben

Código PHP:

require_once('Connections.php');
mysql_select_db($database,$L);

$fecha=$_POST['fecha'];

$SQL=mysql_query("SELECT  MAX(id_carro) AS 'id_carro' FROM entrada_concecionario WHERE  fecha='$fecha'",$L);
$row = mysql_fetch_array($SQL);
?>
<table class="odd" border="5">
 <tr bordercolor="#000000"  >
   <td bgcolor="BDEAD5"><p><strong>ID CARRO</strong></p></td>
 </tr>
 <tr>
   <td><input type="text" value="<?php echo $row['id_carro'];?>"  style=" color:#003333; font-family:Verdana, Arial, Helvetica, sans-serif; border:outset; display:inline; font-size:14px;" readonly/ /></td>
 </tr>  
 <tr>
   <td bgcolor="BDEAD5"><p><strong>FECHA ENTRADA CARRO A CONCESIONARIO</strong></p></td>
 </tr>
 <tr>
   <td><input type="text" value="<?php echo $row['fecha'];?>"  style=" color:#003333; font-family:Verdana, Arial, Helvetica, sans-serif; border:outset; display:inline; font-size:14px;" readonly//></td>
 </tr>  
 <tr>
   <td bgcolor="BDEAD5"><p><strong>MARCA CARRO</strong></p></td>
 </tr>
 <tr>
   <td><input type="text" size="45" value="<?php echo $row['marca_carro'];?>"   style=" color:#003333; font-family:Verdana, Arial, Helvetica, sans-serif; border:outset; display:inline; font-size:14px;" readonly//></td>
 </tr>  
</table>
por favor ayudenme que ya me estoy suerte..
  #13 (permalink)  
Antiguo 02/04/2008, 10:34
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: Consulta ultimo registro a tabla En Mysql

Diego no desesperes jeje
el usuario final jamas sabra sobre ese ID
te explico los campos de tu base d datos son

id_carro
fecha
marca_carro

Bueno ahora quedarian

id <- INT auto increment
id_carro
fecha
marca_carro

Solo vas a adicionar ese campo... a medida q ingreses este ingresara un id en forma creciente...
y a la hora d mostrar quedaria

Código PHP:
"SELECT * FROM entrada_concesionario WHERE  fecha='$fecha' ORDER BY id DESC "
lo ordenas por id y listo... el t mostraria todo ordenado por orden de ingreso...

saludos
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #14 (permalink)  
Antiguo 02/04/2008, 11:10
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Consulta ultimo registro a tabla En Mysql

Amigo Take Over , gracias por despejarme esta duda , una ultima pregunta , para no molestarte mas, no iimporta que yo tenga id_carro y fecha como llaves PK compuestas?


gracias por la atencion cuidate y exitos
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 00:21.