Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] variables el link que no puedo cachar

Estas en el tema de variables el link que no puedo cachar en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos. Tengo este link con las siguientes variables definidas. http://localhost/dti/juntasDGPECS/ad...&criterio=MURI Las siguientes variables vienen definidas en el link anterior. [/url] opcion=2&criterio=MURI Y necesito ...
  #1 (permalink)  
Antiguo 01/04/2013, 17:48
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
variables el link que no puedo cachar

Hola a todos.

Tengo este link con las siguientes variables definidas.

http://localhost/dti/juntasDGPECS/ad...&criterio=MURI

Las siguientes variables vienen definidas en el link anterior.
[/url]opcion=2&criterio=MURI

Y necesito agarrarlas en el siguiente código fuente pero no me está resolviendo bien.

Código PHP:
define('INCLUDE_ANY'true);

if ( isset(
$_POST['db']) || isset($_GET['db']) )

$openDataBase true;//Abre una conexion de base de datos

include_once ('admin/config.php');


  
//BUSCADOR

if(isset($buscar))

  {
   switch(
$opcion)
   {
    case 
1:  $condicion " WHERE dep_departamento like \"%".trim($criterio)."%\""; break;
    case 
2:  $condicion " WHERE pro_proyecto like \"%".trim($criterio)."%\""; break;
    case 
3:  $condicion " WHERE pro_descripcion like \"%".trim($criterio)."%\""; break;
    case 
4:  $condicion " WHERE pro_acciones like \"%".trim($criterio)."%\""; break;
    case 
5:  $condicion " WHERE pro_acuerdos like \"%".trim($criterio)."%\""; break;
    case 
6:  $condicion " WHERE pro_descsegui like \"%".trim($criterio)."%\""; break;
   }

Tengo el siguiente Query que es donde NO me está leyendo las variables.

Código MySQL:
Ver original
  1. $query="SELECT * FROM proyectos pro
  2.             LEFT JOIN cat_dependencias dep ON dep.dep_id = pro.dep_id
  3.             [B]$condicion[/B]
  4.             ORDER BY pro.pro_seguimiento ASC, pro.dep_id ASC, pro.pro_fcreacion ASC";

El error que me sale es porque NO está definida la variable condición

Código PHP:
NoticeUndefined variablecondicion in C:xampphtdocsdtijuntasDGPECSadm.pro.implist.php on line 50 
Y en cambio si yo sustituyo los valores del query por los valores que está mandando el link sí me trae resultados.

Código MySQL:
Ver original
  1. SELECT * FROM proyectos pro
  2.             LEFT JOIN cat_dependencias dep ON dep.dep_id = pro.dep_id
  3.              WHERE pro_proyecto like "MURI"
  4.             ORDER BY pro.pro_seguimiento ASC, pro.dep_id ASC, pro.pro_fcreacion ASC

El código tiene que filtar esos valores dentro de una tabla select.

´
Y la línea 50 es exactamente donde termina la ejecucion del query anterior pero lo pongo de nuevo.

Código PHP:
47.---    $query="SELECT * FROM proyectos pro
48.---            LEFT JOIN cat_dependencias dep ON dep.dep_id = pro.dep_id
49.---            $condicion
50.---            ORDER BY pro.pro_seguimiento ASC, pro.dep_id ASC, pro.pro_fcreacion ASC"


Sé que tengo problemas con la definición del $_POST'[opcion'] y $_POST_['criterio']

Alguien me puede sugerir algo ????

Saludos a la Banda
  #2 (permalink)  
Antiguo 01/04/2013, 17:53
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: variables el link que no puedo cachar

no entiendo tu problema, pero no estas tomando las variables en ningun lado
Código PHP:
Ver original
  1. $opcion = $_GET['opcion'];
  2. $criterio = $_GET['criterio'];
__________________
>> abimaelmartell.com
  #3 (permalink)  
Antiguo 01/04/2013, 18:25
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: variables el link que no puedo cachar

Abimex.

Mil gracias por tu respuesta.

NO me funciona.

Cuando defino las variables de esa manera me salen los siguientes errores.

Código HTML:
Notice: Undefined variable: opcion in C:\xampp\htdocs\dti\juntasDGPECS\adm.pro.implist.php on line 34

