Foros del Web » Programando para Internet » PHP »

Paginar resultado de consulta sql con php

Estas en el tema de Paginar resultado de consulta sql con php en el foro de PHP en Foros del Web. Mirad chicos este es el código que he hecho para presentar todos los resultados del tirón: //------ <?php if($keyword){ $db=mysql_connect("localhost","root ",""); mysql_select_db("empresa",$db); if($value==id){ $sql="SELECT * ...
  #1 (permalink)  
Antiguo 31/01/2002, 07:58
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Paginar resultado de consulta sql con php

Mirad chicos este es el código que he hecho para presentar todos los resultados del tirón:
//------
<?php
if($keyword){
$db=mysql_connect("localhost","root ","");
mysql_select_db("empresa",$db);
if($value==id){
$sql="SELECT * FROM personal
WHERE id='$keyword'";
}
else if($value==S){
$sql="SELECT * FROM personal
WHERE nombre like '%$keyword%'";
}
else if($value==C){
$sql="SELECT * FROM personal
WHERE profesion like '%$keyword%'";
}
else{
$sql="SELECT * FROM personal
WHERE fecha like '%$keyword%'";
}
$result=mysql_query($sql);
if($myrow=mysql_fetch_array($result))
{
echo "<Center><font size=4 color=red face=arial><b>Resultados:</font>\n";
echo "<table border=0 bordercolorlight=white bordercolordark=black>\n";
do{
echo "Nombre: ".$myrow[nombre]."<br>\n";
echo "Profesión: ".$myrow["profesion"]."<br>\n";
echo "Fecha: ".$myrow[fecha]."<br>\n";
}while($myrow=mysql_fetch_array($result));

}
else{
echo "<center><font color=red face=arial size=4>\n";
printf("No Se Encontraron Resultados Para La Busqueda!\n");
}
}
?>
---//

La cuestión es ¿Como quedaría mi código si quisiese paginar correctamente los resultados de 10 en 10 digamos que a lo largo de 16 pàginas?

Gracias por vuestro tiempo leyendo esto un saludo.
Esperaré vuestra respuesta. Pues tengo ganas de acabar el buscador de la web www.downstation.com a ver si os gusta la temática. Es una web para todo el mundo y sería de gran ayuda que le acabasemos el buscador.
--------------------------------
Atentamente,
Luis A.
[email protected]

  #2 (permalink)  
Antiguo 31/01/2002, 08:47
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

es algo relativamente sencillo, el mysql tiene una sentencia LIMIT, de esta forma podemos obtener una parte de un resultset, sin traer todo, por ejemplo

<pre>select * from personal limit 0,10 </pre>

esto traera los primeros 10 resultados, ya que se posará sobre la posición 0 del result y traera las primeras 10 ocurrencias.
Utilizando esto podemos armar una paginacion facilmente, algo asi...

el script recibira como parametros los que ya recibia tu script mas el parametro pag, que nos servira para saber que pagina mostrar, y en caso de no recibirlo lo pondremos en 1, para interpretar correctamente los datos a buscar, cuando los pasemos por GET (en el url) en la paginacion, les haremos un urlencode primero, entonces al comienzo del script debemos hacer urldecode.

<pre>$keyword=urldecode($keyword);
$value=urldecode($value); </pre>

primero obtienes el total de resultados para esto deberas separar la construccion de la sentencia sql en dos partes, una como la que ya tienes que solo armara la clausula WHERE, de modo tal que ese string quede algo asi
<pre>$sqlWhere=&quot;WHERE nombre like '$keyword'&quot;;[code]
luego otra parte que se encargara de calcular la cantidad de paginas, y ver que parte del result se debe mostrar, algo asi
[code]
if(empty($pag)) { $pag=1; }
// obtenemos el total
$sql=&quot;select count(*) from personal &quot;.$sqlWhere;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
//calculamos las paginas, redondeando hacia arriba el resultado
$paginas=ceil($total / 10);
//calculamos la posicion a mostrar
$pos=($pag - 1) * 10;
//obtenemos los datos
$sql=&quot;select * from personal limit $pos,10&quot;
$result=mysql_query($sql);


// aqui sigue todo tu codigo para mostrar el resultado


//ahora mostramos la paginacion al pie
for($i=1;$i&lt;=$paginas;$i++)
{
if($i&lt;&gt;$pos)
{
print(&quot; &lt;a href='&quot;.$PHP_SELF.&quot;?pag=$i&amp;value=&qu ot;.urlencode($value).&quot;&amp;keyword=&quot;.ur lencode($keyword).&quot;'&gt;$i&lt;/a&gt; &quot;);
}
else
{
print(&quot; $i &quot;);
}
}
</pre>
  #3 (permalink)  
