Ik heb een site voor het beheren van telefoonnummers van een bedrijf. Nu moet er een lijst worden uitgedraait van alle interne nummers. Deze lijst moet op 1 A4 worden geplaatst.
Hiervoor heb ik de grootte van het lettertype aangepast en de lijst geprobeerd in twee tabellen te zetten.
Het probleem is dat deze lijst niet op alfabetische volgorde van naam kan worden gezet. Dit komt doordat ik alle even id-nummers in de rechter tabel heb geplaatst en alle oneven id-nummers in de linker tabel.
Weet er iemand een andere oplossing om te zorgen dat dit wel op alfabetische volgorde kan worden geplaatst?
Ik zit nu een beetje te proberen weer met het script. Nu wordt de alfabetische volgorde van links naar rechts gedaan en zo de gehele lijst door. Nu ben ik aan het proberen om de volgorde van boven naar beneden te krijgen. En wanneer de linker tabel 79 rows telt de rechter tabel te openen.
De linkerkant gaat maar tot 79 rows maar nu moet ik de rest van de rows nog in de rechter tabel plaatsen.
Dit stukje code heb ik tot nu toe:
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//includes
include('config.php');
include('dbcon.php');
echo '<b>Interne nummers op naam</b>';
// onderstaand array is dus jouw database
$query = mysql_query("SELECT * FROM intern ORDER BY naam ASC");
$aantal = mysql_num_rows($query);
// aantal kolommen die je wilt hebben
$kolommen = 2;
?>
<table BORDER="0" ALIGN="left" STYLE="font-size: 5.5pt;">
<tr align='left'>
<td width="100"><b>Naam</b></td>
<td width="10"><b>Telnr.</b></td>
<td width="10"><b>Inlog</b></td>
<td width="120"><b>Afdeling</b></td>
<td width="10"><b>Groep</b></td>
<td width="100"><b>Naam</b></td>
<td width="10"><b>Telnr.</b></td>
<td width="10"><b>Inlog</b></td>
<td width="120"><b>Afdeling</b></td>
<td width="10"><b>Groep</b></td>
</tr>
<?php
// afblijven
$max = 79;
for($links=0; $links<$max; $links++)
{
echo '<tr>';
// if($max < $aantal)
if ($links < $max)
{
// hier moet je fetchen en de data neerzetten
$row2 = (mysql_fetch_array( $query ));
echo '<td width="100">' . $row2['naam'] . '</td>';
echo '<td width="10">' . $row2['nummer'] . '</td>';
echo '<td width="10">' . $row2['inlog'] . '</td>';
echo '<td width="120">' . $row2['afdeling'] . '</td>';
echo '<td width="10">' . $row2['groep'] . '</td>';
}
else
{
echo '<td> </td>';
}
}
echo '</table>';
?>
Ik had even rijen veranderd ipv 2 naar 79. Hij pakt nu wel precies 79 rijen alleen de alfabetische volgorde is nog steeds van links naar rechts.
Deze moet nu nog van boven naar beneden worden. Ik probeer het ook als ik het weet post ik het.
Dus resultaat moet worden:
a f
b g
c h
d i
e j
Het resultaat is nu:
a b
c d
e f
g h
i j
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//includes
include('config.php');
include('dbcon.php');
echo '<b>Interne nummers op naam</b>';
// onderstaand de query
$query = mysql_query("SELECT * FROM intern ORDER BY naam ASC");
// aantal rijen die je wilt hebben
$rijen = 79;
// dit is mysql_num_rows()
$max = mysql_num_rows($query);;
// afblijven
$kolommen = ceil($max / $rijen);
echo '<table BORDER="0" ALIGN="left" STYLE="font-size: 5.5pt;">
<tr align="left">
<td width="100"><b>Naam</b></td>
<td width="10"><b>Telnr.</b></td>
<td width="10"><b>Inlog</b></td>
<td width="120"><b>Afdeling</b></td>
<td width="10"><b>Groep</b></td>
<td width="100"><b>Naam</b></td>
<td width="10"><b>Telnr.</b></td>
<td width="10"><b>Inlog</b></td>
<td width="120"><b>Afdeling</b></td>
<td width="10"><b>Groep</b></td>
</tr>';
for($i=0; $i<$rijen; $i++)
{
echo '<tr>';
for($j=0; $j<$kolommen; $j++)
{
if(($i + ($j * $rijen)) < $max)
{
// hier moet je fetchen en de data neerzetten
$row2 = (mysql_fetch_array( $query ));
echo '<td width="100">' . $row2['naam'] . '</td>';
echo '<td width="10">' . $row2['nummer'] . '</td>';
echo '<td width="10">' . $row2['inlog'] . '</td>';
echo '<td width="120">' . $row2['afdeling'] . '</td>';
echo '<td width="10">' . $row2['groep'] . '</td>';
}
else
{
echo '<td width="100"> </td>';
echo '<td width="10"> </td>';
echo '<td width="10"> </td>';
echo '<td width="120"> </td>';
echo '<td width="10"> </td>';
}
}
echo '</tr>';
}
echo '</table>';
?>