impartire in doua tabel cu doua coloane din while loop

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

impartire in doua tabel cu doua coloane din while loop

Salutare,

Am un while loop care imi returneaza din baza de date valori distribuite pe doua coloane. Randurile fiind foarte multe sunt si foarte greu de urmarit. Cum pot distribui valorile in patru coloane?
Mai jos este codul din while:

Cod: Selectaţi tot

while($row = $result->fetch_assoc()) {
$nota = 10;
echo "<tr><td>" .$row["NUME"]. ' '. $row["PRENUME"]. "<br/></td>";
echo "<td>";
echo "<select class='nota' name='id_nota[". $row['ID'] ."]' autocomplete='off'>
	<option disabled selected>-- Alege nota --</option>";
	for( $i = 1; $i <= $nota; $i++ ) {
		echo "<option value='$i'>$i</option>\n";
	};
	echo "</select></td></tr>";
}
Cele patru coloane as vrea sa le distribui in forma aceasta:

Cod: Selectaţi tot

+------+-------+    +------+-------+
|      |       |    |      |       |
+------+-------+    +------+-------+
Multumesc!

MarPlo Mesaje:4343
salut
Poti sa pui datele in doua tabele, cu un "class", apoi le aranjezi pozitia, designul din css.
Incearca asa:

Cod: Selectaţi tot

$tabels ='No rows';
$num_rows = $result->num_rows;

if($num_rows >0){
  $tabels ='<table class="t_note">';
  $n2 = ceil($num_rows /2); //for half of rows
  $nr =0;
  while($row = $result->fetch_assoc()){
    //ends 1st table and creates 2nd table, if index $nr=$n2
    if($nr == $n2) $tabels .='</table><table class="t_note">';

    $nota = 10;
    $tabels .="<tr><td>" .$row["NUME"]. ' '. $row["PRENUME"]. "<br/></td><td>";
    $tabels .="<select class='nota' name='id_nota[". $row['ID'] ."]' autocomplete='off'><option disabled selected>-- Alege nota --</option>";
    for($i=1; $i<=$nota; $i++) $tabels .="<option value='$i'>$i</option>\n";
    $tabels .="</select></td></tr>";
    $nr++;
  }
  $tabels .='</table>';
}

echo $tabels;
Iar in css:

Cod: Selectaţi tot

.t_note {
display:inline-block;
margin:8px .3%;
width:48%;
}

sterica Mesaje:285
Functioneaza perfect, insa imi da de furca cu asejarea tabelor in centrul paginii: am incerat cu margin: auto, dar fara efect. Aranjez tabelele spre centru din pixeli insa nu le centrez asa cum trebuie.

Multumesc frumos pentru ajutor!

MarPlo Mesaje:4343
Poti sa le adaugi intr-un Div cu "text-align:center;".
Poate iti e de folos acest cod:
- html

Cod: Selectaţi tot

<div id="dv_tables">
<table class="t_note">
<tr><td> 123 </td><td> abc </td></tr>
<tr><td> 456 </td><td> def </td></tr>
</table>
<table class="t_note">
<tr><td> 789 </td><td> ghi </td></tr>
<tr><td> 012 </td><td> xyz </td></tr>
</table>
</div>
- css

Cod: Selectaţi tot

#dv_tables {
margin: 3px auto;
text-align: center;
}
#dv_tables .t_note {
border:1px solid #333;
display:inline-block;
margin:8px .3%;
max-width:48%;
}
Demo:
123 abc
456 def
789 ghi
012 xyz

sterica Mesaje:285
multumesc mult de ajutor! functioneaza perfect