Pues necesitarás una tabla "pujas" para registrar las pujas de cada objeto, con un esquema similar a:
Código:
TABLA PUJAS:
id | int
objeto_id | int
usuario_id | int (el que puja)
precio | float (valor de la puja)
fecha | datetime (o int(11) para timestamp)
Cuando se haga una puja, actualizas la tabla pujas así:
Código PHP:
$query = "UPDATE TABLE pujas ADD VALUES(
null, $objeto, $usuario, now());";
Necesitarás también un campo "expira" en la tabla objetos (datetime o int(11) )
Así cuando la puja del objeto termine, algo así como
Código PHP:
$query = "SELECT o.*, p.* FROM pujas as p, objetos as o WHERE p.objeto_id = o.id AND o.expira > now()";
[no estoy seguro de que la sintaxis sea así correcta]
al ejecutar la query obtendrás los siguientes datos:
id (de la puja), id_objeto, el usuario que puso a la venta el artículo, el usuario que pujó, la fecha de la puja...
Para saber quién fue el ganador (de un objeto $id) simplemente:
SELECT * from pujas WHERE objeto_id = $id ORDER BY price ASC LIMIT 1
Espero haberte ayudado