Advanced PHP for Beginners

Links Class

Creates a multilayer hierarchical drop-down menu from an array of links, and also displays your MySQL data in bite sized chunks.

Download Now!
Links ( [ $query [, $display ]] )
limit ( )
display ( [ $form ] )
menu ( $menu [, $orientation ] )
modify ( $action, $url, $key [, $value ] )
ampify ( $url )
An Advanced PHP for Beginners Example
The (X)HTML Output
Final Result

This opens up a new links object. Use the optional $query and $display parameters to display your MySQL data in bite sized chunks.

$query:
A mysqli query that returns the number of records, or if you already know just put the number here.
$display:
The number of records to display. The default is 10.
Example:
<?php

$links 
= new Links ("SELECT COUNT(*) FROM table WHERE records = 'alot'"10);

?>
string limit ( )top

A mysqli string to get the requested records ie. " LIMIT start, display".

Returns:
A mysqli string to add onto your $query.
Example:
<?php

$result 
db_query ("SELECT * FROM table WHERE records = 'alot' {$links->limit()}");
while (list(
$info$data) = $result->fetch_row()) { $html .= $info ' ' $data '<br />'; }

?>
string display ( [ bool $form ] )top

Returns a set of xhtml links for users to navigate your sites content. To use this function you must declare the variables when opening the links object ie. $links = new links ($query, $display);

$form:
If you set this to false, you will be given the links without the form. Default is true.
Returns:
A string of code to add to your $html.
Example:
<?php

$html 
.= $links->display();

?>

Creates a multilayer, hierarchical drop-down menu.

$menu:
An array with subarrays for submenus. Follow the example(s) below.
$orientation:
Either 'vertical' or 'horizontal' to control the layout of your menu. The default is 'vertical'.
Returns:
A string of code to add to your $html.
Example:
<?php

$menu 
= array();
$menu['Main Links']['Home'] = '/';
$menu['Main Links']['Sign In'] = '/sign_in/';
$menu['Main Links']['Contact Us'] = '/contact_us/';
$menu['Classes']['Page Class'][] = '/page_class/';
$menu['Classes']['Page Class']['Page'] = '/page_class/#page';
$menu['Classes']['Page Class']['doctype'] = '/page_class/#doctype';
$menu['Classes']['Page Class']['access'] = '/page_class/#access';
$menu['Classes']['Page Class']['eject'] = '/page_class/#eject';
$menu['Classes']['Page Class']['title'] = '/page_class/#title';
$menu['Classes']['Page Class']['description'] = '/page_class/#description';
$menu['Classes']['Page Class']['keywords'] = '/page_class/#keywords';
$menu['Classes']['Page Class']['robots'] = '/page_class/#robots';
$menu['Classes']['Page Class']['charset'] = '/page_class/#charset';
$menu['Classes']['Page Class']['link'] = '/page_class/#link';
$menu['Classes']['Page Class']['body'] = '/page_class/#body';
$menu['Classes']['Page Class']['onload'] = '/page_class/#onload';
$menu['Classes']['Page Class']['display'] = '/page_class/#display';
$menu['Classes']['Links Class'][] = '/links_class/';
$menu['Classes']['Form Class'][] = '/form_class/';
$menu['Classes']['Form Class']['setup']['Form'] = '/form_class/#form';
$menu['Classes']['Form Class']['setup']['required'] = '/form_class/#required';
$menu['Classes']['Form Class']['setup']['values'] = '/form_class/#values';
$menu['Classes']['Form Class']['validation']['check'] = '/form_class/#check';
$menu['Classes']['Form Class']['validation']['process'] = '/form_class/#process';
$menu['Classes']['Form Class']['validation']['upload'] = '/form_class/#upload';
$menu['Classes']['Form Class']['validation']['validate'] = '/form_class/#validate';
$menu['Classes']['Form Class']['validation']['error'] = '/form_class/#error';
$menu['Classes']['Form Class']['creating']['header'] = '/form_class/#header';
$menu['Classes']['Form Class']['creating']['field'] = '/form_class/#field';
$menu['Classes']['Form Class']['creating']['recaptcha'] = '/form_class/#recaptcha';
$menu['Classes']['Form Class']['closing']['close'] = '/form_class/#close';

$html .= $links->menu ($menu);

?>
string modify ( string $action, string $url, string $key [, string $value ] )top

This method edits ($action) a $url query string by modifying, adding, or deleting a $key and its $value.

