Estimados, junto con saludar, les cuento que estoy programando un sitio en php con poo.... Mi duda salta a la vista al realizar una query a la bd y la recorro para asi crear objetos dinamicamente con sus respectivos datos... pero luego al momento de mostrarlos, como los diferencio???
La idea es que los objetos se muestren de la forma:
Aplicando programación estructurada el código es así (Funciona Obviamente):
Código PHP:
<?php
//el metodo "listarFactura" hace la query y la retorna en la variable $documentox
$documentox = $vendedor->listarFactura($nombre_cliente);
?>
//Se imprimen los registros resultantes
<table border="1" width="100%">
<tr align="center">
<td>N° Factura</td>
<td>Cliente</td>
<td>Fecha Emisión</td>
<td>Fecha Vencimiento</td>
<td>Monto Total</td>
<td>Estado</td>
</tr>
<?php
while ($registro = mysql_fetch_assoc($documentox))
{
?>
<tr align="center">
<td><?php echo $registro['id_documento_pago']?></td>
<td><?php echo $registro['cliente_id_cliente']?></td>
<td><?php echo $registro['fecha_emision_documento_pago']?></td>
<td><?php echo $registro['fecha_vencimiento_documento_pago']?></td>
<td><?php echo $registro['total_documento_pago']?></td>
<td><?php echo $registro['estado_documento_pago']?></td>
</tr>
<?php
}
?>
</table>
Pero al llevarlo a objeto cambia a esto:
Código PHP:
<?php
//el metodo "listarFactura" hace la query y la retorna en la variable $documentox
$documentox = $vendedor->listarFactura($nombre_cliente);
?>
/*
*se recorre la variable y se crea el objeto (solo funciona para un objeto)
*/
while ($registro = mysql_fetch_assoc($documentox))
{
$documento = new Documento_Pago();
$documento->setIdDocumentoPago($registro['id_documento_pago']);
$documento->setFechaEmisionDocumentoPago($registro['fecha_emision_documento_pago']);
$documento->setFechaVencimientoDocumentoPago($registro['fecha_vencimiento_documento_pago']);
$documento->setTotalDocumentoPago($registro['total_documento_pago']);
$documento->setEstadoDocumentoPago($registro['estado_documento_pago']);
}
/*
*Funciona solo para un objeto
*/
<table border="1" width="100%">
<tr align="center">
<td>N° Factura</td>
<td>Cliente</td>
<td>Fecha Emisión</td>
<td>Fecha Vencimiento</td>
<td>Monto Total</td>
<td>Estado</td>
</tr>
<?php
while ($registro = mysql_fetch_assoc($documentox))
{
?>
<tr align="center">
<td><?php echo $documento->getIdDocumentoPago()?></td>
<td><!--No se incluye en este objeto este dato--></td>
<td><?php echo $documento->getFechaEmisionDocumentoPago()?></td>
<td><?php echo $documento->getFechaVencimientoDocumentoPago()?></td>
<td><?php echo$documento->getTotalDocumentoPago()?></td>
<td><?php echo $documento->getEstadoDocumentoPago()?></td>
</tr>
<?php
}
?>
Ahora mis dudas... como lo hago para poder instancias dinamicas de objetos? poniendo un contador antes del while que crea y le hace set al objeto? hay una forma mas elegante???? pero lo mas importante si tengo ya creado 2 objetos de la misma clase... como los puedo diferenciar para trabajar con ellos? salu2!