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:
sterica
Mesaje:285
multumesc mult de ajutor! functioneaza perfect