Foros del Web » Programando para Internet » PHP »

auto llamado de pagina

Estas en el tema de auto llamado de pagina en el foro de PHP en Foros del Web. Estoy haciendo un menú mediante enlaces que lo voy consiguiendo de la tabla categorías pero no logro solucionar bien el envío de variables. este es ...
  #1 (permalink)  
Antiguo 16/06/2012, 11:58
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 8 meses
Puntos: 0
auto llamado de pagina

Estoy haciendo un menú mediante enlaces que lo voy consiguiendo de la tabla categorías pero no logro solucionar bien el envío de variables.

este es mi código:
Código PHP:
Ver original
  1. //desde aqui comienzo a enviar los valores que se pasan por la url
  2. if (!$_GET)//<--primer get
  3. {
  4.     if (mysql_num_rows($respuesta) > 0){
  5.        
  6.        
  7.         while ($row = mysql_fetch_assoc($respuesta)){
  8.       echo '<table><tr><td>
  9.      </td><td><a href="categorias.php?categoria='.$row['categoria'].'">'.$row['categoria'].'</a>
  10.      </td><td>
  11.    </td></tr></table>';
  12. }
  13.  
  14. }
  15. }
  16. else
  17. {
  18.   if (!$_GET)//<--segundo gel
  19.  {
  20.     $categoria=$_GET["categoria"];
  21.     //selecciono la categoria enviada
  22.     $sql="SELECT * FROM productos WHERE categoria='".$categoria."'";
  23.    
  24.     if (mysql_num_rows($respuesta) > 0){
  25.        
  26.        
  27.         while ($row = mysql_fetch_assoc($respuesta)){
  28.        echo '<table><tr><td>
  29.      </td><td><a href="categorias.php?que_es='.$row['que_es'].'">'.$row['que_es'].'</a>
  30.      </td><td>
  31.    </td></tr></table>';
  32. }
  33.  
  34. }
  35. }
  36.   else
  37.   {
  38.    
  39.     $que_es=$_GET["que_es"];
  40.    
  41.    
  42.     //selecciono la categoria enviada
  43.     $sql="SELECT * FROM productos WHERE que_es='".$que_es."'";
  44.    
  45.     if (mysql_num_rows($respuesta) > 0){
  46.        
  47.        
  48.         while ($row = mysql_fetch_assoc($respuesta)){
  49.       echo '<table><tr><td>
  50.      </td><td><a href="categorias.php?marca='.$row['marca'].'">'.$row['marca'].'</a>
  51.      </td><td>
  52.    </td></tr></table>';
  53. }
  54.    
  55.     }
  56.     }
  57. }

pero nada mas pasa las variables ?categoria= y ?marca=. osease la primera y la ultima. Y no ?que_es=.
__________________
:cool: aprendiz :cool:
  #2 (permalink)  
Antiguo 16/06/2012, 12:07
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: auto llamado de pagina

Primero antes que nada debes saber bien que es lo que contiene el index 'que_es', si es un string sin espacios/caracteres especiales o no, si tiene espacios o caracteres especiales debes usar urlencode($row['que_es']);...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 16/06/2012, 12:14
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: auto llamado de pagina

Cita:
Iniciado por Nemutagk Ver Mensaje
Primero antes que nada debes saber bien que es lo que contiene el index 'que_es', si es un string sin espacios/caracteres especiales o no, si tiene espacios o caracteres especiales debes usar urlencode($row['que_es']);...
ya le puse unlercode, y no pasa nada.
mira te voy a poner el codigo cuando recien comenze con el y si enviaba bien, pero me faltaba pasar la variable marca, y de ahi ya comenzo el problema.

Código PHP:
Ver original
  1. //desde aqui comienzo a enviar los valores que se pasan por la url
  2. if (!$_GET){
  3.    
  4. if (mysql_num_rows($respuesta) > 0){
  5.        
  6.        
  7.         while ($row = mysql_fetch_assoc($respuesta)){
  8.       echo '<table><tr><td>
  9.      </td><td><a href="categorias.php?categoria='.$row['categoria'].'">'.$row['categoria'].'</a>
  10.      </td><td>
  11.    </td></tr></table>';
  12. }
  13.  
  14. }            
  15. }
  16. //aqui digo si se enviaron los valores entonces:
  17. else {
  18.        
  19.     $categoria=$_GET["categoria"];
  20.    
  21.    
  22.     //selecciono la categoria enviada
  23.     $sql="SELECT * FROM productos WHERE categoria='".$categoria."'";
  24.    
  25.     if (mysql_num_rows($respuesta) > 0){
  26.        
  27.        
  28.         while ($row = mysql_fetch_assoc($respuesta)){
  29.       echo '<table><tr><td>
  30.      </td><td><a href="categorias.php?que_es='.$row['que_es'].'">'.$row['que_es'].'</a>
  31.      </td><td>
  32.    </td></tr></table>';
  33. }                        
  34.    
  35.     }
  36.     }
