sql >> Base de Datos >  >> RDS >> Mysql

¿Múltiples datos de consulta en una matriz de tabla html única (PHP, Mysql) no se imprimen en la posición correcta?

Tienes que recopilar los datos de cada país. Su enfoque en la pregunta desordena la lista ya que las claves de la matriz no están sincronizadas. Sincronicemos sus filas por 'País':

$data = array();
while($row = mysql_fetch_assoc($num1))
{
    $c = $row['Country'];
    if (!isset($data[$c]))
    {
        $data[$c] = array('Country' => $c);
    }
    $data[$c]['MidEstimate1'] = $row['MidEstimate'];
}
while($row = mysql_fetch_assoc($num2))
{
    $c = $row['Country'];
    if (!isset($data[$c]))
    {
        $data[$c] = array('Country' => $c);
    }
    $data[$c]['MidEstimate2'] = $row['MidEstimate'];
}

Ahora tiene una fila en su matriz para cada país, con sus datos de cada consulta.

$i = 0;
foreach ($data as $row)
{
    echo ($i % 2) ? "<tr class='odd'>" : "<tr class='even'>" ;
    echo "<td align='center'>" . $row['Country']."</td>";
    echo "<td align='center'>" . $row['MidEstimate1']."</td>";
    echo "<td align='center'>" . $row['MidEstimate2']."</td>";
    echo "</tr>" ;
}

Nota:esto solo funciona en el campo 'País' que está presente en ambas consultas SQL.