van html pagina's naar php pagina's

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4

S -

S -

22/11/2005 18:23:00
Quote Anchor link
Waar zit her probleem dan? Een opsomming van beschikbare nieuwspagina\'s heb ik zo gemaakt, alleen die zoek functie heb ik nog nooit gedaan
 
PHP hulp

PHP hulp

19/04/2024 06:34:31
 
Marien xD

Marien xD

22/11/2005 19:11:00
Quote Anchor link
Een zoek functie is niet anders dan iets selecteren uit een database. ipv te werken met WHERE kolom='exacteinhoud' word er gewerkt met WHERE kolom LIKE '%ongeveer%'

Niet veel moeilijks aan. Die procenten zijn even moeilijk maar ik zal het proberen uit te leggen:

%ongeveer vind "zo ongeveer" "ongeveer" maar niet "zo ongeveer alles"
ongeveer% vind "ongeveer" "ongeveer alles" maar niet "zo ongeveer"
%ongeveer% vind alle gevallen.
 

22/11/2005 19:32:00
Quote Anchor link
ik weet niet of het al gezegt is maar als je er aleen iets BIJ wil doen zou ik de pagina's in een andere php pagina inculde (er bij zetten)
 
Zackat

zackat

23/11/2005 15:51:00
Quote Anchor link
Steven:
..alleen die zoek functie heb ik nog nooit gedaan


leuke uitdaging toch ;-)

ik ben zelf ook aan het knutselen gegaan. Heb een klasse gemaakt voor toegang en verbinding naar database met daarin ook gelijk wat standaard functies. Werkt als een tiet :-)

Hier de code:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
    error_reporting(E_ALL);

//--D E  K L A S S E  T O E G A N G ---------------------------------------------
class toegang {

//-- De variabelen nodig voor toegang velenen tot MySQL
//-- en die bij de klasse horen

var $user="test";            //gebruikersnaam    
var $password="test";        //wachtwoord
var $host="localhost";        //naam van computer
var $dbnaam="msh";            //naam van database

//-- Declaratie overige variabelen

var $db_verbinding=false;    //resultaat van verbinding
var $sql_resultaat=false;    //resultaat opgegeven SQL opdracht



    //--V E R B I N D I N G ---------------------------------------------------
    //-- Bij het aanroepen van een klasse
    //-- wordt een functie met hetzelfde naam
    //-- in de klasse direct uitgevoerd (constructor).
    //-- functie toegang wordt dus direkt uitgevoerd
    //-- die de functie verbinden aanroept voor
    //-- het totstand brengen van de verbinding
    //-- met de database.HI
    
    //--Constructor

    function toegang() {
        //--functie verbinden wordt in het begin uitgevoerd bij
        //--aanroep van deze klasse
        //--daarbij vormt "$this->" een sleutelwoord.
        //--sleutelwoord geeft daarbij toegang tot
        //--alle opgenomen variabelen en functies.

        $this->verbinden();
    }

    
    //--Als er nog geen verbinding is met de database
    //--deze aanmaken en als standaard opnemen.

    function verbinden() {
        if($this->db_verbinding==false){    //--bij het verbinden moet gekeken worden
                                            //--of er al een verbinding is
                                            //--de eerste keer is dat er nog niet omdat
                                            //--$db_verbinding de waarde false heeft.
                                            //--met @ worden webserver fouten onderdrukt
                                            //--om fouten te zien, maken we een functie foutmelding

            $this->db_verbinding=@mysql_connect($this->host, $this->user, $this->password);
            
            //--controleer of de verbinding gelukt is
            if(empty($this->db_verbinding)){
                //--roep foutfunctie op met opgegeven melding
                $this->foutmelding("Er is een fout opgetreden bij het maken van een verbinding");
            }


            //--als er geen foutmelding is dan
            //--is de verbinding met de database gelukt
            //--of de verbinding met de database is al aanwezig
            //--nu controleren we of het mogelijk is om
            //--de opgegeven database te gaan gebruiken

            $db_selecteren=@mysql_select_db($this->dbnaam, $this->db_verbinding);
            
            //--controleer of het selecteren van de database gelukt is
            if(empty($db_selecteren)){
                //--selecteren niet gelukt, geef foutmelding
                $this->foutmelding("Het selecteren van de database is mislukt ");
            }

                //--selecteren is gelukt, kan de functie verbinden verlaten
                return $this->db_verbinding;
            }

    }

    //--S Q L  O P D R A C H T E N --------------------------------------------
    //--met de functie sql_opdracht wordt een SQL opdracht
    //--naar de database gestuurd en het resultaat opgeslagen
    //--in sql_resultaat.

    //--voor het uitvoeren van de SQL opdracht

