Dado el código que ha publicado, así es como manejaría esto.
Primero, crearía una matriz de búsqueda asociativa cuyas claves son los nombres de las columnas y cuyos valores son los valores de los puntos correspondientes; se vería algo como esto:
$pointVals = array('email1' => 2, 'email2' => 5, 'email3' => 2, ... );
Puede generar esta matriz como desee; Probablemente lo leería de una tabla de búsqueda en la base de datos. Tenga en cuenta que esta matriz contiene solo las columnas para las que el cálculo es relevante.
A continuación, incluiría el siguiente código dentro tu while
círculo. $row
es la matriz de registro devuelta por su llamada a mysql_fetch_array()
.
while ($row = mysql_fetch_array($result)) {
... // existing code goes here
$rowSum = 0;
foreach($pointVals as $colName => $val)
{
if(isset($row[$colName]) && !empty($row[$colName]))
$rowSum += $val;
}
... // do stuff with $rowSum here
}
Dicho esto, le recomiendo encarecidamente que se convierta desde mysql controlador a mysqli o DOP , como mysql está en desuso y se eliminó de PHP 7. Además, sospecho que su consulta podría simplificarse y mejorarse, pero necesitaría ver la tabla base para sugerir algo.