Notice: Undefined variable: opcion in C:\xampp\htdocs\dti\juntasDGPECS\adm.pro.implist.php on line 36

Notice: Undefined variable: opcion in C:\xampp\htdocs\dti\juntasDGPECS\adm.pro.implist.php on line 37

Notice: Undefined variable: opcion in C:\xampp\htdocs\dti\juntasDGPECS\adm.pro.implist.php on line 38

Notice: Undefined variable: opcion in C:\xampp\htdocs\dti\juntasDGPECS\adm.pro.implist.php on line 39

Notice: Undefined variable: opcion in C:\xampp\htdocs\dti\juntasDGPECS\adm.pro.implist.php on line 40
Y las líneas a las que hace referencia son :

Código PHP:
32.---     switch($opcion)
33.--   {
34.--    case 1:  $condicion " WHERE dep_departamento like \"%".trim($criterio)."%\""; break;
35.--    case 2:  $condicion "    WHERE pro_proyecto like \"%".trim($criterio)."%\""; break;
36.--    case 3:  $condicion " WHERE pro_descripcion like \"%".trim($criterio)."%\""; break;
37.--    case 4:  $condicion " WHERE pro_acciones like \"%".trim($criterio)."%\""; break;
38.--    case 5:  $condicion " WHERE pro_acuerdos like \"%".trim($criterio)."%\""; break;
39.--    case 6:  $condicion " WHERE pro_descsegui like \"%".trim($criterio)."%\""; break;
40.--   } 

Y este otro error que es la variable de condición
Código HTML:
Notice: Undefined variable: condicion in C:\xampp\htdocs\dti\juntasDGPECS\adm.pro.implist.php on line 52
y este es el respectivo código de la variable condición

Código PHP:
48.---    $query="SELECT * FROM proyectos pro
49.---            LEFT JOIN cat_dependencias dep ON dep.dep_id = pro.dep_id
50.---            $condicion
51.---        ORDER BY pro.pro_seguimiento ASC, pro.dep_id ASC, pro.pro_fcreacion ASC"

Y si yo trato de definir las variables con echo me manda su respectivo error.
solo me define la variable de criterio pero NO la de opción.

Código HTML:
SURI
Notice: Undefined variable: opcion in C:\xampp\htdocs\dti\juntasDGPECS\adm.pro.implist.php on line 67
La línea 67 tiene las variables con echo.

Código PHP:
<?php echo $criterio; echo $opcion?>
Alguna sugerencia o error de tecla que se me esté pasando....

Saludos a la Banda....
  #4 (permalink)  
Antiguo 01/04/2013, 18:31
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: variables el link que no puedo cachar

lo pusiste al inicio?
puedes poner el código completo con lo que yo te puse?
__________________
>> abimaelmartell.com
  #5 (permalink)  
Antiguo 01/04/2013, 18:50
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: variables el link que no puedo cachar

Abimex.

Una vez +... Mil gracias por tu ayuda...

Ahí va el código completo...

Código PHP:
1.---<?php
2.
---
3.---define('INCLUDE_ANY'true);
4.---
5.--if ( isset($_POST['db']) || isset($_GET['db']) )

$openDataBase true;//Abre una conexion de base de datos

include_once ('admin/config.php');
10.---
11.---
12.--- //------------------------------------- Armando los criterios de la Busqueda Global del Listado

  //BUSCADOR

if(isset($buscar))
17.---$opcion $_GET['opcion'] || $_POST['opcion'];
18.---//$opcion = $_POST['opcion'];
19.---$criterio $_GET['criterio'];

  {
   switch(
$opcion)
   {
24.---    case 1:  $condicion " WHERE dep_departamento like \"%".trim($criterio)."%\" "; break;
25.---    case 2:  $condicion "    WHERE pro_proyecto like \"%".trim($criterio)."%\" "; break;
26.---    case 3:  $condicion " WHERE pro_descripcion like \"%".trim($criterio)."%\" "; break;
27.---    case 4:  $condicion " WHERE pro_acciones like \"%".trim($criterio)."%\" "; break;
28.---    case 5:  $condicion " WHERE pro_acuerdos like \"%".trim($criterio)."%\" "; break;
29.---    case 6:  $condicion " WHERE pro_descsegui like \"%".trim($criterio)."%\" "; break;
   }
}