$action:
Specify 'delete' to remove, and 'add' to include or modify a query string variable.
$url:
The url link to edit.
$key:
The query string variable in question.
$value:
If $action == 'add'. Otherwise you can just leave it out.
Returns:
Your modified $url.
Example:
<?php

$url 
'http://www.mysite.com/content.php?showme=more&now=please';
$url $links->modify ('delete'$url'now');
$url $links->modify ('add'$url'showme''themoney');
$url $links->modify ('add'$url'hurryit''up');
$url $links->modify (''$url); // Let's try this again and start over . . .

?>
string ampify ( [ string $url ] )top

This function replaces those pesky "&"s in your query string with an (x)html friendly "&amp;".

$url:
The link you would like to make (x)html compliant.
Returns:
Your ampified $url.
Example:
<?php

$url 
$links->ampify ('http://www.yoursite.com/page.php?query=string&that=problem');

?>
An Advanced PHP for Beginners Example:top
<?php

$page 
= new Page;
$page->link('style.css');
$html '';

$menu = array();
$menu['Main Links'] = array('Home'=>'/''Sign In'=>'/sign_in/''Contact Us'=>'/contact_us/');
$menu['Classes'] = array(
     
'Page Class' => array(
          
'/page_class/'
          
'Page' => '/page_class/#page'
          
'doctype' => '/page_class/#doctype'
          
'access' => '/page_class/#access'
          
'eject' => '/page_class/#eject'
          
'title' => '/page_class/#title'
          
'page' => '/page_class/#page'
          
'description' => '/page_class/#description'
          
'keywords' => '/page_class/#keywords'
          
'robots' => '/page_class/#robots'
          
'charset' => '/page_class/#charset'
          
'link' => '/page_class/#link'
          
'body' => '/page_class/#body'
          
'onload' => '/page_class/#onload'
          
'display' => '/page_class/#display'
          
), 
     
'Links Class' => '/links_class/'
     
'Form Class' => array(
          
'/form_class/'
          
'setup' => array(
               
'Form' => '/form_class/#form'
               
'required' => '/form_class/#required'
               
'values' => '/form_class/#values'
               
), 
          
'validation' => array(
               
'check' => '/form_class/#check'
               
'process' => '/form_class/#process'
               
'upload' => '/form_class/#upload'
               
'validate' => '/form_class/#validate'
               
'error' => '/form_class/#error'
               
), 
          
'creating' => array(
               
'header' => '/form_class/#header'
               
'field' => '/form_class/#field'
               
'recaptcha' => '/form_class/#recaptcha'
               
), 
          
'closing' => array('close' => '/form_class/#close')
          )
     );

/* A more readable version of the above:
$menu = array();
$menu['Main Links']['Home'] = '/';
$menu['Main Links']['Sign In'] = '/sign_in/';
$menu['Main Links']['Contact Us'] = '/contact_us/';
$menu['Classes']['Page Class'][] = '/page_class/';
$menu['Classes']['Page Class']['Page'] = '/page_class/#page';
$menu['Classes']['Page Class']['doctype'] = '/page_class/#doctype';
$menu['Classes']['Page Class']['access'] = '/page_class/#access';
$menu['Classes']['Page Class']['eject'] = '/page_class/#eject';
$menu['Classes']['Page Class']['title'] = '/page_class/#title';
$menu['Classes']['Page Class']['description'] = '/page_class/#description';
$menu['Classes']['Page Class']['keywords'] = '/page_class/#keywords';
$menu['Classes']['Page Class']['robots'] = '/page_class/#robots';
$menu['Classes']['Page Class']['charset'] = '/page_class/#charset';
$menu['Classes']['Page Class']['link'] = '/page_class/#link';
$menu['Classes']['Page Class']['body'] = '/page_class/#body';
$menu['Classes']['Page Class']['onload'] = '/page_class/#onload';
$menu['Classes']['Page Class']['display'] = '/page_class/#display';
$menu['Classes']['Links Class'][] = '/links_class/';
$menu['Classes']['Form Class'][] = '/form_class/';
$menu['Classes']['Form Class']['setup']['Form'] = '/form_class/#form';
$menu['Classes']['Form Class']['setup']['required'] = '/form_class/#required';
$menu['Classes']['Form Class']['setup']['values'] = '/form_class/#values';
$menu['Classes']['Form Class']['validation']['check'] = '/form_class/#check';
$menu['Classes']['Form Class']['validation']['process'] = '/form_class/#process';
$menu['Classes']['Form Class']['validation']['upload'] = '/form_class/#upload';
$menu['Classes']['Form Class']['validation']['validate'] = '/form_class/#validate';
$menu['Classes']['Form Class']['validation']['error'] = '/form_class/#error';
$menu['Classes']['Form Class']['creating']['header'] = '/form_class/#header';
$menu['Classes']['Form Class']['creating']['field'] = '/form_class/#field';
$menu['Classes']['Form Class']['creating']['recaptcha'] = '/form_class/#recaptcha';
$menu['Classes']['Form Class']['closing']['close'] = '/form_class/#close';
*/