__________________
:cool: aprendiz :cool:
  #4 (permalink)  
Antiguo 16/06/2012, 12:24
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: auto llamado de pagina

En tu primer código las comparaciones sobre si existe o no GET (que por cierto están mal) no tienen lógica, verifica bien tu código y analizalo, primero verificas si existe o no GET, si no existe entra en el primer bloque (donde imprimes las categorias), si existe (entra en el else) vuelves a verificar si existe o no GET, si no existe imprimes 'que_es' PERO, obviamente no va a entrar en el if PORQUE SE SUPONE QUE SI EXISTE, POR ESO ENTRO EN EL ELSE, así que como pretendes que se imprima?
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 16/06/2012, 12:29
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: auto llamado de pagina

Cita:
Iniciado por Nemutagk Ver Mensaje
En tu primer código las comparaciones sobre si existe o no GET (que por cierto están mal) no tienen lógica, verifica bien tu código y analizalo, primero verificas si existe o no GET, si no existe entra en el primer bloque (donde imprimes las categorias), si existe (entra en el else) vuelves a verificar si existe o no GET, si no existe imprimes 'que_es' PERO, obviamente no va a entrar en el if PORQUE SE SUPONE QUE SI EXISTE, POR ESO ENTRO EN EL ELSE, así que como pretendes que se imprima?
entonces como le digo esas cosas, no tengo ni idea.
__________________
:cool: aprendiz :cool:
  #6 (permalink)  
Antiguo 16/06/2012, 12:35
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: auto llamado de pagina

Primero define bien que es lo que pretendes hacer, de que te sirve verificar si hay variables o no, en todo caso deberías verificar si existe una variable en especifico...

Código PHP:
Ver original
  1. //verifico si existe la variable1
  2. if (isset($_GET['variable1'])) {
  3.      echo 'existe la variable1';
  4. }else {
  5.      if (isset($_GET['variable2'])) {
  6.           echo 'no existe variable1 pero si variable2';
  7.      }else {
  8.           echo 'no existe variable1 ni variable2';
  9.      }
  10. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 16/06/2012, 12:56
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: auto llamado de pagina

Cita:
Iniciado por Nemutagk Ver Mensaje
Primero define bien que es lo que pretendes hacer, de que te sirve verificar si hay variables o no, en todo caso deberías verificar si existe una variable en especifico...

Código PHP:
Ver original
  1. //verifico si existe la variable1
  2. if (isset($_GET['variable1'])) {
  3.      echo 'existe la variable1';
  4. }else {
  5.      if (isset($_GET['variable2'])) {
  6.           echo 'no existe variable1 pero si variable2';
  7.      }else {
  8.           echo 'no existe variable1 ni variable2';
  9.      }
  10. }
Muchas grasias amig, lo he solucionado. Por fin quedo asi:

Código PHP:
Ver original
  1. //desde aqui comienzo a enviar los valores que se pasan por la url
  2. if (!$_GET) //<--primer get
  3. {
  4.     if (mysql_num_rows($respuesta) > 0){
  5.        
  6.        
  7.         while ($row = mysql_fetch_assoc($respuesta)){
  8.       echo '<table><tr><td>
  9.      </td><td><a href="categorias.php?categoria='.$row['categoria'].'">'.$row['categoria'].'</a>
  10.      </td><td>
  11.    </td></tr></table>';
  12. }
  13.  
  14. }
  15. }
  16. else
  17. {
  18.   if (isset($_GET['categoria']))  
  19.  {
  20.     $categoria=$_GET["categoria"];
  21.     //selecciono la categoria enviada
  22.     $sql="SELECT * FROM productos WHERE categoria='".$categoria."'";
  23.                
  24.     if (mysql_num_rows($respuesta) > 0){
  25.        
  26.        
  27.         while ($row = mysql_fetch_assoc($respuesta)){
  28.        echo '<table><tr><td>
  29.      </td><td><a href="categorias.php?que_es='.$row['que_es'].'">'.$row['que_es'].'</a>
  30.      </td><td>
  31.    </td></tr></table>';
  32. }
  33.  
  34. }
  35. }
  36.   else
  37.   {
  38.    
  39.     $que_es=$_GET["que_es"];
  40.    
  41.    
  42.     //selecciono la categoria enviada
  43.     $sql="SELECT * FROM productos WHERE que_es='".$que_es."'";
  44.    
  45.     if (mysql_num_rows($respuesta) > 0){
  46.        
  47.        
  48.         while ($row = mysql_fetch_assoc($respuesta)){
  49.       echo '<table><tr><td>
  50.      </td><td><a href="categorias.php?marca='.$row['marca'].'">'.$row['marca'].'</a>
  51.      </td><td>
  52.    </td></tr></table>';
  53. }
  54.    
  55.     }
  56.     }
  57. }
__________________
:cool: aprendiz :cool:

Etiquetas: auto, llamado, mysql, sql, tabla, variables
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 03:18.