Scripts

A B C links + Pagina 1 2 3 & Sorteren

Omdat ik bezig was met een ledenlijst heb ik dit even gemaakt, en dacht laat ik het maar toevoegen mischien hebben anderen er nog wat aan ;) Het script werkt als volgende, het geeft alle leden weer en bovenaan een links A t/m Z. Als je op A klikt zie je alle members die naam hebben die begint met een A. Als dat er meer zijn dan 25, dan worden er verschillende pagina's gemaakt en links gevormd onderaan. Mocht iemand nog verbeteringen zien post het dan ff :D

a-b-c-links-pagina-1-2-3-en-sorteren
[code]
<?php
$host = "localhost";		// MySql Host 
$gebruiker = "";		// Gebruikersnaam om in de database te komen 
$wachtwoord = "";	// Wachtwoord om in de database te komen 
$database = "";		// Datebase naam
		
mysql_connect($host, $gebruiker, $wachtwoord) or die(mysql_error()); 
mysql_select_db($database) or die(mysql_error());

$letter = $_GET['letter'];
$aantal_leden = 25; 

if(isset($_GET['sorteren'])) 
{ 
	switch($_GET['sorteren']) 
	{ 
		case "naam": $sorteer = "naam"; break; 
		case "email": $sorteer = "email"; break; 

		default: $sorteer = "naam"; break; 
	} 
} 
else 
{ 
	$sorteer = "naam"; 
}

if (isset($_GET['type']) && ($_GET['sorteren']))
{
	$type = $_GET['type'];
	if ($type == "ASC") 
	{
		$type = "DESC";
	}
	else 
	{
		$type = "ASC";
	}
}
else 
{
	$type = "ASC";
} 


$sql = "SELECT COUNT(*) AS `totaal` FROM `leden` WHERE `naam` LIKE '".addslashes($letter)."%'";
$res = mysql_query ($sql) or die (mysql_error ());
$list = mysql_fetch_assoc($res);
$aantal = $list['totaal'];

if(isset($_GET['id']) && (is_numeric($_GET['id'])))
{
	$id = $_GET['id'];
}
else 
{
	$id = 0;
}

echo "<a href=\"".$_SERVER['PHP_SELF']."?letter=tekens\">#</a>&nbsp;|&nbsp;";

for ($i = 65 ; $i < 91 ; $i++)
{
	echo "<a href=\"".$_SERVER['PHP_SELF']."?letter=".urlencode(chr($i))."\">".chr($i)."</a>&nbsp;|&nbsp;";
}

echo "<a href=\"".$_SERVER['PHP_SELF']."\">Alles</a>\n<br />\n<br />\n<hr\n><br />\n";

if($letter == "tekens") 
{
	$sql = "SELECT * FROM `leden` WHERE `naam` NOT REGEXP '^[a-z]' ORDER BY ".$sorteer." ".$type." LIMIT ".addslashes($id).", ".$aantal_leden."";
} 
else 
{
	$sql = "SELECT * FROM `leden` WHERE `naam` LIKE '".$letter."%' ORDER BY ".$sorteer." ".$type." LIMIT ".addslashes($id).", ".$aantal_leden."";
}

$query = mysql_query($sql);
if(mysql_num_rows($query) == 0) 
{
	if(isset($_GET['letter']))
	{
		echo "</table>
		<p style=\"text-align: center;\">Er zijn geen Leden gevonden met de letter ".$_GET['letter']."</p>";
	}
	else
	{
		echo "</table>
		<p style=\"text-align: center;\">Er zijn nog geen leden toegevoegd!</p>";
	}
} 
else 
{
?>
	<table border="0" cellpadding="1" cellspacing="0" width="90%">
		<tr>
			<td><b><a href="<?php echo $_SERVER['PHP_SELF']."?letter=".urlencode($letter)."&sorteren=naam&type=".urlencode($type);?>">Naam</a></b></td>
			<td><b><a href="<?php echo $_SERVER['PHP_SELF']."?letter=".urlencode($letter)."&sorteren=email&type=".urlencode($type);?>">Email</a></b></td>
			<td><b>Toegevoegd op</b></td>
		</tr>
		<tr>
            <td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
        </tr>
<?php
	while($list = mysql_fetch_assoc($query))
	{
    echo "<tr> 
        <td>".ucfirst($list['naam'])."</td> 
        <td>".$list['email']."</td> 
        <td>".$list['toegevoegd']."</td> 
    </tr>"; 
	}
	echo "<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
    	</tr>
	</table>
	<hr>";
	
	$paginas = $aantal / $aantal_leden;
	if($paginas > 1)
	{
		echo "
		<p style=\"text-align: center;\">
		<br />
		Pagina's &nbsp;";
		for ($i = 0; $i < $aantal; $i += $aantal_leden) 
		{
			$pagina = $i / $aantal_leden + 1;
			echo "<a href=\"".$_SERVER['PHP_SELF']."?letter=".urlencode($letter)."&id=".urlencode($i)."&sorteren=".urlencode($_GET['sorteren'])."&type=".urlencode($_GET['type'])."\">".$pagina." | </a> ";
		}
	}
}
?>
[/code]

Reacties

0
Nog geen reacties.