Foros del Web » Programando para Internet » PHP »

Mostrar distintos campos en consulta

Estas en el tema de Mostrar distintos campos en consulta en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/10/2005, 05:04
 
Fecha de Ingreso: octubre-2005
Mensajes: 33
Antigüedad: 12 años, 1 mes
Puntos: 0
Mostrar distintos campos en consulta

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:

Código PHP:
<?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.

Última edición por Cluster; 27/10/2005 a las 06:49
  #2 (permalink)  
Antiguo 27/10/2005, 06:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Haz un "if" ...
Código PHP:
if ($mostrar=="valor"){
?>
// Tu código HTML con tu cabecera 1 ...
<?
} else {
?>
// el otro código HTML ...si no se cumple el caso 1 ...
<?
}
?>
Y lo mismo en tu
Código PHP:
while($row mysql_fetch_array($result)) { 
   
if (
$mostrar == "valor"){
   
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"]); 
} else {
 
// otra cosa ...
}
   } 
Si tienes vários casos para $mostrar (valores que pueda tomar) .. mejor usa un switch() en lugar de un simple IF() o un montón de if .. elseif ....

Un saludo,
  #3 (permalink)  
Antiguo 27/10/2005, 07:31
 
Fecha de Ingreso: octubre-2005
Mensajes: 33
Antigüedad: 12 años, 1 mes
Puntos: 0
Gracias. Lo probaré.

Solo una aclaración.

El código HTML lo pongo tal cual detrás de //, o no tengo que poner // y poner solo el código.

Es que he estado probando con los if, y no me aclaro mucho con la combinación de HTML y PHP.
  #4 (permalink)  
Antiguo 27/10/2005, 08:20
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 13 años, 7 meses
Puntos: 0
Las // que pone Cluster son para insertar un comentario de una línea en una página PHP. No son código. Lo hace así para decirte dónde has de poner el HTML.

Si escribes HTML puro, ha de ir después del cierre de PHP (?>) que es lo que te viene a decir Cluster. Pero no pongas las // delante del código HTML.
  #5 (permalink)  
Antiguo 27/10/2005, 16:36
 
Fecha de Ingreso: octubre-2005
Mensajes: 33
Antigüedad: 12 años, 1 mes
Puntos: 0
Me funciona correctamente.

Muchas gracias por vuestra ayuda.
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:26.