//--------------------------------------------------------------------------------------


38.---    $query="SELECT * FROM proyectos pro
39.---            LEFT JOIN cat_dependencias dep ON dep.dep_id = pro.dep_id
40.---            $condicion
41.---         ORDER BY pro.pro_seguimiento ASC, pro.dep_id ASC, pro.pro_fcreacion ASC"
;

        
$rd=$oAdo->query($query) or die($oAdo->error);

?>

<link href="css/style.css" rel="stylesheet" type="text/css" />
<link href="css/imprimir.css" rel="stylesheet" type="text/css" media="all" />


<script type="text/javascript">
function imprimirPagina()
{ if (window.print) window.print();
  else alert("Lo siento, pero a tu navegador no se le puede ordenar imprimir" + " desde la web. Actualizate o hazlo desde los menús");
}
56.---   </script>
57.---   <?php echo $criterio; echo $opcion?>
58.------<table width="90%" border="0" cellpadding="0" cellspacing="0" class="tablaInfo">
  <tr>
    <th>Direcci&oacute;n Responsable</th>
    <th><a href="?pro&amp;new"></a> Proyecto</th>
    <th>Descripci&oacute;n</th>
    <th>&nbsp;Acciones Pendientes&nbsp;&nbsp;</th>
    <th>Acuerdos y Observaciones</th>
    <th>Estatus </th>
  </tr>

<?php
while($rd->fetch())
{

?>
  <tr>
    <td><?php echo $rd->dep_departamento?>&nbsp;</td>
        <td><?php echo $rd->pro_proyecto;?> </td>
    <td><?php echo $rd->pro_descripcion;?>&nbsp;    </td>
    <td><?php echo $rd->pro_acciones;?>&nbsp;</td>
    <td><?php echo $rd->pro_acuerdos;?>&nbsp;    </td>
    <td ><?php echo $rd->pro_descsegui?>
 </tr>
<? }?>
</table>
<script type="text/javascript">
imprimirPagina();
</script>
  #6 (permalink)  
Antiguo 01/04/2013, 19:59
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: variables el link que no puedo cachar

Solo pude declarar las variables como globales al principio del programa para poderlas editar.

Pero.... NO está ejecutando el QUERY por no tener definida la variable condición

Así lo puse al principio del código arriba mencionado

Código PHP:
Ver original
  1. <?php
  2.  
  3.   global $opcion;
  4.   global $criterio;
  5. //global $condicion;
  6. $criterio = $_GET['criterio'];
  7. $opcion = $_GET['opcion'];

Alguna otra sugerencia.....??????

Ya NO me salen errores en las variables de opción y criterio pero sigo sin poder ejecutar el QUERY por no tener definida la variable CONDICION.

Otras sugerencias....?????

I need your help....
  #7 (permalink)  
Antiguo 01/04/2013, 23:14
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: variables el link que no puedo cachar

si no te esta creando la variable condicion quiere decir que no esta entrando a ningun caso de tu switch revisa bien el valor antes de pasarlo al switch y asegurate que sea un int entre 1 y 6 (que son las condiciones que tienes ahi)
__________________
>> abimaelmartell.com
  #8 (permalink)  
Antiguo 02/04/2013, 10:35
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: variables el link que no puedo cachar

Abimex,

Cómo checo lo de la variable opcion cuando solo la estoy declarando en un select y le doy valor 1,2,3,4,5,6. ????

Ya en la otra página para recibirla le hago un $opcion=$_GET['opcion'];

En qué parte me tengo que fijar para que entre el case del switch ???

Saludos
  #9 (permalink)  
Antiguo 02/04/2013, 10:51
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: variables el link que no puedo cachar

Abimex

El formulario de donde viene la variable opcion es el siguiente:

