Foros del Web » Programando para Internet » PHP »

Agrupar resultado test checkbox con select

Estas en el tema de Agrupar resultado test checkbox con select en el foro de PHP en Foros del Web. Agradecer de antemano la posibilidad de salventar mis dudas a forosdelweb. Bien, tengo un test creado con checkbox, alguna de las respuestas del test se ...
  #1 (permalink)  
Antiguo 12/07/2012, 11:32
 
Fecha de Ingreso: julio-2012
Ubicación: Cádiz
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Agrupar resultado test checkbox con select

Agradecer de antemano la posibilidad de salventar mis dudas a forosdelweb.
Bien, tengo un test creado con checkbox, alguna de las respuestas del test se repiten. La consulta posterior a la base de datos es "SELECT * FROM productos WHERE producto='$id'" - el test esta en la base de datos por eso la variable.
El problema es que no puedo usar GROUP, por culpa del WHERE, y no encuentro la forma de evitar que repita los resultados. Por supuesto he buscado una solución antes de molestar pero ha sido infructuoso. Os agradecería me ayudaseis.
Muchas Gracias
  #2 (permalink)  
Antiguo 12/07/2012, 12:52
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: Agrupar resultado test checkbox con select

Por que es que se repiten las preguntas del test?

No deberían repetirse, al menos que pertenezcan a otra encuesta no?.

Entonces deberías de buscar las preguntas según id_encuesta y product_id, de esa manera no se repetirían no?
__________________
To the end....
  #3 (permalink)  
Antiguo 12/07/2012, 13:57
 
Fecha de Ingreso: julio-2012
Ubicación: Cádiz
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Agrupar resultado test checkbox con select

Hola Blakmetal, gracias por responder.
No se repiten las preguntas si no que algunas preguntas tienen la misma respuesta.
Tanto las preguntas como las respuestas están en la base de datos, entonces al pasar los valores de chekeados, no encuentro la forma de que en el caso de que coincidan las repuestas no las repita.
Un saludo
  #4 (permalink)  
Antiguo 13/07/2012, 11:41
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: Agrupar resultado test checkbox con select

select distinct (campo_de_nombre_respuesta_posiblemente_repetida), otros_campos,otros_campos
from tu_Tabla where id='$id'
__________________
To the end....
  #5 (permalink)  
Antiguo 14/07/2012, 11:39
 
Fecha de Ingreso: julio-2012
Ubicación: Cádiz
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Agrupar resultado test checkbox con select

Gracias blackmetal, ya intente con distinct anteriormente, pero no funciona, no se si es debido al foreach, while o a la variable $id.
Me estoy dando por vencido, y quizás tenga variar el test o la tabla. Aún así te muestro el código que ejecuto.
Muchas gracias por todo. Hasta otra.

Código PHP:
foreach ($_POST['tester'] as $id){
    
            
    
$resultado mysql_query("SELECT * FROM productos WHERE producto='$id'");
            
                                        
    while (
$productos mysql_fetch_array($resultado)) { 
                        echo 
"";

  #6 (permalink)  
Antiguo 18/07/2012, 11:39
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: Agrupar resultado test checkbox con select

Pienso que tienes dos opciones.

1.- con los datos que tienes, en php filtrar para que no imprimas en pantalla una respuesta duplicada.

2.- al insertar la respuesta, verificar que no exista esa respuesta en la BD para ese pregunta.

Y asi ya no tienes respuestas duplicadas.

Yo optaria por la 2.
__________________
To the end....
  #7 (permalink)  
Antiguo 20/07/2012, 13:44
 
Fecha de Ingreso: julio-2012
Ubicación: Cádiz
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Agrupar resultado test checkbox con select

Gracias por persistir. No se si te he entendido bien, te explico. La respuesta es el nombre del producto y este se repite en algunas de las preguntas, el la tabla de productos el nombre del mismo es igual al de la respuesta, por tanto si verifico si existe en la BD será si siempre, entonces como haria para decirle que no lo introduzca dos veces.
No se si me explicado bien, o quizás no lo vea de igual manera que tú, si es así te pide por favor me esclarezcas un poco más.
He estado mirando algo sobre array_unique() pero la verdad es que me llevo mal con los array, no se si tu lo conoces.
Mientras seguiré intentando hasta pronto!!
  #8 (permalink)  
Antiguo 17/09/2012, 12:13
 
Fecha de Ingreso: julio-2012
Ubicación: Cádiz
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Agrupar resultado test checkbox con select

Bueno despues de apartar este proyecto un tiempo he vuelto a retomarlo hoy y he dado con la solución.
Código PHP:
$matriz=$_POST['tester'];
mostrar(array_unique($matriz));
function 
mostrar($matriz)
    {
    foreach (
$matriz as $id){consulta
Sólo tuve que añadir esto antes de la consulta, cuantos dolores de cabeza me provocó este problema, y ahora que lo veo es absurdo.
Espero ahorrarle el dolor de cabeza a otros.

Etiquetas: agrupar, checkbox, select, test, resultados, 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 04:39.