Zend - The PHP Company




HTML

Add Code


Dynamic Link List  

Type: application
Added by: wsjb78
Entered: 22/02/2001
Last modified: 02/12/2000
Rating: - (fewer than 3 votes)
Views: 7319
This script let's you add a dynmaic link library based on php and mysql. The links are sorted by categories (either existing ones or with the submission of a link a new category can be created). The links within a category are listed alphabetically, the categories by time of creation (first one first). If you have any improvements on that script, please mail them to wsjb78@gmx.net


************************************************************
*Important:                                                *
*You can use this code freely on your website / homepage.  *
*If you have some suggestions for improvement, please mail *
*the specifications to webmaster@wsjb78.com                *
*Thanks!!!                                                 *
************************************************************

linklist.sql

/* start linklist.sql

CREATE TABLE linklist (
   name varchar(50) NOT NULL,
   description varchar(120) NOT NULL,
   url varchar(80) NOT NULL,
   banner varchar(80) NOT NULL,
   category varchar(50) NOT NULL
);

/* end linklist.sql



config.inc

/* start config.inc

<?

$PostPage 
"post.php"// The page with the form on it
$gbPage "index.php";  // The main page

$notify 1// Would you like to be notified when a link is added? 1 = yes, 0 = no
$my_email ""// Enter your email address
$subject "Link Entry" // Enter the subject of the notification email


$username ""// Username for database here
$password ""// Password for database here
$db_name =  ""// Name of your database here

// Link Table Layout
$table_width="100%";
$table_border="0";
$cellspacing="5";
$cellpadding="5";
$table_height="";
$table_bgcolor="";
$bordercolor="";
$td_width="20"// Indent of the links!!!
$td_height="20";
$td_bgcolor="";

?>

/* end config.inc



index.php

/* start index.php

<html>
<head>
<title></title>
</head>
<body>

<?

include ("config.inc");

//connect
mysql_connect"localhost""$username""$password") or die( "Unable to connect to SQL server");
mysql_select_db"$db_name") or die( "Unable to select database");

// Get all catetgories
$result mysql_query("SELECT category from linklist");
$array_category = array();
while (
$row mysql_fetch_array ($result)) {
$array_temp = array($row[0]);
$array_category array_merge($array_category$array_temp);
}
mysql_free_result ($result);

// Remove multiple entries
$array_category array_unique($array_category);

// Sorting on natural algorithm
// if ($sorting="1") { $array_category = natsort($array_category);}

// Set pointer to first entry
reset ($array_category);

while (list (
$key$val) = each ($array_category)) {

?>
<p><font size="+2"><? echo $val?></font><br>
</p><table width="<? echo $table_width?>" border="<? echo $table_border?>"
cellspacing="<? echo $cellspacing?>" cellpadding="<? echo $cellpadding?>" height="<?
echo $table_height?>" bgcolor="<? echo $table_bgcolor?>" bordercolor="<? echo $bordercolor?>">

<?

$query 
"SELECT name, description, url, banner from linklist where category='$val' order by name";
$insert MYSQL_QUERY($query);
$number MYSQL_NUMROWS($insert);
$i 0;

while (
$i $number) {
$name mysql_result($insert,$i,"name");
$name stripslashes($name);
$description mysql_result($insert,$i,"description");
$description stripslashes($description);
$url mysql_result($insert,$i,"url");
$url stripslashes($url);
$banner mysql_result($insert,$i,"banner");
$link_url = ("<a href=$url>$name</a>");
$link_banner = ("<a href=$url><img src=$banner></a>");

if (
$banner=="") { ?>
  <tr>
    <td width="<? echo $td_width?>" height="<? echo $td_height?>" background="<? $td_bgcolor?>"> </td>
    <td width="100%" height="<? echo $td_height?>" background="<? $td_bgcolor?>"><font size="+1">
<? echo $link_url?></font><? if ($description!="") { ?>   ( <? echo $description?> ) <? ?></td>
  </tr>
<? } else { ?>
  <tr>
    <td width="<? echo $td_width?>" height="<? echo $td_height?>" background="<? $td_bgcolor?>"> </td>
    <td width="100%" height="<? echo $td_height?>" background="<? $td_bgcolor?>"><? echo $link_banner?></td>
  </tr>
<? if ($description!="") { ?>
  <tr>
    <td width="<? echo $td_width?>" height="<? echo $td_height?>" background="<? $td_bgcolor?>"> </td>
    <td width="100%" height="<? echo $td_height?>" background="<? $td_bgcolor?>">(<? echo $description?>)</td>
  </tr>

<? } } $i++; } ?>

</table>
<p><br>
  <br>
  <? ?>
</p>
<p> </p>
<p><b><font size="+1"Add Link</font></b><font size="+1">: </font></p>
<ul>
  <p>If you want to submit a new link then open <a href="post.php">this formular</a></p>
</ul>
<p>  </p>
</body>
</html>

/* end index.php



post.php

/* start post.php

<html>
<head>
<title></title>
</head>
<BODY>

<? include ("config.inc");  ?>
<P>Please fill in the following form or go back <a href="index.php">to the linklist</a></P>
<P> </P>

<form name="link" method="post" action="link.php">

  <table width="100%">
    <tr>
      <td width="19%">
        <p>Link Name:</p>
        <p> </p>
      </td>

      <td width="81%">
        <p>
          <input type="text" name="name" maxlength="50" size="50">
        </p>
        <p>  </p>
      </td>
          </tr>

    <tr>
      <td width="19%">
        <p>URL:</p>
        <p> </p>
      </td>

      <td width="81%">
        <p>
          <input type="text" name="url" maxlength="80" size="50">
          <br>
          Please use following URL syntax: http://www.mypage.com</p>
        <p>  </p>
      </td>
          </tr>

    <tr>
      <td width="19%">
        <p>URL of banner (if available):</p>
        <p> </p>
      </td>

      <td width="81%">
        <p>
          <input type="text" name="banner" maxlength="80" size="50">
        </p>
        <p>  </p>
      </td>
          </tr>

    <tr>
      <td width="19%">
        <p>Category:</p>
        <p> </p>
      </td>

      <td width="81%">
        <p>
          <select name="category_1" size="1">
            <? //connect
mysql_connect"localhost""$username""$password") or die( "Unable to connect to SQL server");
mysql_select_db"$db_name") or die( "Unable to select database");

// Get all catetgories
$result mysql_query("SELECT category from linklist order by category");
$array_category = array();
while (
$row mysql_fetch_array ($result)) {
$array_temp = array($row[0]);
$array_category array_merge($array_category$array_temp);
}
mysql_free_result ($result);

// Remove multiple entries
$array_category array_unique($array_category);

// Set pointer to first entry
reset ($array_category);

while (list (
$key$val) = each ($array_category)) {
if((
$val!="Unsere Patenverbindung in Bern:") AND ($val!="Unsere Patenkinder in Gossau:")) { ?>
            <option>
            <? echo $val?>
            </option>
            <? } } ?>
          </select>
          <br>
          If your site doesn't fit to any of the existing categories,<br>
          please enter the name of a new on in the field below:<br>
          <input type="text" name="category_2" maxlength="50" size="50">
        </p>
        <p> </p>
        </td>
          </tr>

    <tr>
      <td width="19%">
        <p>Short description (if applicable):</p>
        <p> </p>
      </td>

      <td width="81%">
        <p>
          <input type="text" name="description" maxlength="120" size="50">
        </p>
        <p>  </p>
      </td>
          </tr>
        </table>

  <p>
    <input type=submit name=submit value="Hinzuf�gen">
        Please press the Submit button only once. The submission can take a little while.
  </p>
  </form>

</BODY>
</HTML>

/* end post.php



link.php

/* start link.php

<HTML>
<HEAD></HEAD>
<BODY>
<?

include ("config.inc");

if ((
$name == "") AND ($url == "")):

$error1 "<font face='Arial' color='Red'><STRONG>Please fill in the fields Name and URL:</STRONG></font><br><br>";

echo 
$error1;

include(
$PostPage);

else:

if (
$category_2==""):

$category $category_1;

else:

$category $category_2;

endif;

//connect

$mysql_link mysql_pconnect"localhost""$username""$password") or die 
(
"Cannot reach the server. Please send a mail to $my_email.");
mysql_select_db"$db_name") or die( "Cannot reach the database. Please send a mail to $my_email.");

$insert "INSERT INTO linklist(name, description, url, banner, category) VALUES('$name', '$description', '$url', '$banner', '$category')";
$mysql_insert mysql_query($insert$mysql_link) or die 
(
"Please send a mail to $my_email and add the information that there could be made no new entries.");

// EMAIL THE NEW POST

if ($notify == 1):

mail
(
"$my_email",
"Link Eintrag",
"Name : $name
URL: 
$url
Banner: 
$banner
Beschreibung: 
$description
Kategorie: 
$category"
);
endif;

include(
$gbPage);

endif;

?>

</BODY>
</HTML>

/* end link.php


Usage Example


See the example


Rate This Script





Search



This Category All Categories