Поместить таблицу в 2d массив и отобразить его - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть 2 вопроса, пожалуйста, помогите мне.

  1. В PHP / MySQL у меня есть длинный запрос, который я пишу в 7 строк.Теперь я хочу запустить его и поместить результат этого запроса (таблицу) в виде 2d-массива в переменную.как я могу это сделать?
  2. После того, как я поместил результат запроса в виде 2d-массива в переменную a, теперь, как я могу отобразить результат моего запроса в виде таблицы на HTML-странице?

спасибо

**** Пример ******

        $database_host = "localhost";
    $database_username = "root";
    $database_password = ""; // FOR ME!!!   

    $connection = mysql_connect("$database_host", "$database_username", "$database_password") or die("Could't connect to database!");
    if(!mysql_select_db("football_db", $connection)) 
        die("Could't select database!");

    // Sanitizing leagueName input
    $leagueName = strtolower(strval($_POST[ 'leagueName' ])); 
    $leagueName = stripslashes( $leagueName ); 

    // Sanitizing seasonName input
    $seasonName = strtolower(strval($_POST[ 'seasonName' ])); 
    $seasonName = stripslashes( $seasonName ); 



    $query = "SELECT cl.club_name , cr.played , cr.matches_won AS W , cr.matches_lose AS L , 
        (cr.played - ( cr.matches_won + cr.matches_lose) ) AS D , 
        cr.goals_for AS GF , cr.goals_against AS GA , (cr.goals_for - cr.goals_against) AS GD ,
        (cr.matches_won*3 + (cr.played - ( cr.matches_won + cr.matches_lose) ) ) AS PTS
    FROM ClubsRecords AS cr , Clubs AS cl , Seasons AS se , leagues AS le
    WHERE le.league_type='$leagueName' AND  se.season_name ='$seasonName' AND 
        se.league_id = le.league_id AND cr.club_id = cl.club_id AND cr.season_id = se.season_id 
    ORDER BY PTS DESC;";

Ответы [ 3 ]

1 голос
/ 03 февраля 2012
/* Question 1: */

    $res = mysql_query($query);
    $rows = array();
    while ($row = mysql_fetch_assoc($res)) {
        $rows[] = $row;
    }

    // $rows is your 2d-array

/* Question 2: */

    echo "<table>\n";

    // print the rownames
    $keys = array_keys($rows);
    echo "<tr>\n";
    foreach($keys as $key) {
        echo "    <td>$key</td>\n";
    }
    echo "</tr>\n";

// print the values
echo "<tr>\n";
foreach($rows as $row) {
    print('<tr>');
    foreach($row as $key => $value){
        echo "    <td>$value</td>\n";
        }
    print('</tr>');
}
echo "</tr>\n";
echo "</table>\n";
1 голос
/ 03 февраля 2012
$result = mysql_query($query);
$rows = array();

while($row = mysql_fetch_assoc($result)) {
    $rows[] = $row;
}

echo json_encode($rows);

Я думаю, что это может вам помочь.

0 голосов
/ 03 февраля 2012

Выйдя на конечность с очевидным ответом, не зная, какой именно двумерный массив вы ищете:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...