Foros del Web » Programando para Internet » PHP »

Necesito una Explicacion por favor:

Estas en el tema de Necesito una Explicacion por favor: en el foro de PHP en Foros del Web. Amigos tengo un buscador con 3 combos extraidos de la base de datos todo funcionaba perfecto hasta q hice una prueba en cualquiero de los ...
  #1 (permalink)  
Antiguo 03/11/2009, 15:14
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Necesito una Explicacion por favor:

Amigos tengo un buscador con 3 combos extraidos de la base de datos todo funcionaba perfecto hasta q hice una prueba en cualquiero de los 3 combos busco una dato (equipo, categoria, etc).
Me salen 200 o tal vez 250 resultados q los pagino de 20 en 20 aqui esta el problema ¿cuando pongo pagina siguiente salta osea ya no me muestra los otros restantes pq?
Estuve lleyendo en el foro y me dicen q tengo q manejar sessiones se como manejarlos en lo input pero en lo select la verdad no ??? Me podrian explicar y dar una mao por favor:
Buscador.html:

Código php:
Ver original
  1. <td align="left" colspan="2">
  2.     <fieldset>
  3.     <legend  style="color: #FF0000;">Datos Globales:</legend>
  4.     <div style="padding:3px;">
  5.            
  6.     Categoria:
  7.     <select name="categoria" id="categoria" >
  8.                     <option value=""> </option>
  9.                     <option value="S7"> Sub 7</option>
  10.                     <option value="S9"> Sub 9 </option>
  11.                     <option value="S11"> Sub 11</option>
  12.                     <option value="S13"> Sub 13</option>
  13.                     <option value="S15"> Sub 15</option>
  14.                     <option value="S17"> Sub 17</option>
  15.                     <option value="S19"> Sub 19</option>
  16.                     <option value="PA"> Primera "A"</option>
  17.                     <option value="PB"> Primera "B"</option>
  18.                     <option value="PS"> Primera Asc</option>
  19.                     <option value="SA"> Segunda Asc</option>
  20.                     <option value="MU"> Mutual</option>
  21.                 </select>
  22.    
  23.        
  24.     Equipo:
  25.                 <select name="club" >
  26.                 <option value="">  </option>
  27.                 <?php
  28.                 include('conectar.php');
  29.                 $link = Conectarse();
  30.                 $sqlQueryCat = mysql_query("SELECT * FROM equipos", $link)or die(mysql_error);
  31.                 // creamos un bucle while
  32.                 // que nos muestre todas las categorias
  33.                 // que tenemos guardadas en la BD
  34.                 while($rowCat = mysql_fetch_array($sqlQueryCat)){
  35.                     echo "<option value='$rowCat[nombre_club]'>$rowCat[nombre_club]</option>";
  36.                      echo " selected=\"selected\"";
  37.                       echo ">$rowCat[nombre_club]</option>";
  38.                    
  39.                 }
  40.                 ?>
  41.                 </select>
  42.    
  43.     Estado Civil:
  44.                  <select name="estado" >
  45.                 <option value=""> </option>
  46.                 <option value="Soltero" > Soltero</option>
  47.                 <option value="Casado"> Casado</option>
  48.                 <option value="Viudo"> Viudo</option>
  49.                 </select>
  50.    
  51.     </div>
  52.     </fieldset>
  53.         </td>