Antiguo 01/02/2002, 06:01
Avatar de PeiShar  
Fecha de Ingreso: abril-2001
Ubicación: España
Mensajes: 125
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

En mi caso como lo haría? :( <pre> &lt;table width=&quot;100%&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; align=&quot;center&quot;&gt;
&lt;tr&gt;
&lt;td height=&quot;198&quot; align=&quot;center&quot; valign=&quot;top&quot;&gt;

&lt;table width=&quot;100%&quot; border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot; align=&quot;center&quot;&gt;
&lt;tr align=&quot;center&quot; valign=&quot;middle&quot; class=&quot;tabla_sup&quot;&gt;
&lt;td width=&quot;20%&quot; height=&quot;30&quot;&gt;Denominaci&amp;oacute;n/Entidad&lt;/td&gt;
&lt;td width=&quot;29%&quot; height=&quot;30&quot;&gt;Calle&lt;/td&gt;
&lt;td width=&quot;7%&quot; height=&quot;30&quot;&gt;C.P.&lt;/td&gt;
&lt;td width=&quot;22%&quot; height=&quot;30&quot;&gt;Localidad&lt;/td&gt;
&lt;td width=&quot;12%&quot; height=&quot;30&quot;&gt;
&lt;div align=&quot;center&quot;&gt;Tel&amp;eacute;fono&lt ;br&gt;
Fax&lt;br&gt;
E-mail &lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;?php
include(&quot;php_iaj/cij/conex.php&quot;);
$link=Conectarse();
$result=mysql_query(&quot;SELECT * FROM cij WHERE provincia='$provincia' ORDER BY localidad&quot;,$link);

WHILE ($row=MYSQL_FETCH_ROW($result))
$number = mysql_numrows($result);
if (!$number) print(&quot;&lt;font face='verdana' size='1'&gt;En breve ...&lt;/font&gt;&quot;);

$i = 0;

WHILE ($i &lt; $number):
$nombre = mysql_result($result,$i,&quot;nombre&quot;);
$entidad = mysql_result($result,$i,&quot;entidad&quot;);
$localidad = mysql_result($result,$i,&quot;localidad&quot;);
$direccion = mysql_result($result,$i,&quot;direccion&quot;);
$cp = mysql_result($result,$i,&quot;cp&quot;);
$tfno1 = mysql_result($result,$i,&quot;tfno1&quot;);
$fax = mysql_result($result,$i,&quot;fax&quot;);
$email = mysql_result($result,$i,&quot;email&quot;);
if ($i%2 == 0) {
PRINT &quot;&lt;tr class='tabla_1'&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $nombre , $entidad&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $direccion&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $cp&lt;/font&gt;&lt;/td&gt;

sigue... </pre>
  #4 (permalink)  
Antiguo 01/02/2002, 06:06
Avatar de PeiShar  
Fecha de Ingreso: abril-2001
Ubicación: España
Mensajes: 125
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

<pre>&lt;td&gt;&lt;font class='text_negro8'&gt; $localidad&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $tfno1&lt;br&gt;$fax&lt;br&gt;&lt;a href='mailto:$email'&gt;&lt;img src='images/iconos/email.gif' border='0' alt='$email'&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&quot;;
} else {
PRINT &quot;&lt;tr class='tabla_2'&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $nombre , $entidad&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $direccion&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $cp&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $localidad&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font class='text_negro8'&gt; $tfno1&lt;br&gt;$fax&lt;br&gt;&lt;a href='mailto:$email'&gt;&lt;img src='images/iconos/email.gif' border='0' alt='$email'&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&quot;;
}
$i++;
ENDWHILE;
?&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; </pre>
  #5 (permalink)  
Antiguo 01/02/2002, 20:22
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Seria este código correcto?
<pre>&lt;html&gt;
&lt;body&gt;
&lt;?php
$keyword=urldecode($keyword);
$value=urldecode($value);
if($keyword){
$db=mysql_connect(&quot;localhost&quot;,&quot;root &quot;,&quot;&quot;);
mysql_select_db(&quot;empresa&quot;,$db);
if($value==id){
$sql=&quot;SELECT * FROM personal LIMIT 0,10
WHERE id='$keyword'&quot;;
}
else if($value==nombre_1){
$sql=&quot;SELECT * FROM personal LIMIT 0,10
WHERE nombre_1 like '%$keyword%'&quot;;
}
else if($value==laboratorio){
$sql=&quot;SELECT * FROM personal LIMIT 0,10
WHERE laboratorio like '%$keyword%'&quot;;
}
else{
$sql=&quot;SELECT * FROM personal LIMIT 0,10
WHERE fecha like '%$keyword%'&quot;;
}
$sqlWhere=&quot;WHERE nombre_1 like '$keyword'&quot;;
if(empty($pag)) { $pag=1; }
$sql=&quot;select count(*) from personal &quot;.$sqlWhere;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
$paginas=ceil($total / 10);
$pos=($pag - 1) * 10;
$sql=&quot;select * from personal limit $pos,10&quot;;
$result=mysql_query($sql);
if ($myrow=mysql_fetch_array($result)){
echo &quot;&lt;font size=4 color=red face=arial&gt;&lt;b&gt;VISITAS DE LABORATORIOS:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;ENERO&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td width='80%' bgcolor='#657085'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;DÍA&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 1&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 2&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 3&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 4&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
do
{
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;&quot;.$myrow[&quot;fecha&quot;].&quot;&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_1&quot;].&quot;
&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%' width='20%'&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='white'colspan=4 width='100%'&gt;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
}

while($myrow=mysql_fetch_array($result));
echo &quot;&lt;/table&gt;\n&quot;;
}
else {
echo &quot;No Se Encontraron Resultados Para La Busqueda!\n&quot;;
}
?&gt;
&lt;?php
for($i=1;$i&lt;=$paginas;$i++)
{
if($i&lt;&gt;$pos)
{
print(&quot; &lt;a href='&quot;.$PHP_SELF.&quot;?pag=$i&amp;value=&qu ot;.urlencode($value).&quot;&amp;keyword=&quot;.ur lencode($keyword).&quot;'&gt;$i&lt;/a&gt; &quot;);
}
else
{
print(&quot; $i &quot;);
}
}
?&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font size=4 color=black face=arial&gt;&lt;b&gt;ADMINISTRAR BASE DE DATOS.&lt;/b&gt;&lt;/font&gt;
&lt;br&gt;
1. &lt;a href=&quot;administra.html&quot;&gt;INTRODUCIR NUEVOS DATOS.&lt;/a&gt;&lt;br&gt;
2. &lt;a href=&quot;datos.php&quot;&gt;VER VISITAS.&lt;/a&gt;
&lt;br&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
  #6 (permalink)  
Antiguo 01/02/2002, 20:25
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Parece que no me funciona ¿que me falla CHUBU? ¿Puedes ayuadarme? casi lo tengo.

Saludos, esto creo que completado le ayudará a todos a solucionar su problema o a orientarlos mejor.

Atentamente,
Luis A.
  #7 (permalink)  
Antiguo 02/02/2002, 07:23
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Creo que puse demasiado código. Luego se queja la gente de que no hay suficientes, por la red, pero es que lo se miran bien los foros ;) bueno espero no haberme pasado y que el aburrimiento abata a quien intente ayudarme y se quede a medias o el tedioso trabajo de observar y buscar el fallo le haga cometer uno en su respuesta.

