Foros del Web » Programando para Internet » PHP »

como ordenar resultados de búsqueda?

Estas en el tema de como ordenar resultados de búsqueda? en el foro de PHP en Foros del Web. Como puedo hacer para que los registros de una tabla en mysql aparezcan separados uno de otro en tablas distintas y no todos en una ...
  #1 (permalink)  
Antiguo 26/04/2004, 18:39
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 14 años, 1 mes
Puntos: 0
como ordenar resultados de búsqueda?

Como puedo hacer para que los registros de una tabla en mysql aparezcan separados uno de otro en tablas distintas y no todos en una tabla continua después de hacer una búsqueda.


Ejemplo de como no (así es como lo tengo)

Ejemplo de como si (así es como quiero que se vea, hecho en htm)

Gracias por la ayuda
  #2 (permalink)  
Antiguo 27/04/2004, 09:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías poner el código que usas actualmente .. pero en su base sería:

Si tienes un bucle (while() .. por ejemplo) donde defines "celdas" de tu tabla y esta la defines (la tabla) antes de entrar a tu bucle que lee tus registros .. te saldrá todo junto (bajo la misma tabla) .. si deseas crear "tablas" por registros .. usa la definición de tu tabla (<table ...> y su cierre </table>) en tu bucle

while(....){
<table ...>
<tr .. td ... etc ....
</table>
}

Fijate en el HTML que generas (en tu navegdor ver->código fuente) .. ahí veras que estructura le estas dado. Piensa que "PHP" genera tu código HTML (salida) en función de tu lógica .. (bucles, condiciones .. etc) así que .. imagina simpre que "partes" son las "condicionadas" o repetidas como para ver como quedaría el "HTML/etc" generado.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 27/04/2004, 17:41
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 14 años, 1 mes
Puntos: 0
Ok muchas gracias

La verdad no sé muy bien como hacerle porque apenas voy empezando y no le encuentro tanta relación a la forma en que se visualiza el código de php con el de htm, pero ya esto es algo.

1er. intento

ahora sólo tengo que rascarle a los libros para acomodarlo como quiero

Gracias
  #4 (permalink)  
Antiguo 28/04/2004, 07:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Sobre el tema de que no ves claro como PHP "genera" el código HTML .. imaginate:

trozo 1 HTML

if (.....){ // estructura de control (condicional) PHP
trozo 2 HTML
}

trozo 3 HTML

Si la condición del "if()" (estructura de control) se cumple .. ese trozo 2 HTML será mostrado .. si no se cumple no será mostrado. El trozo 1 y el 3 siempre seran mostrados por qué no hay ninguna estructura de control (if .. bucles .. etc) que determine en que condiciones serán mostrados ..

Si lees el "código" secuencialmente desde el principio al final y vas teniendo encuenta las estrucutras de control que define si se ha de "mostrar" o no (o incluso llamadas a funciones o archivos externos ..) veras como se vá "componiendo" el código de la salida (HTML/javacript .. etc) según se va siguiendo el flujo del código.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 06/05/2004, 10:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 14 años, 1 mes
Puntos: 0
Ya pude organizar la tabla a mi antojo, el problema fue que tuve que incluir el while dentro de <table></table> y ahora todos los resultados salen pegados así

el código que utilizé es
Código PHP:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php mysql_connect("localhost""user""pass")
or die(
"Could not connect to database.");
mysql_select_db("base_01") or
die(
"Cannot select database");               
?>
      
<TABLE width="95%" border=1 cellPadding=0 cellSpacing=0 borderColorLight=#000000 borderColorDark=#d1c4ba>
  <TBODY>
    <?PHP 
    $result 
mysql_query("select * from tabla_01 where Producto='$prod'") or die( mysql_error() );
        while (
$row mysql_fetch_array($result))
    {               
    
?>
    <tr >
        
      <TH ><?PHP echo $row['IdContacto']; ?></TH>
        
      <TH ><?PHP echo $row['Contacto']; ?></TH>
    </tr>
    <tr >
        
      <TH><?PHP echo $row['Producto']; ?></TH>
        
      <TH ><?PHP echo $row['TeléfonoTrabajo']; ?></TH>
    </tr>
    <?PHP
    
}
    
?>
  </TBODY>
</TABLE>

</body>
</html>
intenté separarlos incluyendo la tabla dentro de while y no al revés como aqui , pero no pude

gracias por la ayuda
  #6 (permalink)  
Antiguo 06/05/2004, 12:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Veo que lo solucionastes con el <table> en tu while .. y un <br> por ejemplo (o los que necesites) al final de tu </table><br>

Que problema tienes ahora?.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 06/05/2004, 12:52
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 14 años, 1 mes
Puntos: 0
el primer problema, separar cada consulta de la siguiente, intenté poner un <br> al terminar la tabla pero se escribió al final de la página y luego intenté lo primero que me dijiste, poner dentro del bucle while la tabla

while(....){
<table ...>
<tr .. td ... etc ....
</table>
}

pero para poner el while, abrí una nueva sentencia de php y no lo reconoció porque quedaba una sentencia dentro de la otra.

al final hice la sentencia fuera de la tabla y los resultados ya aparecen en htm en tablas separadas, pero sin espacio, para lo que aumenté un <br> cerca del final, aqui

Código PHP:
<TH ><?PHP echo $row['TeléfonoTrabajo']; ?></TH>
    </tr>
    <?PHP
    
}
    
?><br> // espacio aumentado
  </TBODY>
el problema es que ésto únicamente separa la última tabla de las demás y las primeras quedan juntas

Este es el código completo, y aqui esta la página

Código PHP:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php mysql_connect("localhost""user""pass")
or die(
"Could not connect to database.");
mysql_select_db("database_01") or
die(
"Cannot select database");               
    
$result mysql_query("select * from tabla_01 where Producto='$prod'") or die( mysql_error() );
        while (
$row mysql_fetch_array($result))
    {               
    
?>
      
<TABLE width="600" border=1 cellPadding=0 cellSpacing=0 borderColorLight=#000000 borderColorDark=#d1c4ba>
  <TBODY>


    <tr >
        
      <TH width="150" ><?PHP echo $row['IdContacto']; ?></TH>
        
      <TH width="450" ><?PHP echo $row['Contacto']; ?></TH>
    </tr>
    <tr >
        
      <TH><?PHP echo $row['Producto']; ?></TH>
        
      <TH ><?PHP echo $row['TeléfonoTrabajo']; ?></TH>
    </tr>
    <?PHP
    
}
    
?><br>
  </TBODY>
</TABLE>
</body>
</html>
lo que quiero es que todas las tablas tengan un espacio entre cada una

gracias
  #8 (permalink)  
Antiguo 06/05/2004, 13:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 14 años, 1 mes
Puntos: 0
Mensaje

ya lo resolví, lo único que hice fue cambiar el lugar del <br> que agregué, en lugar de ponerlo así:

Código PHP:
  </tr>
    <?PHP
    
}
    
?><br>
  </TBODY>
lo puse así

Código PHP:
  </tr>
    <br><?PHP
    
}
    
?>
  </TBODY>
Gracias por la ayuda Cluster
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 07:41.