Ayuda con consulta a traves de neophp - Forum

Forum Navigation
You need to log in to create posts and topics.

Ayuda con consulta a traves de neophp

A ver si alguien me puede ayudar, el cliente selecciona de una lista de opciones lo que le gustaria que una casa de alquiler tuviera en comodidades ( Wifi, Tv, Estufa a leña, etc ) y lo guardo mediante "Si" o "No" a la seleccion que hace de cada comodidad.

ahora tengo que trasladar eso a la consulta web, que solo me busque entre los registros que tengan como "Si" esas comodidades marcadas.

Destacar que al momento de ingresar cada casa, las  comodidades tienen un valor que como dije es de valor "Si" o "No",ejemplo:

Casa 1

Wifi = Si

Tv = No

Etc

 

He intentado hacerlo, pero sin resultado positivo, creo que deberia buscar entre todos los registros pero sin importar el nombre del campo sino que su contenido sea "Si" pero no se como hacerlo.

@gustavo1973 la verdad es que es muy dificil ayudarte con la información que aportas. Fíjate no obstante que normalmente todo el truco esta en utilizar la query adecuada. Si estás utilizando MySQL puedes hacer pruebas con PhpMyAdmin, que suele venir instalado en la mayoría de servidores, ejecutando queries tipo SELECT hasta que des con aquella que recupera los resultados que necesitas.

Saludos.

@luishp, entiendo lo que dices, yo creo que a difernecia de visualneowin donde la consulta se puede hacer a nivel local, aqui la consulta este en el archivo Config en el servidor lo que solo permite que le pasemos los parametros.

ahora bien, una consulta,en los parametros que envio, casi siempre son datos a buscar en algun campo, pero se puede enviar tambien el nombre del campo en el cual debe buscar?

ejemplo por si no quedo claro:

esta seria la consulta normal, enviando el parametro a buscar

$sqlAlias[0]="usuarios";
$sqlQuerys[0]="SELECT * from Usuarios WHERE Clave=?";
$sqlMaxUserLevel[0]=-1;

 

y esta es la cosulta planteada de otra manera enviando tambien el nombre del campo donde se buscara, se puede?

$sqlAlias[0]="usuarios";
$sqlQuerys[0]="SELECT * from Usuarios WHERE ?=?";
$sqlMaxUserLevel[0]=-1;

@ gustavo1973

Let us suppose that the fields in question are hasWifi and hasTV etc.

If the renter requests homes with Wifi but does not care if it has TV ... working back from the SQL commands ...

Your SQL SELECT statement would look like ...

WHERE (hasWifi='Yes' OR hasWifi='Yes') AND (hasTV='Yes' OR hasTV='No');

So your $sqlQuerys statement would look something like ...

$sqlQuerys[0]="SELECT * from yourTableNameHere WHERE (hasWifi=? OR hasWifi=?) AND (hasTV=? OR hasTV=?);

... and your neoPhpExecSql would be something like ...

neoPhpExecSql "yourDatabaseNameHere" "yourTableNameHere" "[wifi1]::[wifi2]::[TV1]::[TV2]"

... and since renter selected Yes for wifi and No for TV ...

a) [wifi1] and [wifi2] would be set to Yes

b) [TV1] would be Yes and [TV2] would be No

 

Note: I have not tried (verified) all this ... let us know if it worked as anticipated.

y esta es la cosulta planteada de otra manera enviando tambien el nombre del campo donde se buscara, se puede?
$sqlQuerys[0]="SELECT * from Usuarios WHERE ?=?";

@gustavo1973 neoPhp utiliza PDO para acceder a las bases de datos. Este sistema evita el llamado "SQL injection" fuente de innumerables problemas de seguridad. Precisamente por esa razón, los nombre de las tablas y de los campos no pueden ser reemplazados por variables.

Lo que si puede hacerse es algo como esto en config.php:
https://stackoverflow.com/questions/182287/can-php-pdo-statements-accept-the-table-or-column-name-as-parameter

Saludos

 

@Gaev @Luishp , funciona perfectamente de la manera que tu lo planteas Gaev, muchas gracias a ambos por tu tiempo

it works perfectly the way you put it Gaev, thank you both very much for your time