Sin entrar en el código, y centrándome en la consulta, tienes varios errores, el *, la coma antes de from, la relacion entre tablas y el cierre de funcion antes de tiempo. Te dejo la select corregida.
Código PHP:
$Consulta= @mysql_query("SELECT f.*,df.codigo_producto_factura, df.descripcion_producto_factura, df.cantidad_producto_factura FROM detalle_factura as df INNER JOIN factura as f ON df.numero_factura = f.numero_factura WHERE f.numero_factura = '$numfactura'",$cnn);
fíjate que en tu select le decias
Cita: JOIN factura ON factura.numero_factura = factura.numero_factura
..y esto se va a cumplir siempre!! lo he sustituido por
Cita: JOIN factura as f ON df.numero_factura = f.numero_factura
supongo que tienes un campo para relacionar la factura con su detalle. Por lo que veo en tu código, utilizas el num. de factura. Es más que recomendable utilizar un campo id autonumerico y único para cada tabla. En tu caso, la estructura de la db seria la siguiente:
tabla factura
id
cliente_id (donde cliente_id se relaciona con cliente.id)
Numero de factura
fecha_factura
Monto total de la factura
tabla Cliente
id
Nombre
Rif
tabla detalle factura
id
factura_id (donde factura_id se relaciona con factura.id)
codigo
descripcion
cantidad
Saludos.