Código HTML:
Ver original
  1. <td><select name="opcion" id="opcion">
  2.                 <option <? if($opcion==1) echo "selected";?> value="1">Direcci&oacute;n Responsable</option>
  3.                 <option <? if($opcion==2) echo "selected";?> value="2">Proyecto</option>
  4.                 <option <? if($opcion==3) echo "selected";?> value="3">Descripción</option>
  5.                 <option <? if($opcion==4) echo "selected";?> value="4">Acciones pendientes</option>
  6.                 <option <? if($opcion==5) echo "selected";?> value="5">Tareas y Observaciones</option>
  7.                 <option <? if($opcion==6) echo "selected";?> value="6">Estatus</option>
  8.                 <option <? if($opcion==7) echo "selected";?> value="7">Todos</option>
  9.  
  10.           </select></td>
  11.           <td><input name="criterio" type="text" id="criterio" value="<? echo $criterio;?>" onkeypress="if(event.keycode==13) validar();" /></td>
  12.           <td><input type="submit" name="Submit2" value="Buscar" class="btn" /></td>

Y como bien puedes ver ahí en el campo select está nombrado como opcion y se le asignan valores del 1 al 7.

Qué me aconsejas revisar en mi código del switch ????

Saludos
  #10 (permalink)  
Antiguo 02/04/2013, 11:19
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: variables el link que no puedo cachar

en el swicht no tienes la opcion 7, revisa eso
__________________
>> abimaelmartell.com
  #11 (permalink)  
Antiguo 02/04/2013, 14:50
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: variables el link que no puedo cachar

Tienes que venir de javascript...
El siguiente código:
Código PHP:
Ver original
  1. $opcion = $_GET['opcion'] || $_POST['opcion']
En javascript hace una cosa, y en PHP hace una cosa muy diferente...Mientras en javascript, ese OR retorna el *valor* de la primera variable no nula, en php no devuelve el *valor*, sino "1"..Ese uso de un operador típicamente booleano , para asignar valores...No existe en PHP..
  #12 (permalink)  
Antiguo 02/04/2013, 16:39
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: variables el link que no puedo cachar

Dashtrash,

En realidad ya resolví mi problema....

Resulta que para que se resuelva mi condición del SWITCH como lo tengo en este código.
Era involucrar las variables opción y criterio EN VEZ DE $buscar

Código PHP:
Ver original
  1. if (isset ($buscar )
  2.   {
  3.    switch($opcion)
  4.    {
  5.     case 1:  $condicion = " WHERE dep_departamento like \"%".trim($criterio)."%\" "; break;
  6.     case 2:  $condicion = " WHERE pro_proyecto like \"%".trim($criterio)."%\" "; break;
  7.     case 3:  $condicion = " WHERE pro_descripcion like \"%".trim($criterio)."%\" "; break;
  8.     case 4:  $condicion = " WHERE pro_acciones like \"%".trim($criterio)."%\" "; break;
  9.     case 5:  $condicion = " WHERE pro_acuerdos like \"%".trim($criterio)."%\" "; break;
  10.     case 6:  $condicion = " WHERE pro_descsegui like \"%".trim($criterio)."%\" "; break;
  11.     case 7:  $condicion = " "; break;
  12.    }
  13.   }

Entonces lo que hice fue cambiar la variable de $buscar por este renglón...

Código PHP:
if (isset ($opcion) && ($criterio) ) 
Y entonces quedó de la siguiente manera y ya todo jala MUY BIEN.....

Código PHP:
if (isset ($opcion) && ($criterio) )
  {
   switch(
$opcion)
   {
    case 
1:  $condicion " WHERE dep_departamento like \"%".trim($criterio)."%\" "; break;
    case 
2:  $condicion "    WHERE pro_proyecto like \"%".trim($criterio)."%\" "; break;
    case 
3:  $condicion " WHERE pro_descripcion like \"%".trim($criterio)."%\" "; break;
    case 
4:  $condicion " WHERE pro_acciones like \"%".trim($criterio)."%\" "; break;
    case 
5:  $condicion " WHERE pro_acuerdos like \"%".trim($criterio)."%\" "; break;
    case 
6:  $condicion " WHERE pro_descsegui like \"%".trim($criterio)."%\" "; break;
    case 
7:  $condicion " "; break;
   }
  } 
SALUDOS A TODA LA BANDA.....!!!!

Etiquetas: link, select, 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 22:28.