Foros del Web » Programando para Internet » PHP »

-Código- ocultando link

Estas en el tema de -Código- ocultando link en el foro de PHP en Foros del Web. Hola, tengo un script que me funciona correctamente pero quiero mejorarlo más, me explico: lo que hace este script es que consulta una base de ...
  #1 (permalink)  
Antiguo 12/10/2004, 12:39
Avatar de neofito  
Fecha de Ingreso: noviembre-2003
Mensajes: 138
Antigüedad: 20 años, 5 meses
Puntos: 0
-Código- ocultando link

Hola, tengo un script que me funciona correctamente pero quiero mejorarlo más, me explico: lo que hace este script es que consulta una base de datos y muestra las subcategorías que hay dentro de una determinada categoría, el problema es que no se como ocultar el link "Subcategorías" en el caso de que no haya subacategorías dentro de una categoría. A ver si alguien me puede "iluminar" al respecto porque no se hacia donde mirar, os pego el script


Código PHP:
<?
require 'auth.php';
require 
'fnc_categ.php';
comprueba_autenticacion();

$id=$_GET['p_id'];
$predecesor=$_GET['p_nombre'];
$categslista_categ_cero($_GET['p_campo'], $predecesor);

?>
<html>
<head>
  <title>Lista de categorias</title>
</head>
<body>
<h1>Lista de categorias</h2>
<p>Tienes <?=count($categs); ?> categorias...</p>
<table width="100%" border=1 cellpadding=4 cellspacing=0>
  <tr>
    <td><a href=lista.php?p_campo=nombre>Nombre</a></td>
    <td><a href=lista.php?p_campo=descripcion>Descripcion</a></td>
    <td><a href=lista.php?p_campo=fecha>Fecha</a></td>
    <td> Subcategor&iacute;as</td>
  </tr>
<? foreach($categs as $categ) { ?>
  <tr>
    <td><?=$categ['nombre']?></td>
    <td><?=$categ['descripcion']?></td>
    <td><?=$categ['fecha']?></td>
    <td><a href="11.php?p_id=<?=$categ['id']?>&p_nombre=<?=$categ['nombre']?>">Subcategorías</a></td></td>
  </tr>
<? }?>
</table>
</body>
</html>
  #2 (permalink)  
Antiguo 12/10/2004, 13:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y que hace tu función:
lista_categ_cero()
Por qué supongo que es ahí donde harás tu consulta SQL a tu BD y podrías obtener el total de "subcategorías" que hay para esa categoria .. así por ejemplo esa función podría arrojar un "false" si no hay categorías (en lugar del array que ahora parece generar) como para que apliques un "IF" en el link que genera "subcategorias"

Un saludo,
  #3 (permalink)  
Antiguo 12/10/2004, 13:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Muy sencillo:
Código PHP:
<td>
<?php
if (0!=num_sub($categ['id'])) {
?> 
<a href="11.php?p_id=<?=$categ['id']?>&p_nombre=<?=$categ['nombre']?>">Subcategorías</a>
<?php
} else {
?>
&nbsp;
<?php
}
?>
</td>
siendo sub_num() una funcion que te devuelve el numero de subcategorias que tiene esa categoria. No puedo decir mas porque no veo en ningun sitio de donde salen las categorias.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 13/10/2004, 09:58
Avatar de neofito  
Fecha de Ingreso: noviembre-2003
Mensajes: 138
Antigüedad: 20 años, 5 meses
Puntos: 0
Sigo con el mismo problema, la solución de Josemi es efectiva el problema viene cuando se muestras los resultados y hay productos que tienen subcategorías y otros que no, entonces directamente aparece el link en todos, y ese es mi problema que sólo quiero que aparezca el link en las que tienen subcategorías pero en las que no tienen debe aparecer en blanco. Para verlo más claro imaginaros que al ejecutar el script muestra un resultado en una tabla y 5 registros tienen subcategorías y otros 5 no las tienen aplicando la solución de josemi me sale en los 10 el link "subcategorías" cuando realmente sólo 5 las tienen.

Os pego la función lista_categ_cero por si sirve de ayuda.
Código PHP:
// A pesar del nombre lista todas las categorias de nivel cero o inferiores

function lista_categ_cero($orden,$predecesor) {
  
open();
  if (!isset(
$orden)) $orden='nombre';
  
$query "SELECT id,nombre,descripcion,fecha,predecesor FROM categorias WHERE predecesor='$predecesor' ORDER BY $orden";
  
$result mysql_query($query) or die(mysql_error());
  while(
$categ mysql_fetch_array($result)) {
    
$categs[]=$categ;
  }
  return 
$categs;
  } 

Saludillos

Última edición por neofito; 13/10/2004 a las 11:13
  #5 (permalink)  
Antiguo 13/10/2004, 11:21
Avatar de neofito  
Fecha de Ingreso: noviembre-2003
Mensajes: 138
Antigüedad: 20 años, 5 meses
Puntos: 0
Para acotar mejor mi último mensaje, la duda en concreto sería cómo discriminar los dos resultados y mostrarlos, es decir, si tiene o no subcategorías y luego mostrar en función de si tienen o no subcategorías el link que nos las muestre (pero quiero que me muestre los que las tienen con el link y los que no que no aparezca nada)

Saludillos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:56.