Atentamente,
Luis A.

A la espera de la solución haciendo rompecabezas con código php. ;)
  #8 (permalink)  
Antiguo 02/02/2002, 09:02
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

He intentado cambiando el código a este:
<pre> &lt;?php
if(!empty($keyword)){
$db=mysql_connect(&quot;localhost&quot;,&quot;root &quot;,&quot;&quot;);
mysql_select_db(&quot;empresa&quot;,$db);
if($value==&quot;nombre_1&quot;){
$sql=&quot;SELECT * FROM personal LIMIT 0,10
WHERE nombre_1 like '%$keyword%'&quot;;
}
else if($value==&quot;laboratorio&quot;){
$sql=&quot;SELECT * FROM personal LIMIT 0,10
WHERE laboratorio like '%$keyword%'&quot;;
}
$sqlWhere=&quot;WHERE nombre_1 like '%$keyword%'&quot;;
if(empty($pag)){
$pag=1;
}
$sql=&quot;select count(*) from personal&quot;.$sqlWhere;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
$paginas=ceil($total / 10);
$pos=($pag - 1) * 10;
$sql=&quot;select * from personal limit $pos,10&quot;;
$res=mysql_query($sql);
if ($myrow=mysql_fetch_array($res)){
echo &quot;&lt;font size=4 color=red face=arial&gt;&lt;b&gt;VISITAS DE LABORATORIOS:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;ENERO&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td width='80%' bgcolor='#657085'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;DÍA&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 1&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 2&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 3&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 4&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
do
{
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;&quot;.$myrow[&quot;fecha&quot;].&quot;&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_1&quot;].&quot;
&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%' width='20%'&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='white'colspan=4 width='100%'&gt;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
}

while($myrow=mysql_fetch_array($res));
echo &quot;&lt;/table&gt;\n&quot;;
}
else {
echo &quot;No Se Encontraron Resultados Para La Busqueda!\n&quot;;
}
?&gt;
&lt;?php
for($i=1;$i&lt;=$paginas;$i++)
{
if($i&lt;&gt;$pos)
{
print(&quot; &lt;a href='&quot;.$PHP_SELF.&quot;?pag=$i&amp;value=&qu ot;.urlencode($value).&quot;&amp;keyword=&quot;.ur lencode($keyword).&quot;'&gt;$i&lt;/a&gt; &quot;);
}
else
{
print(&quot; $i &quot;);
}
}
?&gt; </pre>
  #9 (permalink)  
