Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2011, 11:29
manuel2788
 
Fecha de Ingreso: enero-2011
Mensajes: 95
Antigüedad: 13 años, 3 meses
Puntos: 2
Pregunta Error al comparar datos en base de datos por php

Buenas tardes,

Se me ha presentado un problema... quiero comparar unos datos que se encuentran en una tabla de la siguiente manera: los datos introducidos por el administrador con los de los usuarios normales, acertados tendrán un puntaje.

Para ello utilizo la clasificación de usuarios, en mi script rank... por medio de este rank, puedo separar usuarios normales, admin, baneados y suspendidos. Ok, hasta aquí todo bien.

En el script de comparación por medio de ciclos, solicito los datos del admin y luego los de los usuarios. Por último comparo datos del admin - datos de usuarios y las opciones iguales se les da un puntaje.

El problema es, que cuando ejecuto mi script me dice que las variables no están definidas y el puntaje no se genera.

A continuación voy a colocar el fragmento de código donde puede estar el problema... espero una ayuda, gracias de antemano.

Código:
//3. Tomar los campos provenientes del formulario
		
		$valores = mysql_query("SELECT * FROM tabla WHERE rank='8'", $conexion);
		// Validar si existen resultados para la consulta
		if (@mysql_num_rows($valores) > 0)
		{
			$num = 0;
			// Ciclo para pasar por todos los renglones de los resultados
			while ($renglon = mysql_fetch_row($valores))
			{
				// Ciclo para obtener todos los campos de cada renglon de los resultados
				for ($i = 0; $i < mysql_num_fields($valores); $i++)
				{
					// Crear un array multiple: Array [ renglon ] [ campo ]
					$valores_array[$num][strtolower(mysql_field_name($valores, $i))] = $renglon[$i];
				}
				$num++;
			}
		}
		
		$usuarios = mysql_query("SELECT * FROM tabla WHERE rank='1'", $conexion);
		// Validar si existen resultados para la consulta
		if (@mysql_num_rows($usuarios) > 0)
		{
			$num = 0;
			// Ciclo para pasar por todos los renglones de los resultados
			while ($renglon = mysql_fetch_row($usuarios))
			{
				// Ciclo para obtener todos los campos de cada renglon de los resultados
				for ($i = 0; $i < mysql_num_fields($usuarios); $i++)
				{
					// Crear un array multiple: Array [ renglon ] [ campo ]
					$usuarios_array[$num][strtolower(mysql_field_name($usuarios, $i))] = $renglon[$i];
				}
				$num++;
			}
		}
		
		//definiendo variables
		
		$dato1 ='dato1';
		$dato2 = 'dato2';
		
		// Ciclo para validar los aciertos de cada usuario
		for ($i = 0; $i < count($usuarios_array); $i++)
		{
			// Iniciar el puntaje en cero para cada ciclo
			$puntaje = 0;
			
			// Validar si algun valor del usuario coincide con el administrador
			if ($valores_array[0]['dato1'] == $usuarios_array[$i]['dato1'])
			{
				// Sumarle un puntaje por cada acierto
				$puntaje += 2;
			}
			
			if ($valores_array[0] ['dato2'] == $usuarios_array[$i]['dato2'])
			{
				$puntaje += 2;	
			}