Hola,
escribo aqui pq creo q aqui puedo encontar ayuda para mi problema. A ver comento, para empezar estoy haciendo una consulta PHP a una base de datos y obtengo un resultado q quiero escribir. Me genero una tabla en la que empiezo a escribir los resultados de la consulta, cuando rellena una fila pasa a la siguiente. Estoy cogiendo unos datos y los estoy mostrando en otra tabla. Esto seria como por ejemplo, si cogiera los datos de un determinado articulo, mostrara sus caracteristicas y en otro lado mostrara los datos del fabricante, datos que pudiera ver pulsando un botoncillo o un enlace. Mediante javascript muestro/oculto los resultados en un div, pero claro estoy mostrando/ocultando toda la tabla y queria mostrar/ocultar el resultado de un fila en concreto ¡¡no se si me explico!!.
Lo que hago es esto: primero script para ocultar/mostrar div con info
Código HTML:
<script>
function muestra(id){
if (document.getElementById){ //se obtiene el id
var el = document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' : 'none'; //damos un atributo display:none que oculta el div
}
}
window.onload = function(){/*hace que se cargue la función lo que predetermina que div estará oculto hasta llamar a la función nuevamente*/
muestra('dato');/* "contenido_a_mostrar" es el nombre de la etiqueta DIV que deseamos mostrar */
}
</script>
Obtengo los datos despues de haber hecho la consulta a la base de datos
Código PHP:
$offers = get_offers($dbconn, $max_num_days_offer);
// Si devuelve algún resultado
if (count($offers) > 0 && isset($offers) && $offers != false) {
Y empiezo a escribir la tabla con los resultados, pongo las cabeceras con los nombres de campo y despues empiezo a escribir en la primera tabla hasta unos datos concretos para pasar a escribir despues en otro div otra tabla con el resto de los datos.
Código HTML:
<table id="tabla_ofertas" summary="Ofertas">
<thead>
<tr>
<th scope="col">campo1</th>
<th scope="col">campo2</th>
<th scope="col">campo3</th>
<th scope="col">campo4</th>
<th scope="col">campo5</th>
<th scope="col">campo6</th>
<th scope="col">campo7</th>
</tr>
</thead>
<tbody>
<?php foreach($offers as $offer) { ?>
<tr>
<td><?php echo $offer['result_campo1'] ?></td>
<td><?php echo $offer['result_campo2'] ?></td>
<td><?php echo $offer['result_campo3'] ?></td>
<td><?php echo $offer['result_campo4'] ?></td>
<td><?php echo $offer['result_campo5'] ?></td>
<td><?php echo $offer['result_campo6'] ?></td>
<td><?php echo $offer['result_campo7'] ?></td>
</tr>
<?php } ?>
</tbody>
<div id ="dato"><!--aqui no quiero mostar todo, solo la fila que seleccione en la tabla anterior de articulos para ver a un proveedor concreto-->
<table id="tabla_ofertas" summary="Ofertas">
<thead>
<tr>
<th scope="col">nif</th>
<th scope="col">nombre</th>
<th scope="col">telefono</th>
<th scope="col">fax</th>
<th scope="col">e-mail</th>
<th scope="col">direccion</th>
</tr>
</thead>
<tbody>
<?php foreach($offers as $offer) { ?>
<tr>
<td><?php echo $offer['nif'] ?></td>
<td><?php echo $offer['name'] ?></td>
<td><?php echo $offer['telephone'] ?></td>
<td><?php echo $offer['fax'] ?></td>
<td><?php echo $offer['email'] ?></td>
<td><?php echo $offer['address'] ?></td>
</tr>
<?php } ?>
</tbody>
</table>
no se si es un poco lioso, si se podra hacer. gracias, un saludo.