Avatar billede Slettet bruger
25. juli 2010 - 12:25 Der er 2 kommentarer og
1 løsning

Opgradering af PHP script

Hej,

Jeg har overtaget en side som jeg gerne vil have udviklet lidt på.

Jeg vil gerne have kategorier bygget ind i den, således at kategorierne vises i eksempelvis 3 kolonner og x rækker.

Her vises 3 kolonner og 1 række. Antal links i hver kategori vises i parantesen.

Kat. 1 (25) Kat. 2 (37) Kat. 3 (14)
Link 1 Link 1 Link 1
Link 2 Link 2 Link 2
Link 3 Link 3 Link 3
Link 4 Link 4 Link 4
Link 5 Link 5 Link 5
-----------
På siden "Tilføj URL" vil jeg gerne have karakter til at virke, således at jeg kan angive en karakter fra 1-5 for det link jeg tilføjer.
-----------
Jeg vil også gerne ha skrevet de inkluderede filer ind i selve index.php så systemet ikke skal hente filer rundt omkring på serveren.
-----------

Nogen hos jer der har mod på denne opgave, og hvad skal det evt. koste??

MySQL
Jeg er ikke sikker på at SQL er sat rigtigt op, så rettelser er velkomne.
CREATE TABLE `links` (
  `id` int(11) NOT NULL auto_increment,
  `top` tinyint(2) NOT NULL default '0',
  `rating` int(2) default '0',
  `hits` int(11) default '0',
  `date` date default NULL,
  `cat` varchar(64) NOT NULL default '',
  `title` varchar(64) NOT NULL default '',
  `url` varchar(256) NOT NULL default '',
  UNIQUE KEY `id` (`id`),
  KEY `top` (`top`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=34 ;


INDEX.PHP
<?php
  $page_title         = "Linksamling";
  $stylesheet         = "blue";
  require($_SERVER["DOCUMENT_ROOT"].'/php/boot.php');
  include($_SERVER["DOCUMENT_ROOT"].'/php/functions.php');
?>

<table width="800" border="0">
  <tr>
    <td>
<?php

$thisfile = $PHP_SELF;
// linkstrenge til de tre funktioner.
$linkshowtop = "[ <a href=\"$thisfile\">Top links</a> ] ";
$linkshowall = "[ <a href=\"$thisfile?show=all\">Vis alle</a> ] ";
$linkadd = "[ <a href=\"$thisfile?addurl=yes\">Tilføj webside / URL</a> ] ";

if (strtolower($show) == "all") {
  $where = "";
} else {
  $where = " having point >= 0";
}

$count = query("select sum(hits) as cnt from links");
$hitcount = $count[0]->cnt;
/*
  $result = query("select id,title,date,rating,hits,url,(hits*rating-(to_days(curdate())-to_days(date))) as point ".
                "from links$where order by top desc, point DESC");
*/
$result = query("select id,title,date,rating,hits,url,(rating*10+(hits)) as point ".
                "from links$where order by top desc, point DESC");

page_start("");

echo $linkshowtop;
echo $linkshowall;
echo $linkadd;

if (!isset($addurl)) {
echo "<table width='800' border=0 cellpadding=2 cellspacing=0>\n";
  for ($i=0;$i<sizeof($result);$i++) {
    if ($result[$i]->point >= 0) {
      $point = $result[$i]->point;
    } else {
      $point = "-";
    }
    echo "<tr><td><p title='".$result[$i]->url."'>".
        "<a href='/links/golink.php?id=".$result[$i]->id."' target='_blank'>".
        stripslashes($result[$i]->title)."</a><a href='".$result[$i]->url."'>".
        "</a></td>".
        "<td><img src=\"/images/links/".$result[$i]->rating.".gif\" ".
        "alt='".stars($result[$i]->rating)."' width='33' height='16'></td>".
        "<td align=\"right\">".$result[$i]->hits."</td>";
    echo "<td align=\"right\">$point</td>";

    echo "</tr>\n";
  }

echo "</table>";
} else {
?>

<form action='/links/addlink.php' method='post' target='_blank'>
  <table width='600' border='0' align='center'>
    <tr>
      <td>Websidens navn: </td>
      <td><input type='text' name='title' value='' size='30' id='t350'></td>
    </tr>
    <tr>
      <td>URL : </td>
      <td><input type='text' name='url' value='http://' size='30' id='t350'></td>
    </tr>
    <tr>
      <td>Karakter : </td>
      <td>
        <label><input type="radio" name="Rating" value="1" id="Rating_0" />1</label>    
        <label><input type="radio" name="Rating" value="2" id="Rating_1" />2</label>    
        <label><input type="radio" name="Rating" value="3" id="Rating_2" />3</label>    
        <label><input type="radio" name="Rating" value="4" id="Rating_2" />4</label>    
        <label><input type="radio" name="Rating" value="5" id="Rating_2" />5</label>    
      </td>
    </tr>
  <tr>
      <td colspan="2" align='center'><br /><input type='submit' value='Tilføj link' id='submit' name="submit"></td>
    </tr>
    <tr>
      <td colspan="2" align='right'><br /><b>NB!</b> Din IP logges ved "Tilføj link"</td>
    </tr>
  </table>
</form>
<?}
echo "Total hits : $hitcount\n";
echo mysql_error();

page_end();
?>
    </td>
  </tr>
</table>

BOOT.PHP
<?php
$DB_HOST="localhost";
$DB_USER="";
$DB_PASS="";
$DB_DATABASE="";

if ($BOOT_PHP != 1) {

  function query($string) {
    global $DB_CONNECTION;
    global $DB_DATABASE;
    global $DB_USER;
    global $DB_PASS;
    global $DB_HOST;

    if (!$DB_CONNECTION)
      $DB_CONNECTION=mysql_connect($DB_HOST,$DB_USER,$DB_PASS);

    $sqlresult=mysql_db_query($DB_DATABASE,$string,$DB_CONNECTION);
    if (!$sqlresult) {
      return array();
    }
    while ($row=mysql_fetch_object($sqlresult)) {
      $result[]=$row;
    }
    return $result;
   
}
 
  function squery($string) {
    global $DB_CONNECTION;
    global $DB_DATABASE;
    global $DB_USER;
    global $DB_PASS;
    global $DB_HOST;

    if (!$DB_CONNECTION)
      $DB_CONNECTION=mysql_pconnect($DB_HOST,$DB_USER,$DB_PASS);

    $sqlresult=mysql_db_query($DB_DATABASE,$string,$DB_CONNECTION);
  }

  function mappath() {
    /* Credits to Beast for helping me with this one */
    global $HTTP_HOST;
    global $PHP_SELF;
    return "http://" . $HTTP_HOST. dirname($PHP_SELF)."/";
  }

  $BOOT_PHP = 1;
}
?>

FUNCTIONS.PHP
<?
function stars($count) {
if ($count > 0) {
  return "[".str_repeat("+",$count).str_repeat("-",10-$count)."]";
} else {
  return "Afventer...";
}
}

function line($width=380) {
  $temp = "<table cellpadding=0 cellspacing=2 border=0 width=$width height=1>".
          "<tr><td bgcolor=#0000cf height=1 width=$width>".
          "<img src=\"/rate/cleardot.gif\" alt=\"----------------------\" width=1 height=1></td></tr></table>\n";

  return $temp;
}

function page_start() {

  echo "<center><p><b>$title</b></p>\n";
}

function page_end() {
  echo "</center>\n";
}
?>


Hilsen Frank
Avatar billede Slettet bruger
25. juli 2010 - 12:28 #1
Det skal måske lige tilføjes at jeg ikke selv har forstnad på PHP. Jeg søger den færdige løsning, og betaler gerne lidt ekstra for det.
Avatar billede majbom Novice
25. juli 2010 - 14:11 #2
hvis du søger en færdig løsning og vil betale for det, bør du ligge den i kategorien opgaver :)
Avatar billede Slettet bruger
25. juli 2010 - 14:55 #3
Godt så
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester