Tema: Porque?
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2004, 10:32
Avatar de Reynier
Reynier
 
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Porque?

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&iacute;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
__________________
Ing. Reynier Pérez Mira