Mostrar distintos campos en consulta

kikoursus
28 de Octubre del 2005
Tengo una página de consulta en php, que muestra una serie de campos dependiendo de diversos criterios de búsqueda, y hasta ahí todo bien.

El problema es que ahora quiero incluir un criterio que dependiendo de sus opciones, me muestre unos campos u otros.

El código que tengo es el siguiente:

<?php
include("conexion.php");
$link=Conectarse();
$result=mysql_query("SELECT * FROM `$basedatos` WHERE `Team` LIKE '%$franquicia%' AND `Position` LIKE '%$posicion%' AND `Name` LIKE '%$search%' AND `Experiencia` LIKE '%$exper%' ORDER BY `$ordenar` $criterio",$link);
?>
Resultados de la búsqueda</font><br>
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR bgcolor="#666666">
<TD><font face="Slicker, Verdana, Arial" size="2">Jugador</font></TD>
<TD><font face="Slicker, Verdana, Arial" size="2">Equipo</font></TD>
<TD><font face="Slicker, Verdana, Arial" size="2">Posición</font></TD>
<TD><font face="Slicker, Verdana, Arial" size="2">Partidos</font></TD>
<TD><font face="Slicker, Verdana, Arial" size="2">Puntos</font></TD>
<TD><font face="Slicker, Verdana, Arial" size="2">Rebotes</font></TD>
<TD><font face="Slicker, Verdana, Arial" size="2">Asistencias</font></TD>
<TD><font face="Slicker, Verdana, Arial" size="2">Tapones</font></TD>
</TR>
<?php

while($row = mysql_fetch_array($result)) {
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>", $row["Name"],$row["Team"],$row["Position"],$row["Games"],$row["Points"],$row["Rebounds"],$row["Assist"],$row["Blocks"]);
}
mysql_free_result($result);
mysql_close($link);
?>
</table>

Y la cosa me funciona bien.

¿Como puedo hacer para que dependiendo del valor de una variable ($mostrar), me cambien tanto las cabeceras, como los campos que se muestran?

Gracias.

uri
28 de Octubre del 2005
No se si es bestia o no, sin fijarme mucho en tu codigo...creo que por lo que dices...te podria funcionar un switch

switch($mostrar)
{
case 'A' : todo lo que kieras ver en el caso A
break;
case 'B': lo mismo para el caso B
break;
}