busqueda.php
Código php:
Ver original
  1. <table border="0" align="center" id="lista" >
  2.     <tr> <th colspan="14"> Resultados de la Busqueda </th></tr>
  3.     <tr>
  4.     <td id="carlos">Registro</td>
  5.     <td id="carlos">Nombres</td>
  6.     <td id="carlos">Paterno</td>
  7.     <td id="carlos">Materno</td>
  8.     <td id="carlos" align="center">Fecha Nac. </td>
  9.     <td id="carlos" >Nacionalidad </td>
  10.     <td id="carlos" align="center">Club </td>
  11.     <td  id="carlos">Categoria </td>
  12.    
  13.     <td  id="carlos"   colspan="5" align="center">Opciones</td>
  14.     </tr>
  15. <?php
  16.        include ('PHPPaging.lib.php');
  17.      $con = mysql_connect("localhost","root","") or die (mysql_error());
  18.        mysql_select_db("bd_asociacion",$con) or die (mysql_error());
  19.        
  20.                 $categoria = $_SESSION['categoria'] = $_POST['categoria'];     
  21.         $club = $_SESSION['club'] = $_POST['club'];    
  22.         $estado = $_SESSION['estado'] = $_POST['estado'];
  23.         $paging = new PHPPaging;
  24.         $paging->modo('desarrollo');
  25.             $paging->agregarConsulta("SELECT * FROM jugadores Where (categoria='$categoria' or '$categoria'='') and (club='$club' or '$club'='') and (estado='$estado' or '$estado'='') ",$server_link);
  26.            $paging->porPagina(20);
  27.                 $paging->ejecutar();
  28.                     while($row = $paging->fetchResultado()) {
  29.                 echo "<tr>";
  30.                 echo "<td>".$row['registro_fbf']."</td>";
  31.                 echo "<td align=left>".$row['nombre']."</td>";
  32.                 echo "<td align=left>".$row['paterno']."</td>";
  33.                 echo "<td align=left>".$row['materno']."</td>";
  34.                 echo "<td>".$row['fecha_n']."</td>";
  35.                 echo "<td>".$row['nacionalidad']."</td>";
  36.                 echo "<td align=left>".$row['club']."</td>";
  37.                 echo "<td>".$row['categoria']."</td>";
  38.                  ?>
  39.                
  40.                
  41.                 }
  42.                
  43.                
  44.          
  45. ?>
  46.  
  47. </center>
  #2 (permalink)  
Antiguo 03/11/2009, 16:24
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Necesito una Explicacion por favor:

hay algo que no entiendo:
Cita:
Amigos tengo un buscador con 3 combos extraidos de la base de datos todo funcionaba perfecto hasta q hice una prueba en cualquiero de los 3 combos busco una dato (equipo, categoria, etc).
Me salen 200 o tal vez 250 resultados q los pagino de 20 en 20 aqui esta el problema ¿cuando pongo pagina siguiente salta osea ya no me muestra los otros restantes pq?
Estuve lleyendo en el foro y me dicen q tengo q manejar sessiones se como manejarlos en lo input pero en lo select la verdad no ??? Me podrian explicar y dar una mao por favor:
Buscador.html
"Buscador.html" osea, manejas php en html? tienes alguna modificación en tu .htaccess o httpd.conf?
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 03/11/2009, 16:37
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Necesito una Explicacion por favor:

Disculpa Urgido el nombre es buscar.html.php
Y estuvo haciendo esto.
Código php:
Ver original
  1. <td align="left" colspan="2">
  2.     <fieldset>
  3.     <legend  style="color: #FF0000;">Datos Globales:</legend>
  4.     <div style="padding:3px;">
  5.            
  6.     Categoria:
  7.     <select name="categoria" id="categoria" >
  8.                     <option value=""> </option>
  9.                     <option <? if ($categoria == 'S7') echo "selected" ?>  value="S7"> Sub 7</option>
  10.                     <option <? if ($categoria == 'S9') echo "selected" ?> value="S9"> Sub 9 </option>
  11.                     <option <? if ($categoria == 'S11') echo "selected" ?> value="S11"> Sub 11</option>
  12.                     <option <? if ($categoria == 'S13') echo "selected" ?> value="S13"> Sub 13</option>
  13.                     <option <? if ($categoria =='S15'){echo 'Selected';} ?> value="S15"> Sub 15</option>
  14.                     <option value="S17" > Sub 17</option>
  15.                     <option value="S19"> Sub 19</option>
  16.                     <option value="PA"> Primera "A"</option>
  17.                     <option value="PB"> Primera "B"</option>
  18.                     <option value="PS"> Primera Asc</option>
  19.                     <option value="SA"> Segunda Asc</option>
  20.                     <option value="MU"> Mutual</option>
  21.                 </select>
  22.    
  23.        
  24.     Equipo:
  25.                 <select name="club" >
  26.                 <option value="">  </option>
  27.                 <?php
  28.                 include('conectar.php');
  29.                 $link = Conectarse();
  30.                 $sqlQueryCat = mysql_query("SELECT * FROM equipos", $link)or die(mysql_error);
  31.                 // creamos un bucle while
  32.                 // que nos muestre todas las categorias
  33.                 // que tenemos guardadas en la BD
  34.                 while($rowCat = mysql_fetch_array($sqlQueryCat)){
  35.                     //echo "<option value='$rowCat[nombre_club]'>$rowCat[nombre_club]</option>";
  36.                     echo "<option value='".$rowCat["nombre_club"];
  37.                     if($rowCat["nombre_club"]==$_SESSION["club"]) echo " selected='selected'";
  38.                     echo "'> " .$rowCat["nombre_club"]. "</option>";               
  39.                 }
  40.                 ?>
  41.                 </select>
  42.    
  43.     Estado Civil:
  44.                  <select name="estado" >
  45.                 <option value=""> </option>
  46.                 <option value="Soltero" > Soltero</option>
  47.                 <option value="Casado"> Casado</option>
  48.                 <option value="Viudo"> Viudo</option>
  49.                 </select>
  50.    
  51.     </div>
  52.     </fieldset>
  53.         </td>
  54.     </tr>
  55.     <tr>

