Webprogramozás arr PHP info Kérlek segítsetek! PHP!
(#7) Jedimaster 2014.01.08. 16:18

Jedimaster
Jedimaster
Kezdő

Sziasztok!

Egy kis segítségre lenne szükségem:
Van egy fórumkészítő tutorial, amit meg is csináltam. Mivel a legtöbb PHP-s melóhelyen azonban OOP szemléletben kell programozni, úgy gondoltam, átírom (alapból strukturáltan magyarázza a videó készítője(Tim Kipp, ha jól emlékszem).
Ezzel nincs is gond, a nagy része tisztességesen működik is, de van egy olyan rész, hogy a főoldalon ki kéne listázni a fórum kategóriákat. Az eredetiben rendesen működik is. Átírva viszont egyetlen egyet ír ki, többször egymás után.

A tartalmat az index.php jeleníti meg, de a class.php-ban van a logika. A DB műveletekért a connect.php felelős.

index.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
42
43
44
45
46
47
48
49
50
 
<?php
    
    session_start();
    
?>
 
<!DOCTYPE html PUBLIC>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>
            Fórum Oldalam
        </title>
        <link rel="stylesheet" type="text/css" href="includes/style.css"/>
    </head>
    <body>
    
        <div id="wrapper">
        
            <h2>Bejelentkezés</h2>
            
            <?php
                
                include_once("includes/config.php");
                include_once("includes/connect.php");
                include_once("includes/class.php");
                
                // ...
            
            ?>
        
            <hr />
            
            <div id="content">
            
                <?php
                    
                    $cat = new Categories();
                    echo $cat -> getCat();
                    
                ?>
                
            </div>
        
        </div>
        
    </body>
</html>
 


class.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
42
43
44
45
46
 
<?php
    
    // ...
    class Categories {
        private $category;
        private $id;
        private $title;
        private $description;
        
        function __construct() {
            $this -> category = $this -> setCat();
        }
        
        public function setCat() {
            $cat = "";
            
            $conn = new Connect();
            
            $query = "SELECT * FROM categories ORDER BY category_title ASC";
            $row = $conn -> getSelect($query);
            
            if(count($row) > 0) {
                $this -> id = $row['id'];
                $this -> title = $row['category_title'];
                $this -> description = $row['category_description'];
                
                $cat .= "<a href="view_category.php?cid=" . $this -> id . 
                            "" class="cat_links"><b>" . $this -> title . 
                            "</b> - <font size="-1">" . $this -> description . 
                            "</font></a>";
            } else {
                $cat .= "<p>Nincsenek kategóriák!</p>";
            }
            
            return $cat;
        }
        
        public function getCat() {
            return $this -> category;
        }
    }
     // ...
    
?>
 


connect.php(biztosan nem ebben van a hiba, de azért ezt is megosztom):
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
 
<?php
    
    class Connect {
        private $conn;
        
        function __construct() {
            $this -> conn = mysql_connect(DB_SERVER, DB_USER, DB_PASS)
                    or die(mysql_error());
            mysql_set_charset(DB_CHARSET, $this -> conn);
            mysql_select_db(DB_NAME);
        }
        
        public function getSelect($query) {
            $ret = mysql_query($query);
            
            while($row = mysql_fetch_assoc($ret)) {
                return $row;
            }
        }
        // ...
    }
    
?>
 


Kérlek, segítsetek, nekem tegnap este óta nem sikerül és már kezd megtúrósodni az agyam tőle...