Antiguo 02/02/2002, 15:45
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

maya2, tu error esta en el armado del where mira esto

<pre>if(!empty($keyword))
{
$db=mysql_connect(&quot;localhost&quot;,&quot;root &quot;,&quot;&quot;);
mysql_select_db(&quot;empresa&quot;,$db);
if($value==&quot;nombre_1&quot;)
{
$sql=&quot;WHERE nombre_1 like '%$keyword%'&quot;;
}
elseif($value==&quot;laboratorio&quot;)
{
$sql=&quot;WHERE laboratorio like '%$keyword%'&quot;;
}
if(empty($pag)) { $pag=1; }
$sql=&quot;select count(*) from personal &quot;.$sqlWhere;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
$paginas=ceil($total / 10);
$pos=($pag - 1) * 10;
$sql=&quot;select * from personal &quot;.$sqlWhere.&quot; limit $pos,10&quot;;
$res=mysql_query($sql);
// ... aqui sigue tu codigo del mensaje anterior
</pre>

espero que te funcione

saludos

  #10 (permalink)  
Antiguo 02/02/2002, 22:00
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Entonces este sería el código segun me dices tu. Pero no me funciona, mira a ver q tal ahora. Sigo provando :(
<pre>if(!empty($keyword))
{
$db=mysql_connect(&quot;localhost&quot;,&quot;root &quot;,&quot;&quot;);
mysql_select_db(&quot;empresa&quot;,$db);
if($value==&quot;nombre_1&quot;)
{
$sql=&quot;WHERE nombre_1 like '%$keyword%'&quot;;
}
elseif($value==&quot;laboratorio&quot;)
{
$sql=&quot;WHERE laboratorio like '%$keyword%'&quot;;
}
$sqlWhere=&quot;WHERE nombre_1 like '%$keyword%'&quot;;
if(empty($pag)) { $pag=1; }
$sql=&quot;select count(*) from personal &quot;.$sqlWhere;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
$paginas=ceil($total / 10);
$pos=($pag - 1) * 10;
$sql=&quot;select * from personal &quot;.$sqlWhere.&quot; limit $pos,10&quot;;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
$paginas=ceil($total / 10);
$pos=($pag - 1) * 10;
$sql=&quot;select * from personal limit $pos,10&quot;;
$res=mysql_query($sql);
if ($myrow=mysql_fetch_array($res))
{
echo &quot;&lt;font size=4 color=red face=arial&gt;&lt;b&gt;VISITAS DE LABORATORIOS:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;\n&quot;;echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;ENERO&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td width='80%' bgcolor='#657085'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;DÍA&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 1&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 2&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 3&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 4&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;do{ echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;&quot;.$myrow[&quot;fecha&quot;].&quot;&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_1&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;; echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%' width='20%'&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='white'colspan=4 width='100%'&gt;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
}
while($myrow=mysql_fetch_array($res));
echo &quot;&lt;/table&gt;\n&quot;;
}
else
{
echo &quot;No Se Encontraron Resultados Para La Busqueda!\n&quot;;
}
?&gt;
&lt;?php
for($i=1;
$i&lt;=$paginas;$i++)
{
if($i&lt;&gt;$pos)
{
print(&quot; &lt;a href='&quot;.$PHP_SELF.&quot;?pag=$i&amp;value=&qu ot;.urlencode($value).&quot;&amp;keyword=&quot;.ur lencode($keyword).&quot;'&gt;$i&lt;/a&gt; &quot;);
}
else
{
print(&quot; $i &quot;);
}
}
?&gt; </pre>
  #11 (permalink)  
Antiguo 02/02/2002, 22:05
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Lo siento estaba mal y repeti partes, ¿este seria el código Chubu? Pues no me funciona...
<pre>
&lt;?php
if(!empty($keyword))
{
$db=mysql_connect(&quot;localhost&quot;,&quot;root &quot;,&quot;&quot;);
mysql_select_db(&quot;empresa&quot;,$db);
if($value==&quot;nombre_1&quot;)
{
$sql=&quot;WHERE nombre_1 like '%$keyword%'&quot;;
}
elseif($value==&quot;laboratorio&quot;)
{
$sql=&quot;WHERE laboratorio like '%$keyword%'&quot;;
}
$sqlWhere=&quot;WHERE nombre_1 like '%$keyword%'&quot;;
if(empty($pag)) { $pag=1; }
$sql=&quot;select count(*) from personal &quot;.$sqlWhere;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
$paginas=ceil($total / 10);
$pos=($pag - 1) * 10;
$sql=&quot;select * from personal limit $pos,10&quot;;
if ($myrow=mysql_fetch_array($res))
{
echo &quot;&lt;font size=4 color=red face=arial&gt;&lt;b&gt;VISITAS DE LABORATORIOS:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;\n&quot;;echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;ENERO&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td width='80%' bgcolor='#657085'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;DÍA&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 1&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 2&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 3&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 4&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;do{ echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;&quot;.$myrow[&quot;fecha&quot;].&quot;&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_1&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;; echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%' width='20%'&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='white'colspan=4 width='100%'&gt;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
}
while($myrow=mysql_fetch_array($res));
echo &quot;&lt;/table&gt;\n&quot;;
}
else
{
echo &quot;No Se Encontraron Resultados Para La Busqueda!\n&quot;;
}
?&gt;
&lt;?php
for($i=1;
$i&lt;=$paginas;$i++)
{
if($i&lt;&gt;$pos)
{
print(&quot; &lt;a href='&quot;.$PHP_SELF.&quot;?pag=$i&amp;value=&qu ot;.urlencode($value).&quot;&amp;keyword=&quot;.ur lencode($keyword).&quot;'&gt;$i&lt;/a&gt; &quot;);
}
else
{
print(&quot; $i &quot;);
}
}
?&gt;
</pre>
  #12 (permalink)  
Antiguo 02/02/2002, 22:34
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

lo has mezclado todo
reemplaza esto

<pre>$sql=&quot;select * from personal limit $pos,10&quot;; </pre>

por esot

<pre>$sql=&quot;select * from personal &quot;.$sqlWhere.&quot; limit $pos,10&quot;; </pre>

ahi debe andar

saludos

  #13 (permalink)  
Antiguo 03/02/2002, 09:12
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

No me funciona así chubu, me da dos parse errors en lugar de uno,

Mira, me faltaba un bracket en
//--
Cambié este:

else
{
echo &quot;No Se Encontraron Resultados Para La Busqueda!\n&quot;;
}


Por este:

{
echo &quot;No Se Encontraron Resultados Para La Busqueda!\n&quot;;
}
} (me habia dejao este de aquí)

-//
La cuestion es que ahora solo me sale como resultado &quot;No se Encontraron...&quot;etc. Y el numero 1 enlazado a la url que sale en la barra del navegador que es el request q hice a la pagina.php desde el formulario_de_busqeda.html en mi caso:
//--
http://maya/web_php3/datos.php?value=nombre_1&amp;keyword=Antonio
--//
Bueno por lo menos ahora no me da error, a ver si consigo q pagine y almenos q aparezcan los resultados. ;)

Os dejo el nuevo código, que no ha variado mucho, para que lo analiceis cuando tengais un rato. Esperaré vuestras respuestas.
<pre>
&lt;?php
if(!empty($keyword))
{
$db=mysql_connect(&quot;localhost&quot;,&quot;root &quot;,&quot;&quot;);
mysql_select_db(&quot;empresa&quot;,$db);
if($value==&quot;nombre_1&quot;)
{
$sql=&quot;WHERE nombre_1 like '%$keyword%'&quot;;
}
elseif($value==&quot;laboratorio&quot;)
{
$sql=&quot;WHERE laboratorio like '%$keyword%'&quot;;
}
if(empty($pag)) { $pag=1; }
$sql=&quot;select count(*) from personal &quot;.$sqlWhere;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
$paginas=ceil($total / 10);
$pos=($pag - 1) * 10;
$sql=&quot;select * from personal limit $pos,10&quot;;
if ($myrow=mysql_fetch_array($res))
{
echo &quot;&lt;font size=4 color=red face=arial&gt;&lt;b&gt;VISITAS DE LABORATORIOS:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;\n&quot;;echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;ENERO&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td width='80%' bgcolor='#657085'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;DÍA&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 1&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 2&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 3&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 4&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;do{ echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;&quot;.$myrow[&quot;fecha&quot;].&quot;&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_1&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;; echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%' width='20%'&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='white'colspan=4 width='100%'&gt;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
}
while($myrow=mysql_fetch_array($res));
echo &quot;&lt;/table&gt;\n&quot;;
}
else
{
echo &quot;No Se Encontraron Resultados Para La Busqueda!\n&quot;;
}
?&gt;
&lt;?php
for($i=1;
$i&lt;=$paginas;$i++)
{
if($i&lt;&gt;$pos)
{
print(&quot; &lt;a href='&quot;.$PHP_SELF.&quot;?pag=$i&amp;value=&qu ot;.urlencode($value).&quot;&amp;keyword=&quot;.ur lencode($keyword).&quot;'&gt;$i&lt;/a&gt; &quot;);
}
else
{
print(&quot; $i &quot;);
}
}
?&gt; </pre>

  #14 (permalink)  
Antiguo 03/02/2002, 09:15
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Lo siento son tan parecidos que volví a poner el anterior. Este es el correcto:

<pre>
&lt;?php
if(!empty($keyword))
{
$db=mysql_connect(&quot;localhost&quot;,&quot;root &quot;,&quot;&quot;);
mysql_select_db(&quot;empresa&quot;,$db);
if($value==&quot;nombre_1&quot;)
{
$sql=&quot;WHERE nombre_1 like '%$keyword%'&quot;;
}
elseif($value==&quot;laboratorio&quot;)
{
$sql=&quot;WHERE laboratorio like '%$keyword%'&quot;;
}
if(empty($pag)) { $pag=1; }
$sql=&quot;select count(*) from personal &quot;.$sqlWhere;
$res=mysql_query($sql);
list($total)=mysql_fetch_row($res);
$paginas=ceil($total / 10);
$pos=($pag - 1) * 10;
$sql=&quot;select * from personal limit $pos,10&quot;;
if ($myrow=mysql_fetch_array($res))
{
echo &quot;&lt;font size=4 color=red face=arial&gt;&lt;b&gt;VISITAS DE LABORATORIOS:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;\n&quot;;echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;ENERO&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td width='80%' bgcolor='#657085'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;DÍA&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 1&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 2&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 3&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 4&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;do{ echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;&quot;.$myrow[&quot;fecha&quot;].&quot;&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_1&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;; echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%' width='20%'&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='white'colspan=4 width='100%'&gt;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
}
while($myrow=mysql_fetch_array($res));
echo &quot;&lt;/table&gt;\n&quot;;
}
else
{
echo &quot;No Se Encontraron Resultados Para La Busqueda!\n&quot;;
}
}
?&gt;
&lt;?php
for($i=1;
$i&lt;=$paginas;$i++)
{
if($i&lt;&gt;$pos)
{
print(&quot; &lt;a href='&quot;.$PHP_SELF.&quot;?pag=$i&amp;value=&qu ot;.urlencode($value).&quot;&amp;keyword=&quot;.ur lencode($keyword).&quot;'&gt;$i&lt;/a&gt; &quot;);
}
else
{
print(&quot; $i &quot;);
}
}
?&gt;
</pre>
  #15 (permalink)  
Antiguo 03/02/2002, 15:47
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

ok veo dos claros problemas

en la linea que dice

<pre>$sql=&quot;select * from personal limit $pos,10&quot;; </pre>

deberia decir

<pre>$sql=&quot;select * from personal &quot;.$sqlWhere.&quot; limit $pos,10&quot;; </pre>

ademas, debajo de esa linea debes poner otra asi

<pre>$res=mysql_query($sql); </pre>

saludos

  #16 (permalink)  
Antiguo 04/02/2002, 10:30
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Gracias de todos modos CHUBU, aunque ya me funciona y es de otra manera:
<pre>
&lt;?php
$db=mysql_connect(&quot;localhost&quot;,&quot;root &quot;,&quot;&quot;);
mysql_select_db(&quot;empresa&quot;,$db);
IF ($num&gt;0) { $n=$num;} ELSE { $n=0; }
$conta=&quot;SELECT id FROM personal &quot;;
$result2=mysql_query($conta,$db);
$quants=mysql_num_rows($result2);
$sql=&quot;SELECT * FROM personal ORDER BY fecha ASC LIMIT &quot;.$n.&quot;, 5 &quot;;
$result=mysql_query($sql,$db);
if ($myrow=mysql_fetch_array($result)){
echo &quot;&lt;font size=4 color=red face=arial&gt;&lt;b&gt;VISITAS DE LABORATORIOS:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#657085' width='10%' class='estilo1'&gt;&lt;center&gt;&lt;script language='JavaScript'&gt;
&lt;!--
var today = new Date();
date = today.getDate();
month = today.getMonth();
year = today.getYear();
day = today.getDay();
function makeArray() {
for (i = 0; i&lt;makeArray.arguments.length; i++)
this[I] = makeArray.arguments;
}
var monthname = new makeArray('ENERO','FEBRERO','MARZO','ABRIL','MAYO' ,'JUNIO','JULIO','AGOSTO','SEPTIEMBRE','OCTUBRE',' NOVIEMBRE','DICIEMBRE');
var thismonth = monthname[month];
document.write(thismonth);
//--&gt;
&lt;/script&gt;&lt;/center&gt;&lt;/td&gt;&lt;td width='80%' bgcolor='#657085'&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#659999' width='5%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;ID&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#657085' width='10%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;DÍA&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 1&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 2&lt;/b&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&lt;b&gt;VISITA 3&lt;/b&gt;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&lt;b&gt;VISITA 4&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;\n&quot;;
echo &quot;&lt;table border=0 cellpadding=3 cellspacing=0 width=80%&gt;\n&quot;;
do
{
echo &quot;&lt;tr&gt;&lt;td bgcolor='#659999' width='5%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;&quot;.$myrow[&quot;id&quot;].&quot;&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#657085' width='5%'&gt;&lt;center&gt;&lt;font color='white'&gt;&lt;b&gt;&quot;.$myrow[&quot;fecha&quot;].&quot;&lt;/b&gt;&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_1&quot;].&quot;
&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;nombre_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;nombre_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='#659999'&gt;&lt;/td&gt;&lt;td bgcolor='#657085' width='10%' width='20%'&gt;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_2&quot;].&quot;&lt;/td&gt;&lt;td bgcolor='#BCC1CD' width='20%'&gt;&quot;.$myrow[&quot;laboratorio_3&quot;].&quot;&lt;/td&gt;&lt;td width='20%' bgcolor='#FFF7D7'&gt;&quot;.$myrow[&quot;laboratorio_4&quot;].&quot;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td bgcolor='white'colspan=5 width='100%'&gt;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
}

while($myrow=mysql_fetch_array($result));
echo &quot;&lt;/table&gt;\n&quot;;
}
echo &quot;&lt;table border='0' width='80%'&gt;&lt;tr&gt;&lt;td colspan='2'&gt;&lt;hr noshade&gt;&lt;/td&gt;&lt;/tr&gt;\n&quot;;
echo &quot;&lt;tr&gt;&lt;td align='left'&gt; Encontrados &quot;.$quants.&quot; resultados &lt;/td&gt;\n&quot;;
echo &quot;&lt;td align='right'&gt;\n&quot;;
echo &quot;&lt;font face='Arial' size='-1' color='#336699'&gt;Páginas: &lt;/font&gt;\n&quot;;

for ($i=0; $i&lt; $quants; $i=$i+5)
{
$a=$a+1;
IF ($n==$i)
{
echo &quot;&lt;A HREF='datos.php?num=&quot;.$i.&quot;'&gt;[&quot;.$a.&quot;]&lt;/A&gt;\n&quot;;
}
ELSE
{
echo &quot;&lt;A HREF='datos.php?num=&quot;.$i.&quot;'&gt;[&quot;.$a.&quot;]&lt;/A&gt;\n&quot;;
}
}
echo &quot;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;\n&quot;;
mysql_close ($db);
?&gt; </pre>
  #17 (permalink)  
Antiguo 04/02/2002, 13:05
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Espero que os sirva de ayuda este código a todos los q buscabais algo así. Pues funciona perfectamente.
Saludos a todos. Seguid ayudando con el código, a mi me ha ido bién. ;)
  #18 (permalink)  
