transpunere rows din sql partajate in tabel html

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
sterica
Mesaje: 285

transpunere rows din sql partajate in tabel html

Salutare,
Am acesta tabela, sub forma aceasta

Cod: Selectaţi tot

+----+------+---------+-----------+------+------+
| ID | NUME | PRENUME | INTREBARE | NOTA | OBS  |
+----+------+---------+-----------+------+------+
|  1 |  N_1 |   P_1   |     1     |   4  | obs1 | 
|  2 |  N_1 |   P_1   |     2     |   6  |      | 
|  3 |  N_1 |   P_1   |     3     |   8  |      | 
|  4 |  N_2 |   P_2   |     1     |   2  | obs2 | 
|  5 |  N_2 |   P_2   |     2     |   6  |      | 
|  6 |  N_2 |   P_2   |     3     |   9  |      |
|  7 |  N_3 |   P_3   |     1     |   5  | obs3 | 
|  8 |  N_3 |   P_3   |     2     |   7  |      | 
|  9 |  N_3 |   P_3   |     3     |   3  |      |
+----+------+---------+-----------+------+------+
Incerc sa transpun valorile din tabela de mai sus intr-un tabel de forma:

Cod: Selectaţi tot

+------+---------+---+---+---+------+
| NUME | PRENUME | 1 | 2 | 3 | OBS  |
+------+---------+---+---+---+------+
|  N_1 |    P_1  | 4 | 6 | 8 | obs1 |
|  N_2 |    P_2  | 2 | 6 | 9 | obs2 |
|  N_3 |    P_3  | 5 | 7 | 3 | obs3 |
+------+---------+---+---+---+------+
Nu stiu daca este cea mai convenabila metoda dar am incercat cu un array ce imi returneaza:

Cod: Selectaţi tot

Array
(
    [0] => Array
        (
            [0] => N_1 P_1 1 4 obs1
        )

    [1] => Array
        (
            [0] => N_1 P_1 2 6 
        )

    [2] => Array
        (
            [0] => N_1 P_1 3 8
        )

    [3] => Array
        (
            [0] => N_2 P_2 1 2 obs2
        )
        ....
)
Insa nu stiu cum as putea sa scot cu foreach valorile din array in forma dorita de mine.

Multumesc!

MarPlo Mesaje: 4343
Salut
Incearca asa si vezi ce iese:

Cod: Selectaţi tot

$sql ="SELECT * FROM tablen WHERE 1";
$res = $conn->query($sql);
$tablen =[];
$tab_r ='';
if($res->num_rows >0){
   while($row = $res->fetch_assoc()){
     if(!isset($tablen[$row['NUME']])) $tablen[$row['NUME']] =['prenume'=>$row['PRENUME'], 1=>'', 2=>'', 3=>'', 'obs'=>''];
     $tablen[$row['NUME']][$row['INTREBARE']] = $row['NOTA'];
     if($tablen[$row['NUME']]['obs']=='') $tablen[$row['NUME']]['obs'] = $row['OBS'];
   }

   //adds data from $tablen in html table rows
   foreach($tablen AS $n=>$ar){
     $tab_r .='<tr><td>'. $n .'</td><td>'. $ar['prenume'] .'</td><td>'. $ar[1] .'</td><td>'. $ar[2] .'</td><td>'. $ar[3] .'</td><td>'. $ar['obs'] .'</td></tr>';
   }
}
$tab_r ='<table border="1"><tr><th>NUME</th><th>PRENUME</th><th>1</th><th>2</th><th>3</th><th>OBS</th></tr>'. $tab_r .'</table>';

echo $tab_r;

sterica Mesaje: 285
functioneaza perfect, multumesc mult de ajutor!

Subiecte similare