Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/05/2008, 05:30
miSko
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 8 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? )

:]