Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dane wielu zapytań w jednej tablicy html (PHP, Mysql) nie są drukowane w prawidłowej pozycji?

Musisz zebrać dane dla każdego kraju. Twoje podejście w pytaniu psuje listę, ponieważ klucze tablicy nie są zsynchronizowane. Zsynchronizujmy wiersze według „Kraju”:

$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'];
}

Teraz masz wiersz w swojej tablicy dla każdego kraju, z danymi z każdego zapytania.

$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>" ;
}

Uwaga:działa to tylko w polu „Kraj”, które jest obecne w obu zapytaniach SQL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Upsert z dołączonym atrybutem updated_at

  2. Przygotowana instrukcja, zapytanie `WHERE .. IN(..)` i sortowanie — z MySQL

  3. Jaki jest lepszy sposób, aby ta wkładka była bezpieczniejsza i bezpieczniejsza przed wstrzyknięciem i manipulacją?

  4. Zapytanie MySQL do pobierania danych z nazwami kolumn

  5. Uzyskaj całkowitą liczbę wierszy, gdy używasz LIMIT?