Extra $var waarder aan Pagination function toevoegen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Ger van Steenderen
Tutorial mod

Ger van Steenderen

09/09/2012 16:29:57
Quote Anchor link
Remco schrubben op 09/09/2012 13:45:27:
Het gaat er niet om dat ik niet snap hoe die query werkt.
Het gaat er om, dat ik alleen een pagination moet maken voor de eigenaar en dus niet een heel script kan gaan herschrijven.

Ook gaat het er om dat ik in een korte tijd nooit kan leren hoe ik de gegevens in de tabellen ga krijgen zodra ik deze met een admin ga invoeren. Ik heb net het gebruik van transaction onder de knie voor 2 tabellen.


Kort gezegd: Gaat het niet om het stukje leren van nieuwe dingen, maar gaat het er om dat ik de tijd en ruimte niet heb van de eigenaar om alles om te gooien.

Ik maak hier uit op dat je meer dingen moet doen dan alleen pagination.
Ik ben heel nieuwsgierig naar het complete dbmodel (met name naar de top40_opties tabel).
Want, als ik (met enig cynisme) het volgende stel:
'Sjek Shag & Vloeikes' met 'Waarom Makkelijk Doen Als het Moelijk kan' staan 16 weken lang in de top 40 dus komen 16 keer met artiest en songtitle (en wellicht nog meer) in de top40_opties te staan.
Ik denk dat ik er dan niet ver naast zit.

Je zegt zelf dat je ook nog een beheer gedeelte gaat/moet maken, en ik weet niet of je veel moet omzetten (moet je bestaande tabellen gevuld met gegevens werken, dan zijn die zo omgezet), maar het levert je uiteindelijk een hoop voordelen op.

Tot slot,
Het maakt voor een transaction niets uit hoeveel tabellen er binnen die transaction gewijzigd worden. Daarnaast heb je ze in webapps bijna nooit nodig, het bezorgt je alleen maar extra werk en kost je performance.
 
PHP hulp

PHP hulp

01/12/2024 10:09:06
 
Remco schrubben

remco schrubben

09/09/2012 18:55:31
Quote Anchor link
Ger, je zet er niet ver naast. Admin is in eerder project al gedaan.Ik kan het snel genoeg ombouwen als ik een goed voorbeeld zou hebben hoe ik met meerdere tabellen kan werken. Als ik dat zou hebben kan ik de eigenaar wel overtuigen dat de uitloop voordeel kan opleveren. Het zou dan puur een INSERT voorbeeld hoeven zijn.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

09/09/2012 20:02:26
Quote Anchor link
Hoe voert de eigenaar dan nu de top 40 in? Elke keer per week en positie,de artiest en de songtitle invoegen?
Gewijzigd op 09/09/2012 20:03:48 door Ger van Steenderen
 
Remco schrubben

remco schrubben

09/09/2012 21:21:01
Quote Anchor link
Dat is helaas goed aan genomen. Ik weet dat het niet de manier is, alleen mijn kennis is niet groot genoeg om het anders te doen. Mocht je een goed voorbeeld hebben hoe ik het anders kan doen, dan over tuig ik de eigenaar wel.

Het hoeft dan niet persee met transaction, als er maar en terug val is als er een insert niet lukt op tabel zoals bij transactions.
 
Eddy E

Eddy E

09/09/2012 21:49:38
Quote Anchor link
Dat is lastig:
1 tabel met alle artiesten/nummers (mocht er een nieuwe komen: toevoegen)
1 tabel met daarin jaar/week/lied-id/positie

En.... euh, nog meer? Nee, denk het niet. Wellicht een eigen tabel voor de artiesten.
Hoe voer je dit in? Ik neem aan toch wel geautomatiseerd vanaf de officiele Top40 vandaan? API of RSS oid.
 
Remco schrubben

remco schrubben

09/09/2012 22:33:09
Quote Anchor link
Eddy, als je gelezen had dan had je gelezen dat de opstelling jij nu beschrijft al gebruikt word. Ger probeert mij de kant van normaliseren op te krijgen.

En daar vraag ik een voorbeeld INSERT TO voor of eventueel een goede tut die over meerdere tabellen gaan. Tevens heeft Ger mij al een opzet gegeven voor een genormaliseerde DB.

--------------------------------------------------------------
Flip, Bedankt voor de stukjes code. Ik heb deze even getest, echter zie ik nergens een spoor van navigatie buttons op mijn scherm. Ook krijg ik geen error meldingen terug.

UP-date:
Zie dat hij helemaal niks meer weer geeft. Ook niet dat ik alles terug zet naar voor ik jou code probeerde in te voegen. Ik ga het even uitzoeken nog.

Toevoeging op 10/09/2012 05:30:34:

Op het moment iets verder gekomen met de code van Flip.
Alleen ik krijg de volgende notice:
Notice: Undefined offset: 21 in ../function/function.php on line 67
Notice: Undefined offset: 21 in ../function/function.php on line 68
Notice: Undefined offset: 21 in ../function/function.php on line 69

De code die hier bij hoort is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$arg['jaar'] = $data[$counter-1]['top40.jaar'];
$arg['week'] = $data[$counter-1]['top40.weeknr'];
$arg['artiest'] = $data[$counter-1]['top40_optie.artiest'];


Tevens zie ik dat de url niet wordt opgebouwd.
De url die nu word gemaakt is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://www.domein.nl/index.php?page=1
Gewijzigd op 10/09/2012 05:39:42 door remco schrubben
 
Remco schrubben

remco schrubben

10/09/2012 22:34:22
Quote Anchor link
Heeft iemand misschien nog enig idee hoe bovenstaande op te lossen?
 
Eddy E

Eddy E

11/09/2012 09:39:32
Quote Anchor link
Geef eens een print_r() op $data.

En waarmee maak je de link/url? Daar moet je het zelf even zoeken.
Ga wat echoën om te kijken of je gegevens er zijn. Zo niet: zorg daar voor.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/09/2012 10:56:15
Quote Anchor link
Quick and dirty:
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
<?php
function altPagination($sql, $url, $curpos, $query) {
    /* $query is een assoc array
       waarvan de key de waarde is die in de url komt
       en de value de naam van het veld in de database
       bv $query = array('page' => 'position_h', 'artiest' => 'artiest')
    --------------------------------------------------------------------
       $sql is de volledige query
    --------------------------------------------------------------------
        $url = 'index.php?' o.i.d.
    */

    
    $result = mysql_query($sql);
    if ($result !== false && mysql_num_rows($result) > 0) {
        $arrResults = array();
        while ($row = mysql_fetch_assoc($result)) {
            $arrResults[] = $row;
        }

        $ul = '<ul class="pagination">';
        $max = count($arrResults);
        if ($curpos > 4) {
            $ul .= '<li><a href="' . $url;
            $amp = '';
            foreach ($query as $key => $field) {
                $ul .= $amp . $key . '=' . urlencode($arrResults[0][$field]);
                $amp = '&';
                // met dank aan Erwin H
            }
            $ul .= '">Eerste</a></li>';
        }

        if ($curpos > 1) {
            $ul .= '<li><a href="' . $url;
            $amp = '';
            foreach ($query as $key => $field) {
                $ul .= $amp . $key . '=' . urlencode($arrResults[$curpos-2][$field]);
                $amp = '&';
            }

            $ul .= '">Vorige</a></li>';
        }

        $start = ($curpos - 5 > 0) ? $curpos - 5 : 1;
        $end = $start + 8;
        if ($end > $max)  {
            $end = $max;
            $start = $end - 8;
        }

        for ($i = $start; $i <= $end; $i++) {
            $ul .= '<li><a href="' . $url;
            $amp = '';
            foreach ($query as $key => $field) {
                $ul .= $amp . $key . '=' . urlencode($arrResults[$i-1][$field]);
                $amp = '&';
            }

            $ul .= '"' . ($i == $curpos) ? ' class="current"' : '' . '>' .
                   $i . '</a></li>';
        }

        if ($curpos < $max) {
            $ul .= '<li><a href="' . $url;
            $amp = '';
            foreach ($query as $key => $field) {
                $ul .= $amp . $key . '=' . urlencode($arrResults[$curpos][$field]);
                $amp = '&';
            }

            $ul .= '">Volgende</a></li>';
        }

        if ($curpos < $max - 8) {
            $ul .= '<li><a href="' . $url;
            $amp = '';
            foreach ($query as $key => $field) {
                $ul .= $amp . $key . '=' . urlencode($arrResults[$max - 1][$field]);
                $amp = '&';
            }

            $ul .= '">Laatste</a></li>';
        }

        $ul .= '</ul>';
        return $ul;
    }

    return false;
}

?>

Eigenlijk tegen mijn gewoonte in om het op die manier te doen.
 

Pagina: « vorige 1 2



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.