PX : code

Dynamic Link List by Stephan jau
Download this code


************************************************************
*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
Category: $category\"
);
endif;

include($gbPage);

endif;

?>

</BODY>
</HTML>

/* end link.php

Comments or questions?
PX is running PHP 5.2.17
Thanks to Miranda Productions for hosting and bandwidth.
Use of any code from PX is at your own risk.