[CodeIgniter] AJAX Pagination

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik loop nu vanaf gisteren tot vandaag te kloten met AJAX Pagination in CodeIgniter (http://codeigniter.com/wi...th_CI_Pagination_Library/), ik heb nu er nu zo'n 10 bugs uitgehaald (dus als iemand anders een verbeterde versie nodigt heeft, stuur mij een PM), het enige wat die nu nog niet doet is het echt doen :)

My_data_page.php laadt zelf wel, maar de navigate links doen helemaal niks, als ik dus bijvoorbeeld op [2] klik gebeurt er helemaal niks. Ik kreeg eerst een 404, maar dat heb ik even ge-quickfixed door $url = $site . $url; er van te maken. Ik heb het meeste nu gedebugged, en heb ook geprobeerd de codeigniter helpers te gebruiken maar die laten niks zien.

De pagina: http://www.vergelijkboek.nl/index.php/My_data_page

Hier even wat code:

Views/My_data_page.php
PHP:
1
2
3
4
5
6
$config['first_link'] = 'Eerste';
$config['div'] = 'content'; //Div tag id
$config['base_url'] = 'index.php/My_data_page';
$config['total_rows'] = $getTotalData;
$config['per_page'] = $perPage;
$config['postVar'] = 'page';

PHP:
1


Libraries/Ajax_page_navigation.php
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
var $base_url            = 'index.php/My_data_page'; // The page we are linking to
.....
    function create_links()
    {
       ....
        $this->base_url = rtrim($this->base_url, '/') .'/';

          // And here we go...
        $output = '';

        // Render the "First" link
        if  ($this->cur_page > $this->num_links)
        {
            $link = $this->my_link_to_remote($this->base_url, $this->first_link, $this->div, NULL);
            //$output .= $this->first_tag_open.'<a >base_url.'">'.$this->first_link.'</a>'.$this->first_tag_close;
            $output .= $this->first_tag_open.$link.$this->first_tag_close;
        }
     ....

    function my_link_to_remote($url, $text, $div, $pars=array()){
        if($pars !== NULL):
        foreach($pars as $k=>$v):
            $par = $k.":".$v;
        endforeach;        

        echo "text:$text div:$div"; print_r($pars);        
        $url2 = "http://www.vergelijkboek.nl/" . $url; 
        $url = $url2;
        $html = "<a href=\"#\"  onclick=\"new Ajax.Updater('$div','$url',{method: 'post', parameters:{".$par."}, evalScripts:true}); return false;\" />$text</a>";
        else:
        $html = "<a href=\"#\"  onclick=\"new Ajax.Updater('$div','$url',{method: 'post', evalScripts:true}); return false;\" />$text</a>";
        endif;
    return $html;
    }


My_data_page.php staat in controllers.
De andere My_data_page.php staat in views.

Ik heb gekeken of er misschien nog andere bugs in zaten, kleine letters waar het een hoofdletter moest zijn enz. maar dat is niet het geval volgens mij.

Ik weet niet of jullie hier wat mee kunnen, maar ik ben dus best nieuw met CodeIgnite, dus debuggen gaat nog vrij lastig...

[ Voor 120% gewijzigd door Verwijderd op 17-04-2010 16:17 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je code post, beperk je dan tot relevante(!) delen. Ik heb zojuist tegen de 200 regels code verwijderd; gelieve daar de relevante stukken in terug te zetten ;)
Verder vraag ik me af of je wel gedebugged hebt (Debuggen: Hoe doe ik dat?) want dat lijkt me nu bij uitstek de methode om je probleem op te lossen en daar zie ik eigenlijk niets van terug in je TS.
Verwijderd schreef op zaterdag 17 april 2010 @ 15:36:
Ik heb gekeken of er misschien nog andere bugs in zaten, kleine letters waar het een hoofdletter moest zijn enz. maar dat is niet het geval volgens mij.
Assumptions are the mother of all fuckups™ Debuggen dus.

[ Voor 72% gewijzigd door RobIII op 17-04-2010 15:42 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
:) ah, ik dacht dat dat hele stuk relevant was... ik zal relevantere stukken er in zetten.
Ik heb gedebugged met:

$this->helper(' url');
$this->helper(' array');
$this->helper(' path');

dit retourneerde niks.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op zaterdag 17 april 2010 @ 15:56:
:) ah, ik dacht dat dat hele stuk relevant was... ik zal relevantere stukken er in zetten.
Ik heb gedebugged met:

$this->helper(' url');
$this->helper(' array');
$this->helper(' path');

dit retourneerde niks.
Ik weet niet of het een typo is (3x) maar vanwaar de spaties voor url/array/path? En los daarvan: dat is geen debuggen. Je kunt nog 400 andere zaken doen/proberen/dumpen om problemen te achterhalen.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
pffff ik wordt gek van die AJAX Pagination, ik heb alles lopen debuggen en veel fouten er uit gehaald.. Maar wat het hele probleem blijkt te zijn is dat die gewoon het pagina nummer niet post.

$par heb ik gecheckt en die geeft gewoon een waarde van 10 of 20 e.d.
$div is goed.
$url is goed.
PHP:
1
$html = "<a href=\"#\"  onclick=\"new Ajax.Updater('$div','$url',{method: 'post', parameters:{".$par."}, evalScripts:true}); return false;\" />$text</a>";


Ik heb ook geprobeerd om het om te zetten naar GET ipv POST, maakt ook niks uit. :( :( :( :( :(

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 10:54

Janoz

Moderator Devschuur®

!litemod

Wat verwacht je dat in regel 24 in $par staat?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 12-09 15:22
Janoz schreef op maandag 19 april 2010 @ 19:12:
Wat verwacht je dat in regel 24 in $par staat?
En in $div en $url?
@TS: tip: breng variabelen buiten quotes, dat is namelijk veel leesbaarder.

Kan je eventueel een soort live demo tonen? Soms is een voorbeeld ook handig voor anderen om exact te zien wat er fout loopt en om te zien of dat er misschien geen fout zit in de gegenereerde code. (Wat je overigens zelf ook zou moeten controleren.) Daarnaast, heb je ook een werkend voorbeeld, dus een soort hard-coded test case, om die JavaScript te testen?
Pagina: 1