Pero el problema verdadero es aqui
busqueda_avanzada.php

Código php:
Ver original
  1. <center>
  2. <table border="0" align="center" id="lista" >
  3.     <tr> <th colspan="14"> Resultados de la Busqueda </th></tr>
  4.     <tr>
  5.     <td id="carlos">Registro</td>
  6.     <td id="carlos">Nombres</td>
  7.     <td id="carlos">Paterno</td>
  8.     <td id="carlos">Materno</td>
  9.     <td id="carlos" align="center">Fecha Nac. </td>
  10.     <td id="carlos" >Nacionalidad </td>
  11.     <td id="carlos" align="center">Club </td>
  12.     <td  id="carlos">Categoria </td>
  13.    
  14.     <td  id="carlos"   colspan="5" align="center">Opciones</td>
  15.     </tr>
  16. <?php
  17.        include ('PHPPaging.lib.php');
  18.        $con = mysql_connect("localhost","root","?") or die (mysql_error());
  19.           mysql_select_db("bd_asociacion",$con) or die (mysql_error());
  20.       if (isset($_POST["categoria"]) || isset($_POST["club"]) || isset($_POST["estado"])){
  21.        
  22.        
  23.         echo "<br/><b>He entrado!</b><br/>"; // Comprobamos q entra
  24.         $categoria = $_SESSION['categoria'] = $_POST['categoria'];     
  25.         $club = $_SESSION['club'] = $_POST['club'];    
  26.         $estado = $_SESSION['estado'] = $_POST['estado'];
  27.          echo "<br/>POST[categoria]=<b>".$_POST['categoria']."</b><br/>"; // Comprobamos q es correcto
  28.          echo "<br/>POST[club]=<b>".$_POST['club']."</b><br/>"; // Comprobamos q es correcto
  29.          echo "<br/>POST[estado]=<b>".$_POST['estado']."</b><br/>"; // Comprobamos q es correcto
  30.         }
  31.         echo "<br/>SESSION[categoria]=<b>".$_SESSION['categoria']."</b><br/>"; // Comprobamos q es correcto
  32.         echo "<br/>SESSION[club]=<b>".$_SESSION['club']."</b><br/>"; // Comprobamos q es correcto
  33.         echo "<br/>SESSION[estado]=<b>".$_SESSION['estado']."</b><br/>"; // Comprobamos q es correcto  
  34.        
  35.         if ($_SESSION['categoria'] != $_POST['categoria'])
  36.             $_SESSION['categoria'] = $_POST['categoria'];
  37.        
  38.         if(!empty($_SESSION['categoria']))
  39.         {
  40.         $categoria = addslashes($_SESSION['categoria']);    
  41.             $paging = new PHPPaging;
  42.             $paging->modo('desarrollo');
  43.             $paging->agregarConsulta("SELECT * FROM jugadores Where  (categoria='$categoria' or '$categoria'='') and (club='$club' or '$club'='') and (estado='$estado' or '$estado'='')  ",$server_link);
  44.                  $paging->porPagina(20);
  45.                      $paging->paginasAntes(4, 10, 20);
  46.                         $paging->paginasDespues(4, 10, 20);  
  47.                         $paging->ejecutar();
  48.        
  49.                         while($row = $paging->fetchResultado()) {
  50.                    echo "<tr>";
  51.                 echo "<td>".$row['registro_fbf']."</td>";
  52.                 echo "<td align=left>".$row['nombre']."</td>";
  53.                 echo "<td align=left>".$row['paterno']."</td>";
  54.                 echo "<td align=left>".$row['materno']."</td>";
  55.                 echo "<td>".$row['fecha_n']."</td>";
  56.                 echo "<td>".$row['nacionalidad']."</td>";
  57.                 echo "<td align=left>".$row['club']."</td>";
  58.                 echo "<td>".$row['categoria']."</td>";
  59.                  ?>
  60.                    
  61.                 echo "</tr>";  
  62.                
  63.                 }
  64.                
  65.                 echo "<tr>";
  66.                
  67.                
  68.       }
  69.       else
  70.       { echo "no me funciona";}
  71.          
  72. ?>
  73.  
  74. </center>