    function sql_opdracht($sql){
        $this->sql_resultaat=@mysql_query($sql, $this->db_verbinding);
        //--controleer of er iets gevonden wordt in de database
        //--zo niet, geef een foutmelding
        //--zo ja, geef het resultaat terug via sql_resultaat


        if(empty ($this->sql_resultaat)){
            $this->foutmelding("Er zijn geen gegevens gevonden die voldoen aan de selectie");
        }

        return $this->sql_resultaat;
        }


    //--als al eerder een SQL opdracht is verzonden en er zijn
    //--gegevens gevonden dan kan mbv mysql_fetch_array een
    //--set van gegevens (aray) worden samengesteld
    //--met de functie sql_gegevens

    function sql_gegevens(){
        if (!empty($this->sql_resultaat)){
            $sql_array=@mysql_fetch_array($this->sql_resultaat);
            return $sql_array;
        }
else{
            $this->foutmelding("Er is een fout opgetreden bij het weergeven van de records");
            }
    }


    //--via de functie mysql_fetch_row($res) haal je een
    //--bepaalde rij uit de database
    //--de pointer komt automatisch na deze rij te staan
    //--een laatste bericht ophalen bijvoorbeel
    //--kan door de $sql opdracht te sorteren op datum

    function sql_rijen(){
        if(!empty($this->sql_resultaat)){
            $sql_array=@mysql_fetch_row($this->sql_resultaat);
            return $sql_array;
        }
else{
            $this->foutmelding("Er is een fout opgetreden bij het ophalen van rij-gegevens");
            }
    }


    //--F O U T M E L D I N G -----------------------------------------------------
    //--Als er een fout is opgetreden, geef hiervan een melding
    //--en sluit deze script en html tags af.

    function foutmelding($foutbericht){
        echo $foutbericht. " <br>";
        echo mysql_error()." <br/>";
        echo mysql_errno();
        echo '</body></html>';
        exit;
    }
}


//--aan het einde van het script wordt de klasse direct aangeroepen
//--en zorgt ervoor dat de klasse na het invoegen van het script met
//--include direkt ter beschikking staat.


$db=new toegang();

?>


Voor het ophalen van alle berichten met onderverdeling laatste geplaatst en overige:
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
<?php
                    //--maak connectie met database
                    include("../toegang/toegang.inc.php");
                    //--geef selectie op, laatste bericht, gesorteerd op datum komt bovenaan de array
                    $db->sql_opdracht("SELECT id,titel,datum FROM pers ORDER BY datum DESC");

                    //--haal de eerste rij op uit de array, om het laatste bericht te tonen
                    echo"<h2>Laatste bericht</h2>";
                    $row = $db->sql_rijen();
                    $row[2] = substr($row[2], 0, 10);
                    echo "<ul class=\"presslist\">";
                        echo "<li>$row[2]"." - "."<a href =\"../pers/per_index.php\">$row[1]</a></li>";
                    echo "<ul><br/>";

                    //--laat de overige berichten zien
                    echo "<h2>Overzicht</h2>";
                    while($row=$db->sql_gegevens()){
                        $row['datum'] = substr($row['datum'], 0, 10);
                        echo "<ul class=\"presslist\">";
                            echo "<li>$row[datum]"." - "."<a href=\"../pers/per_berichten_selectie.php?id=$row[id]\">$row[titel]</a></li>";
                        echo "</ul>";
                        }

                ?>



Voor het geselecteerde bericht:
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
<?
                    //--maak connectie met database
                    include("../toegang/toegang.inc.php");

                    //--geef selectie op
                    //--haal het specifieke nieuwsbericht uit de database
                    //--$HTTP_GET_VARS[id] is het id adres die wordt meegegeven in de link.

                    $db->sql_opdracht("SELECT id,titel,bericht,datum FROM pers WHERE id = $HTTP_GET_VARS[id]");

                    //--haal de array op met behulp van de opgegeven opdracht
                    //--alle velden die je zojusit geselecteerd hebt
                    //--van het specifieke bericht komen in een array.
                    //--je kunt ze dus aanroepen via $row[kolom_naam].

                    $row=$db->sql_gegevens();

                    //haal datum op en zet datum neer
                    $row['datum'] = substr($row['datum'], 0, 10);
                    echo "<p id=\"storytopleft\">Rotterdam, $row[datum]</p>";

                    //haal titel op en zet titel neer
                    echo "<h1>$row[titel]</h1>";

                    //-- zet enters om in <br>'s voor een juiste weergave
                    $row['bericht'] = nl2br($row['bericht']);

                    //--plaats bericht
                    echo "$row[bericht]";
                ?>



Wil hier nog wat aan de datum veranderen in format bijv:23 November 2005. Weet niet hoe, moet ik uitzoeken
Wil ook eigenlijk maar 10 berichten op een pagina met paginateller dus; Weet ook nog niet hoe, ook nog uitzoeken dus...

Als iemand nog wat input, feedback etc heeft, graag. Moet het ergens van leren niewaa?
Gr
 

Pagina: « vorige 1 2 3 4



Overzicht Reageren

 
 

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.