Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Pasar parametro a un filtro (https://www.clubdelphi.com/foros/showthread.php?t=54749)

GCASTILLO 28-03-2008 22:54:13

Pasar parametro a un filtro
 
ayuda por favor.....soy novato en delphi-php

como puedo pasarle parametros a un filtro de base de datos
desde un combobox.


ejemplo:
$this->$tbtabla1->filter = '¿como debe ir aqui el parametro?';

tengo este codigo pero no funciona correctamente
$this->$tbtabla1->filter = 'campo_tabla = $this->$combobox1->$items[$this->$combobox1->itemsindex]'

como que el parametro que toma es una cadena y no lo considera como variables o objetos.

agradezco sus comentarios de antemano.

Saludos
:(

egostar 28-03-2008 23:12:18

Código PHP:

$this->$tbtabla1->filter 'campo_tabla = $this->$combobox1->$items[$this->$combobox1->itemsindex]' 

Aunque yo ni siquiera llego a novato en Delphi-PHP veo que esa instruccion no esta correcta, no deberia ser así?

Código PHP:

$this->$tbtabla1->filter 'campo_tabla = ' $this->$combobox1->$items[$this->$combobox1->itemindex

Salud OS

GCASTILLO 28-03-2008 23:38:15

Es lo mismo
 
Gracias por prestarme atencion,

no funciono:

es lo mismo 'xxxx' que 'xx'+'xx'
aqui la cosa es que todo se comvierte en una cadena y no respeta el campo de la tabla y el parametro que serviria para el filtro.

en delphi se usa
ibtable1.Filtered := false;
ibtable1.Filter := 'EQUIPO like'+Quotedstr(filtro);
ibtable1.Filtered := true;

pero esto no funciona para PHP.

gracias por tu apoyo, ¿alguien mas me puede apoyar en ver claro este asunto?:mad:

keyboy 29-03-2008 01:28:55

Cita:

Empezado por GCASTILLO (Mensaje 276112)
es lo mismo 'xxxx' que 'xx'+'xx'

Es cierto. Pero lo que egostar propone no es cambiar 'xxxx' por 'xx'+'xx', sino 'xx$xx' por 'xx' + $xx. En la segunda forma, php evalúa $xx y el resultado lo concatena con 'xx'.

Pero, por otra parte, en realidad el operador + no es el que php usa para concatenar cadenas. Debes usar el punto: 'xx' . $xx.

También debes saber que en PHP hay una diferencia entre las comillas simples ' y las dobles ". Si php ve una variable entre comillas dobles, sí la evalúa, cosa que no hace si la variable está entre comillas sencillas. php evaluará- de hecho -expresiones más complejas que estén entre comillas dobles pero hay que ayudarse de las llaves:

Código PHP:

"campo_tabla = {$this->$combobox1->$items[$this->$combobox1->itemsindex]}

A mi en lo personal, llega un momento en que me parece más claro concatenar (como propone egostar) que dejar todo entre las comillas dobles.

Y, finalmente, aunque algo como

Código PHP:

$this->$tbtabla1->filter = ... 

es gramaticalmente válido, es posible que te sobre el $ después de ->:

Código PHP:

$this->tbtabla1->filter = ... 

El segundo caso se refiere a una propiedad llamada tbtabla1 del objeto $this, mientras que el primer caso se refiere a una propiedad de $this cuyo nombre es el valor de la variable $tbtabla1.

Bye

GCASTILLO 01-04-2008 00:14:23

bueno bueno egostar y key boy, gracias por su esfuerzo,

lo checo y les digo luego como quedo.

Saludos desde tabasco mexico.


La franja horaria es GMT +2. Ahora son las 18:44:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi