Foros del Web » Programando para Internet » PHP »

Cómo compruebo en toda la columna, no sólo en el primer campo?

Estas en el tema de Cómo compruebo en toda la columna, no sólo en el primer campo? en el foro de PHP en Foros del Web. Estoy intentando programar una función que me compruebe el ID del usuario en toda la tabla para que cada usuario pueda votar un sólo link. ...
  #1 (permalink)  
Antiguo 07/05/2008, 02:50
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 1 mes
Puntos: 3
Cómo compruebo en toda la columna, no sólo en el primer campo?

Estoy intentando programar una función que me compruebe el ID del usuario en toda la tabla para que cada usuario pueda votar un sólo link. La tabla sería algo así:

ID del Link - Nombre del link - Id de los Votantes
1 - web1 - .1..2.
2 - web2 - .3..4.

El principio de la función, donde se comprueba el Id del user es este:
Código PHP:
$sql = new db;
$sql -> db_Select("links_page""*""link_id='".intval($qs[1])."'");
$row $sql -> db_Fetch();
if (
preg_match("/\.".USERID."\./"$row['link_votantes'])){SIGUE LA FUNCION
El problema es que si escribo $sql -> db_Select("links_page", "link_votantes"); me comprueba sólo la primera fila (si no votaron el primer item pueden seguir votando indefinidamente). Si pongo $sql -> db_Select("links_page", "*", "link_id='".intval($qs[1])."'"); comprueba sólo la fila del link que se está votando.

Alguna idea de cómo hacer para que compruebe todas las filas?
  #2 (permalink)  
Antiguo 09/05/2008, 04:57
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Cómo compruebo en toda la columna, no sólo en el primer campo?

Nadie sabe cómo se hace?
  #3 (permalink)  
Antiguo 09/05/2008, 05:30
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Cómo compruebo en toda la columna, no sólo en el primer campo?

No lo he entendido muy bien lo que quieres hacer..

A ver si es esto :

Tienes una tabla que guarda los resultados de las votaciones.
Esa tabla tiene, en cada fila, una web, y en cada fila, la lista de ids de usuarios que han votado.

No ?

Pongamos que el ID de los Usuarios los separas por una coma (,)

Tonces te pongo este codigo :

Código PHP:

function comprobarSihaVotado($idVotanteActual)
{
    
    
$aVotadoYa false ;
    
    
$qry mysql_query("Select * from nombreTabla order by id ASC") ;
    while (
$web mysql_fetch_assoc($qry))
    {
        
        
$listaIDs $web['idVotantes'] ;
        
        
$listaVotantes split(",",$listaIDs) ;
        
        foreach(
$listaVotantes as $idVotante)
        {
            
            if(
$idVotante == $idVotanteActual)
            {
                
                
$aVotadoYa true ;
                break ;
                
            }
            
        }
        
        if (
$aVotadoYa == true)
            break ;
    }
    
    return 
$aVotadoYa ;

Esta funcion devolveria TRUE si ya ha votado ese usuario, o false en caso contrario.

Tendrias que pasarle el ID de usuario, y poner los nombres bien de los campos de la base de datos ;)

El primer Break sale del Foreach ( si ya lo hemos encontrado, para que seguir recorriendo el array? )
El segundo break sale del While ( Si ya lo hemos encontrado, para que seguir mirando en la tabla? )

:]
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 23:13.