Antiguo 05/02/2002, 16:23
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Bueno ahora os reto a algo que parece sencillo pero... A ver si salis airosos de paso se completa el código y a mi me ayuda.
La cuestión es.
Que código sería el necesario para añadir dos enlaces uno ANTERIOR al comienzo de la paginación con números y otro SIGUIENTE después de todos los numeros con enlace para la paginación.

Ahí es na os lo dejo para q lo rumieis. ;)
Atentamente,
Luis A.
  #19 (permalink)  
Antiguo 05/02/2002, 17:45
 
Fecha de Ingreso: diciembre-2001
Mensajes: 451
Antigüedad: 16 años
Puntos: 0
Re: Paginar resultado de consulta sql con php

segun lo que cache, para agregar los links, la cosa es que tu parece que ya tienes el indice de que pagina de resultados estas viendo, por ejemplo estas en la pagina 2 de 5 y si tienes ese numerito, lo puedes mandar como parametro a travez de la url y al recibir los parametros checkear la operacion y si el numero que recibe esta entre los limites si es asi etonces le restas uno y mustras esa pagina como antes , si esta entre los limites puedes hacer que se ponga en la ultima pagina (paginas que tienes por total) o o que quede en la primera, suponiendo que estas apretando el link &quot;anterior&quot;...