El la primera pagina todo es correcto imprime las $_post['categoria'] y session['categoria'] correctamente pero cuando pasa a la siguiente pagina me imprime session[categria] correctamente pero se pierde la busqueda.
Creo q tengo q almacenar mi consulta en una variable y volver a repetirla pero no me puedo dar cuenta como debe hacerlo ?
  #4 (permalink)  
Antiguo 03/11/2009, 16:41
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Necesito una Explicacion por favor:

mmmm es que las pasas por POST, la solución que veo más rápida seria usando GET o REQUEST aunque creo que GET quedaria mejor, ya que es lógico que te pase lo que dices ya que no envias por post solo das seguimiento y ya.
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 03/11/2009, 16:49
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Necesito una Explicacion por favor:

Es que mi problema pasa que mi pagina las hago con MVC cuando paso algun valor por get me vota directamente a index. Como podria almacenar esa mi consulta en una variable de session y repetirla ??
  #6 (permalink)  
Antiguo 03/11/2009, 16:52
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Necesito una Explicacion por favor:

pues precisamente con sesiones ... tienes session_start(); al top de tus paginas?
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 03/11/2009, 17:01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Necesito una Explicacion por favor:

Si le mando todos lo parametros correctos y me imprime asi
He entrado!

POST[categoria]=S15

POST[club]=

POST[estado]=Soltero

SESSION[categoria]=S15

SESSION[club]=

SESSION[estado]=Soltero

Aqui le mande la categoria y su estado civil toda va muy bien el problema es q cuando paso a pagina 2 ya no respeta lo que le mande y me muestra todo mezclado pero mis variables de sesion se mantienen y me muestran lo q le mande.
No se como puedo almacenar esa consulta en una variable de sesion y recoger todo mira hago esto pero no me funciona
Código php:
Ver original
  1. if ($_SESSION['categoria'] != $_POST['categoria'])
  2.             $_SESSION['categoria'] = $_POST['categoria'];
Para categoria ??? pero no me funciona
  #8 (permalink)  
Antiguo 03/11/2009, 17:05
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Necesito una Explicacion por favor:

es que ahi re defines $_SESSION veamos, intenta con


Código PHP:
Ver original
  1. if (!($_SESSION['categoria'])){  
  2.                   $_SESSION['categoria'] = $_POST['categoria'];
  3.       }else{
  4.                   // no hacemos nada
  5.       }


dime si funciona, sino le seguimos buscando ;D
__________________
Hospedaje Web al mejor costo!
  #9 (permalink)  
Antiguo 03/11/2009, 17:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Necesito una Explicacion por favor:

GRACIAS URGIDO ERES TODO UN MASTER ME RESULTO
PERO AHORA PARA MI 4 COMBOS PARA Q MANTENGA LA SESSION EN CUALQUIERA DE LOS 4 TENDRIA Q HACER ASI.
Código PHP:
Ver original
  1. if (!($_SESSION['categoria'])){  
  2.                   $_SESSION['categoria'] = $_POST['categoria'];
  3.         }else{
  4.                   // no hacemos nada
  5.         }
  6.         if (!($_SESSION['estado'])){  
  7.                   $_SESSION['estado'] = $_POST['estado'];
  8.         }else{
  9.                   // no hacemos nada
  10.         }
  11.       if (!($_SESSION['nacionalidad'])){  
  12.                   $_SESSION['nacionalidad'] = $_POST['nacionalidad'];
  13.         }else{
  14.                   // no hacemos nada
  15.         }
  16.         if (!($_SESSION['equipo'])){  
  17.                   $_SESSION['estado'] = $_POST['equipo'];
  18.         }else{
  19.                   // no hacemos nada
  20.         }

Muchas Gracias urgido enserio me quitaste de un gran apuro
  #10 (permalink)  
Antiguo 03/11/2009, 17:20
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Necesito una Explicacion por favor:

si, puedes eliminar los else o los puedes dejar por si en un futuro quieres implementar algo ;)

me dá gusto hayas solucionado el problema. Saludos
__________________
Hospedaje Web al mejor costo!
  #11 (permalink)  
Antiguo 03/11/2009, 17:22
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Necesito una Explicacion por favor:

Gracias amigo Urgido
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 12:33.