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 ranking, 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.
//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;
}
Los mensajes de error y sus respectivas líneas, son las siguientes:
Notice: Undefined index: dato1 in C:\... on line 73
Notice: Undefined index: dato1 in C:\... on line 73
Notice: Undefined index: dato2 in C:\... on line 79
Notice: Undefined index: dato2 in C:\... on line 79
Las líneas 73 y 79 son las siguientes:
if ($valores_array[0]['dato1'] == $usuarios_array[$i]['dato1']) (Linea 73)
if ($valores_array[0] ['dato2'] == $usuarios_array[$i]['dato2']) (Linea 79)
Gracias de antemano.