Tengo este código:
Código PHP:
/*
* @desc Módulo: Mostrar todas las categorías
*/
function ShowImagesForAllCategories(){
if(isset($_GET['accion'])&&($_GET['accion']=="mostrar")&&(isset($_GET['categoria']))&&($_GET['categoria']=="todas")){
$query = "SELECT * FROM catnews WHERE active<>0 ORDER BY idcat";
$result = mysql_query($query) or die("No se ha podido ejecutar la consulta: ".$query.". MySQL ha dicho: ".mysql_error());
echo "<table width='100%' border='0' cellspacing='2' cellpadding='0'>";
while($fetch = mysql_fetch_assoc($result)){
echo "<tr>
<td colspan='2' class='txt'><strong>Categoría:</strong> ".$fetch['name']."</td>
</tr>
<tr>
<td colspan='2' class='txt'>".$fetch['description']."</td>
</tr>
<tr>
<td width='12%'><img src='images/news_cat/".$fetch['imgdir']."' alt='Mostrar todas las noticias de la categoría ".$fetch['imgalt']."' class='hand'></td>
<td width='88%' valign='top' class='txt'>".ShowNewsForThisCategory($fetch['idcat'],5)."</td>
</tr>";
}
echo "</table>";
}
}
y este otro es la definición de la función ShowNewsForThisCategory:
Código PHP:
/*
* @desc Módulo: Mostrar las noticias dada por la cantidad a mostrar en los parámetros
*/
function ShowNewsForThisCategory($category,$cant){
$query = "SELECT n.*,u.name FROM news n, user u WHERE n.idcat=".$category." AND n.public<>0 AND n.idautor=u.iduser ORDER BY n.idnews LIMIT 0,".$cant."";
$result = mysql_query($query) or die("No se ha podido ejecutar la consulta: ".$query.". MySQL ha dicho: ".mysql_error());
if(mysql_num_rows($result)==0){
echo "<tr><td colspan='2' class='txt'>No hay noticias disponibles en esta categoría para mostrar.</td></tr>";
}else{
echo "<table width='100%' border='0' cellspacing='1' cellpadding='0'>";
while($fetch = mysql_fetch_assoc($result)){
echo "<tr>
<td width='4%' rowspan='4' valign='top'><div align='center'><img src='images/new_news.gif' alt='Noticia ".$fetch['idnews']."' width='17' height='17' border='0' align='absmiddle' class='hand'></div></td>
<td width='96%' class='txt'><strong>".$fetch['title']."</strong></td>
</tr>
<tr>
<td class='txt'>".$fetch['summary']."</td>
</tr>
<tr>
<td class='txt'>Publicada por: ".$fetch['name']." a las Fecha </td>
</tr>
<tr>
<td class='txt'>Visitas: ".$fetch['hits']." | Valorar noticia: | </td>
</tr>";
}
echo "</table>";
}
}
lo que me pasa es que cuando llamo a la función ShowImagesForAllCategories dentro de una pagina HTML por ejemplo así:
Código PHP:
<td width="97%" valign="top" style="padding-right:2px;"><? ShowImagesForAllCategories(); ?></td>
según mi logica primero debia ejecutar la función ShowImagesForAllCategories e imprimir esa tabla y luego cuando se tope con la funcion ShowNewsForThisCategory entonces dentro de ese
td me imprima la tabla que me genera la funcion ShowNewsForThisCategory, pero no primero me ejecuta ShowNewsForThisCategory y luego ShowImagesForAllCategories y por lo tanto mi HTML queda así:
Código PHP:
<tr>
<td colspan='2' class='txt'>Noticias sobre las últimas versiones de programas populares en Internet</td>
</tr>
<tr>
<td width='12%'><img src='images/news_cat/category_softwares.gif' alt='Mostrar todas las noticias de la categoría Softwares' class='hand'></td>
<td width='88%' valign='top' class='txt'></td>
</tr>
cuando debía ser así:
Código PHP:
<tr>
<td width='12%'><img src='images/news_cat/category_softwares.gif' alt='Mostrar todas las noticias de la categoría Softwares' class='hand'></td>
<td width='88%' valign='top' class='txt'><tr>
<td colspan='2' class='txt'>Noticias sobre las últimas versiones de programas populares en Internet</td>
</tr>
</td>
</tr>
Que me recomiendan que haga?
Salu2