[PHP&MySQL] waarom lukt dit niet?

Pagina: 1
Acties:

  • SonOfSam
  • Registratie: Juni 2001
  • Laatst online: 21:53
Hallo,

ik ben een behoorlijke noob in PHP en MySQL. 8)7
Voor mijn stage ben ik bezig om een website voor intern gebruik aan te passen.
Deze website wordt gebruikt om documenten die door verschillende mensen zijn gemaakt (handige dingetjes dus) wat beter te verdelen.
Nou is het nadeel dat als er een document moet worden toegevoegd dat dit met een beetje pech op 10 verschillende pagina's moet worden geupdate.
Dat wil zeggen. eerst in de eigenlijke structuur, en in de zoekfunctie (op trefwoord) en nog een paar plekken.

Met andere woorden met een database zou dit maar op 1 plek hoeven.
Het probleem komt hier op neer:
De index bestaat uit een aantal categorien waar je uit kan kiezen. Als je er een van kiest wordt je doorgelinkt naar een volgende pagina, met eventueel nog een paar categorien, weer verder gelinkt, waar uit eindelijk de documenten staan.
Deze structuur moet blijven bestaan.
Ik heb al een script gevonden die aardig zou moeten doen wat ik wil. Echter ik kom niet verder als categorien A. Wat is hier fout aan?

PHP:
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
<?PHP

$mysql_link = mysql_connect("localhost", "user", "passwd"); 
mysql_select_db("res_cat", $mysql_link); 
echo "<html><body>" ; 

function listrub ($id , $exploseID ) 
{ 
global $PHP_SELF ; 
global $mysql_link ; 
$maxi = ($id*100)+100 ; 
$mini = $id*100 ; 
$query = "SELECT * FROM res_cat where ID < $maxi and ID > $mini " ; 
echo "<ol>"; 
if( $mysql_result = mysql_query($query , $mysql_link) ) 
{ 
while ($row = mysql_fetch_object($mysql_result)) 
{ 
// you have to link some action on leaves of course 
echo "<li> <a href='$PHP_SELF?ID_rub=$row->ID' > $row->ID_uname </a> </li> " ; 
$testID = ($exploseID - ($exploseID %100 ))/100 ; // WARNING only 3 level 
if ( $testID == $row->ID || $exploseID == $row->ID) 
{ 
listrub ($row->ID , $exploseID ) ; 
} 
} 
} 
echo "</ol>"; 
} 
$father =999999999; // a big number 
// get the grand...grand father 
if ( $ID_rub >100 ) 
{ 
$father = $ID_rub ; 
while ( $father >100 ) { $father= ( $father - ( $father %100) )/100 ; } 
} 
else{$father= $ID_rub ;} 
listrub ($father , $ID_rub ,$mysql_link ) ; 
echo "</body></html>"; 

?>


De database die er bij hoort is simpel zat. Een kolom met ID. Deze bestaat uit een nummer voor de categorie waar die behoort (1-100 voor hoofdcategorien, 101-999 voor subcategorien enz.) en een link naam genaamd ID_uname, met de naam van de categorie. Dat was het.

Is er iemand die mij kan zeggen wat er fout is aan dit stukje code?

[ Voor 14% gewijzigd door SonOfSam op 30-09-2004 16:39 . Reden: ver***** de layout een beetje ]

Time flies like an arrow, but fruitflies like a banana


  • blizt
  • Registratie: Januari 2003
  • Laatst online: 22-05 10:11

blizt

Wannabe-geek

Heb je dit nu zelf gescript of ergens vandaan?
Verder vind ik je categorie-indeling beetje vreemd, 'n eigen tabel voor de subcategories zou me al beter lijken óf 'n categorie 'n parent kunnen geven....
Maar ja :)
Wat doet ie nu eigenlijk niet wat ie wel zou moeten doen? Heb je zelf al debugged? Want je plemt hier nu 'n stukje code neer (wat je beter tussen php-tags kon doen btw ....) en dan van: debug 't maar?

United we stand, and divided we fall