PHP - Escribir varios campos en una casilla de formulario

 
Vista:

Escribir varios campos en una casilla de formulario

Publicado por ProgramaPhp (5 intervenciones) el 18/07/2018 20:53:04
Hola. Hay alguna forma de escribir en una casilla de un formulario varias palabras y que te devuelva el resultado de la base de datos. Tengo el siguiente código.
1
$sql=("SELECT * FROM clientes WHERE nombre = $_POST'[nombres]'")
Necesito escribir en una casilla del formulario muchos nombres de clientes y que me saque la información suya, en vez de ir cliente por cliente.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Escribir varios campos en una casilla de formulario

Publicado por Yamil Bracho (888 intervenciones) el 18/07/2018 20:58:23
Puedes separa los valores por coma y luego hacer

1
$sql="SELECT * FROM clientes WHERE nombre IN ({$_POST['nombres'])")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Escribir varios campos en una casilla de formulario

Publicado por ProgramaPhp (5 intervenciones) el 18/07/2018 21:29:13
Gracias por contestar. Lamentablemente algo hago mal y no funciona.
Tengo el código de la siguiente manera.
1
$sql="SELECT * FROM clientes WHERE nombre IN ({$_POST['nombres']})");

En la casilla del formulario busco los nombres de la siguiente manera: pepito,ivan etc etc y sigue dando error. He intentado también meter los nombres entre comillas simples : 'pepito','ivan' y no funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Escribir varios campos en una casilla de formulario

Publicado por Lawliet (351 intervenciones) el 18/07/2018 21:34:24
1
2
$nombres='ProgramaPhp','Yamil Bracho','Lawliet';
$sql="SELECT * FROM clientes WHERE nombre IN ($nombres)"

En tu caso tendrías que validar que tu variable que recibes mediante POST, separe de manera correcta los nombres y en comillas dobles para poder realizar la búsqueda, te recomiendo que antes de realizar la consulta hagas un echo a tu variable $_POST['nombres'] para saber que contiene.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Suerte!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Escribir varios campos en una casilla de formulario

Publicado por Yamil Bracho (888 intervenciones) el 18/07/2018 21:39:43
Ok, Disculpa no entendi bien lo que querias hacer. En este caso no se puede usar el IN, sino la funcion FIND_IN_SET y te quedaria algo como

1
$sql="SELECT * FROM clientes WHERE FIND_IN_SET("pepe", "juan,pedro,pepito,pepe,juana");

Pruebalo en tu cliente MySQL (PHPMyAdmin, etc)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Escribir varios campos en una casilla de formulario

Publicado por ProgramaPhp (5 intervenciones) el 18/07/2018 21:52:40
En el FIND_IN_SET hay alguna manera de no indicarle los nombres si no el campo que quiero seleccionar de la base de datos.
Ten en cuenta que tengo el formulario. Te explico de la manera que está creado. Tengo una casilla donde introducir el nombre y un botón de obtener registros. Introduciendo el nombre y pulsando en obtener registros me saca la información de un cliente. Entonces quiero saber si hay alguna forma de escribir todos los nombres de clientes que quiero en la misma casilla del formulario. Y entonces obtener la información de todos los clientes... Igual no me explico yo bien. Disculpa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Escribir varios campos en una casilla de formulario

Publicado por Yamil Bracho (888 intervenciones) el 18/07/2018 22:33:29
Tendrias que guardrla en una variable o algo asi para agregarla al FIND_IN_SET.
Prueba entonces con

1
sql="SELECT * FROM clientes WHERE {$_POST['Nombre']} IN (SELECT DISTINCT nombre from clientes)"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Escribir varios campos en una casilla de formulario

Publicado por ProgramaPhp (5 intervenciones) el 18/07/2018 23:13:04
Te detallo como tengo el código completo porque sigue sin funcionar muy seguramente el fallo es mío.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
PASO1.
/*ESTABLECER CONEXION CON LA BASE DE DATOS*/
 
PASO2.
/*CONSULTA*/
$registro = pg_query ("SELECT clientes.nombres, clientes.apellidos,clientes.poblacion,ventas.articulos FROM clientes INNER JOIN ventas ON clientes.id = ventas.id WHERE clientes.nombres = '$_POST[nombres]' and ventas.pvp=true");
 
while($reg=pg_fetch_array($registro)){
 
echo $reg ['nombres']."<br>;
echo $reg ['apellidos']."<br>;
echo $reg ['poblacion']."<br>;
echo $reg ['articulos']."<br>;
 
}
?>

El código tal cual escrito funciona correctamente. Introduciendo un nombre en el formulario me devuelve la información... La duda es lo anterior mencionado....,( Escribir varios nombres y obtener información de todos sin tener que ir uno por uno comprobando). Gracias de antemano y disculpa el lío que te estoy causando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar