Linkssysteem met categorieën V2

Door Pieter Boussaer, 23 jaar geleden, 6.355x bekeken

Hallo

ik heb dit script http://www.phphulp.nl/php/scripts/7/71 een beetje aangepast omdat daar bij mij de categorieën niet werkten.
Dus hier mijn script. Met zeer veel dank aan Edwin Gozeling die me geholpen heeft dat de categorieën vanzelf erbij komen.

Als er moeilijkheden zijn vraag het maar hé

Voorbeeld: http://www.kljzaffelare.be/?menu=links

Gesponsorde koppelingen

PHP script bestanden

  1. linkssysteem-met-categorien-v2

 

Er zijn 9 reacties op 'Linkssysteem met categorien v2'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
EdwinG
EdwinG
23 jaar geleden
 
0 +1 -0 -1
Je database (tabel) opzet is niet in orde:
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

Je gebruikt een gereserveerde term in je database, het is beter om dat te vermijden.
John lietenberg
john lietenberg
23 jaar geleden
 
0 +1 -0 -1
Hij geeft de volgende errors:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in: ->
op de lijnen: 31 , 43 en 55..!

Overigens mag je nooit! , 'GET' in query's gebruiken. ( dat heb ik meerdere malen gelezen op diverse sites , waaronder phpfreakz , en security related sites)

En ik zie zojuist dat 'dat' de fout van : Bas Kreleger was :D
EdwinG
EdwinG
23 jaar geleden
 
0 +1 -0 -1
De volgende problemen/onvolkomenheden ben ik verder nog tegen gekomen.

1: # Catagorieen, voeg $fullcat[nummer] = "Catagorienaam" toe voor een nieuwe catagorie.
Bij het toevoegen van een nieuw item (keurig voorzien van '4' als index) wordt deze niet automatisch getoond.

2: 3 sql querys die precies het zelfde resultaat geven. (overbodige verbindingen met je database)

3: Zelfde code komt 3x voor.

Alle drie de punten zijn relatief simpel op te lossen, duur $fullcat[] met een foreach() te bewerken. Je code zou dan zoiets kunnen worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
error_reporting(E_ALL);
$hostname = "localhost";
$username = "xxx";
$password = "xxx";
$db = "test";

$fout = "Er kan geen database connectie gemaakt worden..<br>Probeer het na enkele minuten opnieuw. Wil het dan nog niet, neem dan contact met de webmaster op.";

@
mysql_connect($hostname,$username,$password);
@
mysql_select_db($db) or die ($fout);

// Catagorieen, voeg $fullcat[nummer] = "Catagorienaam" toe voor een nieuwe catagorie.

$fullcat[1] = "Sites";
$fullcat[2] = "Andere";
$fullcat[3] = "Muziek";
$fullcat[4] = "School";
  
if ( isset($_GET['url']) )
{

    $url = mysql_escape_string($_GET['url']);
    $sql = "UPDATE links SET aantal=aantal+1 WHERE url = '{$url}'";
    mysql_query($sql);
    header("Location: $url");
}

else
{
    $sql = "SELECT * FROM links ORDER BY name;";
    $tmp = mysql_query($sql);
    
    foreach ( $fullcat AS $index => $value )
    {

        echo '::&nbsp;<b><u>'.$value.'</u></b><br /><br />';
        while ( $list = mysql_fetch_array($tmp) )
        {

            if ( $list['cat'] == $index )
            {

                echo '&nbsp;&nbsp;::&nbsp;<a href="links.php?url='.$list['url'].'" target="_blank">';
                echo $list['name'].'</a>&nbsp;&nbsp;<span class="small">['.$list['lang'].'] [aantal keer geklikt: '.$list['aantal'].']</span><br />'."\n";
            }
        }

                mysql_data_seek($tmp,0);
    }
}

?>


Edit:
Natuurlijk wel mijn db gegevens er weer uithalen

[edit2]En dan zelf 2 fouten in mijn script laten zitten, nu opgelost.[/edit]


23 jaar geleden
 
0 +1 -0 -1
-Je hebt geen foutafhandeling
-Geen commentaar
Hipska BE
Hipska BE
23 jaar geleden
 
0 +1 -0 -1
ik zou toch voor cat meer dan 1 cijfer toestaan,
stel: je hebt 11 of 10 categoriëen (bij grote site's best mogelijk) wat dan?
EdwinG
EdwinG
23 jaar geleden
 
0 +1 -0 -1
Hipska: Je kunt in dit geval zo'n 2 miljard categoriën toevoegen. Eigenlijk is het getal achter INT niet nodig.

Verder zou ik van cat liever een tinyint maken (maximaal 256 categoriën), maar dat is niet noodzakelijk.

Mysql handleiding over dit punt:
Another extension is supported by MySQL for optionally specifying the display width of an integer value in parentheses following the base keyword for the type (for example, INT(4)). This optional display width specification is used to left-pad the display of values having a width less than the width specified for the column.
Pieter Boussaer
Pieter Boussaer
23 jaar geleden
 
0 +1 -0 -1
Hallo

Bij mij geeft hij geen enkele foutmelding.
Maar alvast bedankt om de fouten te zeggen.
EdwinG
EdwinG
23 jaar geleden
 
0 +1 -0 -1
Pieter: Zet eens error_reporting(E_ALL) boven aan je script, volgens mij krijg je wel een melding.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jesse
Jesse
23 jaar geleden
 
0 +1 -0 -1
eens kijken of ie werkt

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. linkssysteem-met-categorien-v2

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.