esa es la idea...creo...ni lei todo el post ;) pero no creo que haya estado tan mal :)

Piensa Positivo :(
  #20 (permalink)  
Antiguo 06/02/2002, 03:47
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

Bueno la teoria es muy interesante, pero si yo soy capaz de dar tanto código también espero que alguien aporte el suyo si no quiere es libre de hacerlo pero abstenerse los q no pongais código(eso sí comentado, pero code).
CHUBU se lo curra y WEBESTUDIO también es por ellos q puse lo q consegui hacer funcionar por q aunq se que ellos conocen de sobras el metodo de optener esto hay gente q no y a mi me orientaron ellos con su código así q pongo el mio yo para quien este en la situacion en la q yo estube(Y les ayude).
Quien no se para a estudiarlo no hará nada con el por q no lo entenderá.

Luis A.
  #21 (permalink)  
Antiguo 06/02/2002, 07:57
 
Fecha de Ingreso: diciembre-2001
Mensajes: 451
Antigüedad: 16 años
Puntos: 0
Re: Paginar resultado de consulta sql con php

primero que todo, lo que di fue solo una idea, solo lei los posts del principio y la mayoria de los del final, ami tambien me intereso, por eso despues de ver tantas correcciones mejor puse atencion a los ultimos, porke no puedo estar pegado en esta pagina porke en mi trabajo tengo que trabajar tambien ;) , lo lamento si no escribi codigo, pero dentro de eso puedo notar un poco de flojera en ti, ya que lo que preguntaste antes no es tan dificil y se te podria haber ocurrido a ti con un poco de cabeceo, con respecto a que aquellos que no van a escribir codigo, que se abstengan, me parece discriminatorio, pues quizas no te van a dar la respuesta para que tu hagas copy-paste pero quizas te den la escencia de la solucion, la que posteriormente podras implementar. te lo digo esto super en buena, y espero a que no lo tomes a mal, quizas chubu y webstudio tienen el tiempo para escribirte el codigo entero pero otros no lo tenemos.
un saludo a la distancia.
PD: no es optener...es oBtener :P
  #22 (permalink)  
Antiguo 07/02/2002, 15:22
 
Fecha de Ingreso: enero-2002
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Paginar resultado de consulta sql con php

A ver, si te miraste esto porque dices que te interesaba no creo que flojease yo tanto como tu. Ideas las tengo de hecho son las que hacen que platee estas preguntas. Por código no será ya que puse todo mi trabajo en este foro su evolución y finalmente el resultado que es comprovable y funciona además de ser un resultado obtenido por mí. (Para uso de todos...)Ah, yo también trabajo. Puede que haga faltas escribiendo deprisa pero esto no es un foro de ortografía. Tampoco tu te libras con tus faltas ;) &quot;dificil&quot; lleva acento,&quot;codigo&quot; lleva acento, &quot;quizas&quot; lleva acento y tú te los saltas a la torera, por citar algunos. Que yo sepa el español de Chile es el mismo que el del resto a la hora de escribir ;) Bueno a lo que iba si alguien quiere colaborar con el código de esta consulta encantado. CHUBU me guió pero el resultado que yo puse no fue un &quot;copy paste de su código&quot; ;) A ver si dejamos las tonterías para otros foros que esto se va de madre y no se parece a nada de lo que se plantea en la pregunta.

Un saludo, y como no, cualquiera puede postear lo que le de la gana, yo no soy el moderador de este foro ni lo pretendo.
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 16:54.