$links = new Links;
$html .= '<div style="margin:10px">' $links->menu ($menu) . '</div>';
unset (
$links);

$links = new Links (10010);
$html .= $links->display() . '<br /><br />';

// This is the link we're going to mess with.
$url 'http://www.mysite.com/content.php?showme=more&now=please';

$html .= "\n  " $links->modify ('delete'$url'now') . '<br /><br />';

$html .= "\n  " $links->modify ('add'$url'showme''themoney') . '<br /><br />';

$html .= "\n  " $links->modify ('add'$url'hurryit''up') . '<br /><br />';

$html .= "\n  " $links->modify (''$url) . '<br /><br />'// Gives us a clean slate to work with.

unset ($links);

echo 
$page->display ($html);

?>
The (X)HTML Output:top
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>Advanced PHP for Beginners</title>
  <meta name="description" content="Advanced PHP for Beginners">
  <meta name="keywords" content="Advanced PHP for Beginners">
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  <link rel="stylesheet" type="text/css" href="http://www.advancedphpforbeginners.com/combine/style-links_menu-form_fields.css">
  <script type="text/javascript" src="http://www.advancedphpforbeginners.com/combine/links_menu.js"></script>
</head>
<body>
  <div style="margin:10px"><script type="text/javascript">var submenus = new Array('menuaa','menuab','menuaba','menuabb','menuabba','menuabbb','menuabbc','menuabbd');</script><div id="menua" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="lista"><li id="linka1"><a href="javascript:void(0)" onmouseover="displayMenu('a','a',1,this)">Main Links</a></li><li id="linka2"><a href="javascript:void(0)" onmouseover="displayMenu('a','b',2,this)">Classes</a></li></ul></div><div id="menuaa" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="listaa"><li id="linkaa1"><a href="/" onmouseover="clearAllSubs('aa')">Home</a></li><li id="linkaa2"><a href="/sign_in/" onmouseover="clearAllSubs('aa')">Sign In</a></li><li id="linkaa3"><a href="/contact_us/" onmouseover="clearAllSubs('aa')">Contact Us</a></li></ul></div><div id="menuab" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="listab"><li id="linkab1"><a href="/page_class/" onmouseover="displayMenu('ab','a',1,this)">Page Class</a></li><li id="linkab2"><a href="/links_class/" onmouseover="clearAllSubs('ab')">Links Class</a></li><li id="linkab3"><a href="/form_class/" onmouseover="displayMenu('ab','b',3,this)">Form Class</a></li></ul></div><div id="menuaba" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="listaba"><li id="linkaba2"><a href="/page_class/#page" onmouseover="clearAllSubs('aba')">Page</a></li><li id="linkaba3"><a href="/page_class/#doctype" onmouseover="clearAllSubs('aba')">doctype</a></li><li id="linkaba4"><a href="/page_class/#access" onmouseover="clearAllSubs('aba')">access</a></li><li id="linkaba5"><a href="/page_class/#eject" onmouseover="clearAllSubs('aba')">eject</a></li><li id="linkaba6"><a href="/page_class/#title" onmouseover="clearAllSubs('aba')">title</a></li><li id="linkaba7"><a href="/page_class/#page" onmouseover="clearAllSubs('aba')">page</a></li><li id="linkaba8"><a href="/page_class/#description" onmouseover="clearAllSubs('aba')">description</a></li><li id="linkaba9"><a href="/page_class/#keywords" onmouseover="clearAllSubs('aba')">keywords</a></li><li id="linkaba10"><a href="/page_class/#robots" onmouseover="clearAllSubs('aba')">robots</a></li><li id="linkaba11"><a href="/page_class/#charset" onmouseover="clearAllSubs('aba')">charset</a></li><li id="linkaba12"><a href="/page_class/#link" onmouseover="clearAllSubs('aba')">link</a></li><li id="linkaba13"><a href="/page_class/#body" onmouseover="clearAllSubs('aba')">body</a></li><li id="linkaba14"><a href="/page_class/#onload" onmouseover="clearAllSubs('aba')">onload</a></li><li id="linkaba15"><a href="/page_class/#display" onmouseover="clearAllSubs('aba')">display</a></li></ul></div><div id="menuabb" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="listabb"><li id="linkabb2"><a href="javascript:void(0)" onmouseover="displayMenu('abb','a',2,this)">setup</a></li><li id="linkabb3"><a href="javascript:void(0)" onmouseover="displayMenu('abb','b',3,this)">validation</a></li><li id="linkabb4"><a href="javascript:void(0)" onmouseover="displayMenu('abb','c',4,this)">creating</a></li><li id="linkabb5"><a href="javascript:void(0)" onmouseover="displayMenu('abb','d',5,this)">closing</a></li></ul></div><div id="menuabba" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="listabba"><li id="linkabba1"><a href="/form_class/#form" onmouseover="clearAllSubs('abba')">Form</a></li><li id="linkabba2"><a href="/form_class/#required" onmouseover="clearAllSubs('abba')">required</a></li><li id="linkabba3"><a href="/form_class/#values" onmouseover="clearAllSubs('abba')">values</a></li></ul></div><div id="menuabbb" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="listabbb"><li id="linkabbb1"><a href="/form_class/#check" onmouseover="clearAllSubs('abbb')">check</a></li><li id="linkabbb2"><a href="/form_class/#process" onmouseover="clearAllSubs('abbb')">process</a></li><li id="linkabbb3"><a href="/form_class/#upload" onmouseover="clearAllSubs('abbb')">upload</a></li><li id="linkabbb4"><a href="/form_class/#validate" onmouseover="clearAllSubs('abbb')">validate</a></li><li id="linkabbb5"><a href="/form_class/#error" onmouseover="clearAllSubs('abbb')">error</a></li></ul></div><div id="menuabbc" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="listabbc"><li id="linkabbc1"><a href="/form_class/#header" onmouseover="clearAllSubs('abbc')">header</a></li><li id="linkabbc2"><a href="/form_class/#field" onmouseover="clearAllSubs('abbc')">field</a></li><li id="linkabbc3"><a href="/form_class/#recaptcha" onmouseover="clearAllSubs('abbc')">recaptcha</a></li></ul></div><div id="menuabbd" class="menu" onmouseover="stopMenuTimer()" onmouseout="startMenuTimer()"><ul id="listabbd"><li id="linkabbd1"><a href="/form_class/#close" onmouseover="clearAllSubs('abbd')">close</a></li></ul></div></div><form method="post" action="/redirect/"><fieldset style="border:0px; padding:0px;"><legend style="display:none;">&nbsp;</legend><input type="hidden" name="redirect" value="true"><input type="hidden" name="url" value="http://www.advancedphpforbeginners.com/code/sample/links.php?np=10"><input type="hidden" name="number" value="10"><input type="hidden" name="display" value="10">
  <table align="center">
  <tr>
  <td colspan="2" align="center"><big>1 </big><a href="http://www.advancedphpforbeginners.com/code/sample/links.php?np=10&amp;s=10">2</a> <a href="http://www.advancedphpforbeginners.com/code/sample/links.php?np=10&amp;s=20">3</a> <big> . . . </big><a href="http://www.advancedphpforbeginners.com/code/sample/links.php?np=10&amp;s=70">8</a> <a href="http://www.advancedphpforbeginners.com/code/sample/links.php?np=10&amp;s=80">9</a> <a href="http://www.advancedphpforbeginners.com/code/sample/links.php?np=10&amp;s=90">10</a>  - <a href="http://www.advancedphpforbeginners.com/code/sample/links.php?np=10&amp;s=10">Next</a></td></tr>
  <tr>
  <td align="right">Go To Page: <label for="page"><input type="text" name="page" id="page" size="3" maxlength="5"></label></td>
  <td align="left"><input type="submit" name="submit" class="submit" value="Submit"></td></tr>
  </table></fieldset></form><br><br>
  http://www.mysite.com/content.php?showme=more<br><br>
  http://www.mysite.com/content.php?now=please&amp;showme=themoney<br><br>
  http://www.mysite.com/content.php?showme=more&amp;now=please&amp;hurryit=up<br><br>
  http://www.mysite.com/content.php<br><br>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </body>
</html>
Final Result:top
Bookmark This Page
Home
Download
Contact Us