abonnement Unibet Coolblue
pi_123458033
quote:
0s.gif Op woensdag 27 februari 2013 17:03 schreef pascal08 het volgende:

[..]

Ik snap precies wat je bedoelt hoor. Ik heb nu door dat ik iets te snel ging, door gelijk een ingewikkeld framework te pakken zonder eerst de basis te begrijpen.

Ik heb KomtTijd z'n advies opgevolgd en een simpele model- en controller functie gemaakt met een view waar de HTML table in staat. Ik heb inmiddels een nuttige video gevonden waar het een en ander uitgelegd wordt over sorteren van tabellen etc. Ik laat zo weten hoe ver ik gekomen ben. ;)

EDIT:

In de video zegt de maker: "It is not going to be like Ajax/Javascript trig. We are just going to reload the page, because there is hidden data that is not inside this page. So sorting with Ajax may not be a good idea here."

Ik wil nu eigenlijk van jullie wel weten wat ik het beste kan doen met betrekking tot het sorteren. Page reloads via CodeIgniter, Ajax of iets anders?
Gelezen wat Ajax is, gelezen hoe ik libraries kan toevoegen aan het CodeIgniter framework en wat jQuery erbij geleerd. Inmiddels werkt alles zoals ik het wil. Moraal van het verhaal: gewoon zelf leren en doen. :)

Toch bedankt voor jullie hulp. _O_
pi_123511059
Vraag over het juist positioneren van navigatiebalk, footer en content div.
Wat ik probeer te bereiken is dat de navigatiebalk (zwarte balk bovenin) en de footer altijd 100% de breedte van het venster benut.
Het probleem met deze twee is dat ze niet breder worden dan de wrapper (800px breed) terwijl hun div niet in de wrapper div zit.
Ik heb de div volgorde telkens aangepast (in de wrapper en er weer uit etc.), maar geen resultaat.

Een tweede vraag is dat is dat ik voor de contentachtergrond een gradient gebruik die direct aansluit op de achtergrond van de headerachtergrond. Nu kan ik wel met negatieve margins gaan spelen maar dat is niet de manier om de content div mooi op de header div aan te laten sluiten.

Laatste vraag die ik heb gaat over het ontwerp van de navigatiebalk (zie: eerste spoiler).
De oranje vlag maakt direct deel uit van de navigatiebalk maar hangt over de banner heen. Vooralsnog gebruik ik een gif als plaatje voor de banner maar in de toekomst wordt dit een geanimeerde banner waar de vlag dus overheen hangt.
Nu heb ik gelezen over z-index maar is dat ook dé manier die ik moet gebruiken voor deze situatie?
Dus de menubalk+vlag samen in een gif met tranparancy en dan bovenop de banner-div plaatsen bijvoorbeeld..
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Spoiler bevat wat ik nu heb + probleem met navigatiebalk/footer:
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
De site wordt verder uitgewerkt in Joomla overigens.

Alvast bedankt voor de hulp & tips.

CSS:
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
@charset "utf-8";

html {
    height: 100%;

}

body {
    margin: 0;
    padding: 0;
    height: 100%;
    background-image:url(../images/site_bg.gif);
}

#container {
    background: none;
    width: 100%;
}

#main {
    width: 800px;
    height: 100%;
    margin: auto;
}

#nav {
    height: 39px;
    width: 100%;
    background-image:url(../images/navigatie_bg.gif);    
}

#header {
    width: 800px;
    height:    233px;
    background-image:url(../images/banner_bg.gif);    
}

#content {
    width: 800px;
    height: 290px;
    background-image:url(../images/bodygradient_bg.gif);

}

#footer {
    position:absolute;
       bottom:0;
       width:100%;
    height: 37px;
    background-image:url(../images/footer_bg.gif);    
}
HTML:
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
<<body>
<div id="container">
                
                
                <div id="nav">
                    <jdoc:include type="modules" name="nav" style="xhtml" />
                </div>
                
        <div id="main">
                
        
        
                
                      <div id="header"></div>
                     
           
                <div id="content">
                          <jdoc:include type="message" />
                        <jdoc:include type="component" />
                </div>
        
        </div>
        
                <div id="footer"> Footerinformatie
                                        <jdoc:include type="modules" name="footer" style="xhtml" />
                  </div>
       
 
     
</div>
</body>

Heb nog een beetje zitten puzzelen:
#nav uit de #main gehaald zodat de achtergrond helemaal van links naar rechts kan gaan.
#content toch een negatieve margin gegeven (later weer teruggedraaid) om te kijken wat er zou gebeuren.
De bedoeling is dat #contant automatisch tot aan de footer komt ongeacht de grootte van het venster. De gradient achtergrond moet tegelijkertijd bovenin deze div blijven staan zodat de gradient van de #header/banner vloeiend kan uitlopen. Dit nog niet voor elkaar gekregen helaas

[ Bericht 1% gewijzigd door karton2 op 01-03-2013 21:14:54 ]
pi_123523564
gezien je "laatste" vraag tevens je enige vraag is, daar maar een antwoord op:
Gif afbeeldingen horen sowieso in het museum, het is geen 1996 meer.
En dit los je sowieso niet met afbeeldingen op, maar gewoon met CSS. Border-radius en box-shadow is all you need.
Als je inderdaad elementen over elkaar heen wilt zetten, is position:absolute en z-index inderdaad de manier.
  dinsdag 5 maart 2013 @ 14:24:08 #104
319705 pascal08
dr. prof.
pi_123659347
Ik loop nu al een tijdje te kloten met mijn tabel. Met Datatables kwam ik een heel eind, maar was toch te beperkt en te ingewikkeld voor iets ogenschijnlijk simpels: een tabel met voor iedere kolom een minimum en maximum criteria in de vorm van een inputbox. Ik wil de tabel aan de hand van deze criteria updaten zonder page reloads en volgens mij is ajax daar de beste oplossing voor.

Voor de duidelijkheid:
- Ik maak gebruik van het CodeIgniter PHP framework.
- Ik heb een SQL-tabel met ~12.000 records en 50+ kolommen.
- Deze tabel wil ik absoluut niet in 1 keer outputten in HTML. Door middel van tabjes wil ik bepaalde kolommen tonen of juist verbergen. Met pagination wil ik een overzichtelijk aantal rijen tonen.

Dit is mijn ultieme poging om het toch nog voor elkaar te krijgen, want inmiddels ben ik er al 2 weken mee bezig en stuit ik iedere keer op een ander vervelend probleem. Vandaar dat ik helemaal opnieuw wil beginnen, met de code die ik vorig week op advies van mensen hier heb gemaakt.

De volgende code die ik heb geschreven:

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Deze code doet dus niets meer en minder dan de resultaten van een simpele query outputten in HTML, zoals jullie mij adviseerden.

Nu, met deze basiscode, wil ik de tabel kunnen updaten met inputfields en ajax.

Stel ik voeg de volgende regel toe aan de view:

1<input type="text" id="min_col1">Minimum Kolom 1</input>

Dan zou ik via jQuery dit kunnen doen:

1
2
3
4
5
6
7
8
9
$(document).ready(function() {
    $('#min_col1').keyup(function() {
        var min_col1 = $(this).attr('value');
        if(!min_col1) {
            $.post('/folder/controller/function', {min_col1:min_col1},                                function(data) {
                $('...').html(data);
            });
        }
    });

Hier loop ik eigenlijk een beetje vast. Moet ik nu een nieuwe functie maken in m'n controller die een HTML-tabel gaat genereren?
  dinsdag 5 maart 2013 @ 14:27:11 #105
25889 Sitethief
Fulltime Flapdrol
pi_123659430
Waarom kunnen de meeste frameworks en Javascript zelf trouwens ook zo slecht omgaan met (pseudo) associatieve arrays? Ik weet dat arrays eigenlijk niet bestaan in JS, en gewoon een type object zijn.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 5 maart 2013 @ 14:31:14 #106
137776 boem-dikkie
Jedi Mind Baby!
pi_123659585
quote:
0s.gif Op dinsdag 5 maart 2013 14:24 schreef pascal08 het volgende:
Ik loop nu al een tijdje te kloten met mijn tabel. Met Datatables kwam ik een heel eind, maar was toch te beperkt en te ingewikkeld voor iets ogenschijnlijk simpels: een tabel met voor iedere kolom een minimum en maximum criteria in de vorm van een inputbox. Ik wil de tabel aan de hand van deze criteria updaten zonder page reloads en volgens mij is ajax daar de beste oplossing voor.

Voor de duidelijkheid:
- Ik maak gebruik van het CodeIgniter PHP framework.
- Ik heb een SQL-tabel met ~12.000 records en 50+ kolommen.
- Deze tabel wil ik absoluut niet in 1 keer outputten in HTML. Door middel van tabjes wil ik bepaalde kolommen tonen of juist verbergen. Met pagination wil ik een overzichtelijk aantal rijen tonen.

Dit is mijn ultieme poging om het toch nog voor elkaar te krijgen, want inmiddels ben ik er al 2 weken mee bezig en stuit ik iedere keer op een ander vervelend probleem. Vandaar dat ik helemaal opnieuw wil beginnen, met de code die ik vorig week op advies van mensen hier heb gemaakt.

De volgende code die ik heb geschreven:

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Deze code doet dus niets meer en minder dan de resultaten van een simpele query outputten in HTML, zoals jullie mij adviseerden.

Nu, met deze basiscode, wil ik de tabel kunnen updaten met inputfields en ajax.

Stel ik voeg de volgende regel toe aan de view:
[ code verwijderd ]

Dan zou ik via jQuery dit kunnen doen:
[ code verwijderd ]

Hier loop ik eigenlijk een beetje vast. Moet ik nu een nieuwe functie maken in m'n controller die een HTML-tabel gaat genereren?
Ik snap je hele doel niet helemaal..

Is het uiteindelijke idee nou dat je met een inputfield doormiddel van ajax een rij toevoegt aan je database tabel?

Dan kun je gewoon met AJAX een functie aanspreken in je controller die de data doorgeeft van je inputfield en dit in je model afhandelen om het in de database te zetten?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  dinsdag 5 maart 2013 @ 14:48:54 #107
319705 pascal08
dr. prof.
pi_123660214
quote:
14s.gif Op dinsdag 5 maart 2013 14:31 schreef boem-dikkie het volgende:

[..]

Ik snap je hele doel niet helemaal..

Is het uiteindelijke idee nou dat je met een inputfield doormiddel van ajax een rij toevoegt aan je database tabel?

Dan kun je gewoon met AJAX een functie aanspreken in je controller die de data doorgeeft van je inputfield en dit in je model afhandelen om het in de database te zetten?
Nee, ik wil niets toevoegen of verwijderen. Via die inputfields wil ik bepaalde data wegfilteren. Aanvankelijk, bij het laden van de pagina, zijn er nog geen filters actief, dus worden bijvoorbeeld de eerste 30e rijen uit de SQL-tabel getoond. Als de gebruiker dan in een inputfield aangeeft dat 'ie bepaalde data met een waarde onder of boven zijn ingevoerde waarde niet wilt zien, dan moet de tabel zo aangepast worden dat er geen data meer getoond wordt die de gebruiker niet wilt zien.

Snap je het of moet ik het aan de hand van een voorbeeld uitleggen?

EDIT:

Dit is een goed voorbeeld van wat ik wil: http://datatables.net/rel(...)range_filtering.html
Echter wil die 2 inputfields voor elke kolom instellen, maar dat is nu even bijzaak.
  dinsdag 5 maart 2013 @ 14:58:17 #108
137776 boem-dikkie
Jedi Mind Baby!
pi_123660549
Je kunt met AJAX meegeven welke waarde de gebruiker heeft ingevoerd en met een nieuwe functie in je controller een functie in je model aanspreken die een query uitvoert waarin je die filter hebt opgenomen?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  dinsdag 5 maart 2013 @ 15:00:24 #109
137776 boem-dikkie
Jedi Mind Baby!
pi_123660629
1. Laat alle data zien.
2. Stuur met AJAX je input naar een controller.
3. Verwerk je input en spreek een model aan.
4. Voer een query in je model uit die bijvoorbeeld zegt "laat alles zien > $filter"
5. Data terugsturen en in je HTML zetten.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  dinsdag 5 maart 2013 @ 15:02:32 #110
319705 pascal08
dr. prof.
pi_123660733
quote:
14s.gif Op dinsdag 5 maart 2013 14:58 schreef boem-dikkie het volgende:
Je kunt met AJAX meegeven welke waarde de gebruiker heeft ingevoerd en met een nieuwe functie in je controller een functie in je model aanspreken die een query uitvoert waarin je die filter hebt opgenomen?
Oké, ik snap wat je zegt. Stel ik laat PHP dan in de controller-functie de query resultaten outputten en via Javascript in de tabel plaatsen, werken mijn paginatie-instellingen en tabjes dan nog wel? Die functie in de controller waar pagination wordt ingesteld, wordt dan immers niet meer gebruikt als ik een nieuwe functie maak zoals jij zegt.
  dinsdag 5 maart 2013 @ 15:06:12 #111
319705 pascal08
dr. prof.
pi_123660874
quote:
5s.gif Op dinsdag 5 maart 2013 15:00 schreef boem-dikkie het volgende:
1. Laat alle data zien.
2. Stuur met AJAX je input naar een controller.
3. Verwerk je input en spreek een model aan.
4. Voer een query in je model uit die bijvoorbeeld zegt "laat alles zien > $filter"
5. Data terugsturen en in je HTML zetten.
Momentje, ik ga het proberen. ;)

EDIT:

Nja, het lukt me om via ajax de nieuwe query resultaten te laten zien, maar pagination en die "kolom"-tabs werken dan niet meer. Dit is gewoon te ingewikkeld voor mij en ik heb er ook geen plezier meer in (waar ik het voornamelijk voor doe :D ), dus ik laat het hierbij zitten. Bedankt voor je reactie. ;)

[ Bericht 24% gewijzigd door pascal08 op 05-03-2013 15:46:15 ]
pi_123674418
quote:
0s.gif Op dinsdag 5 maart 2013 15:06 schreef pascal08 het volgende:

[..]

Momentje, ik ga het proberen. ;)

EDIT:

Nja, het lukt me om via ajax de nieuwe query resultaten te laten zien, maar pagination en die "kolom"-tabs werken dan niet meer. Dit is gewoon te ingewikkeld voor mij en ik heb er ook geen plezier meer in (waar ik het voornamelijk voor doe :D ), dus ik laat het hierbij zitten. Bedankt voor je reactie. ;)
Aangezien je Codeigniter gebruikt zou je gewoon ter informatie ook het filmpje op deze pagina eens kunnen bekijken: http://net.tutsplus.com/t(...)ch-day-7-pagination/

Ik zou wel gewoon models gebruiken, queries in je controllers is niet iets wat jij jezelf moet aanleren.

Met Ajax vind ik persoonlijk wel chiquer.
  dinsdag 5 maart 2013 @ 20:31:28 #113
319705 pascal08
dr. prof.
pi_123674591
quote:
19s.gif Op dinsdag 5 maart 2013 20:28 schreef TwenteFC het volgende:

[..]

Aangezien je Codeigniter gebruikt zou je gewoon ter informatie ook het filmpje op deze pagina eens kunnen bekijken: http://net.tutsplus.com/t(...)ch-day-7-pagination/

Met Ajax vind ik persoonlijk wel chiquer.
Wat is het verschil? :P
pi_123674653
quote:
0s.gif Op dinsdag 5 maart 2013 20:31 schreef pascal08 het volgende:

[..]

Wat is het verschil? :P
Tussen Ajax pagination, en pagination op deze manier?
Geen pagereloads.
  dinsdag 5 maart 2013 @ 20:35:10 #115
319705 pascal08
dr. prof.
pi_123674779
quote:
19s.gif Op dinsdag 5 maart 2013 20:32 schreef TwenteFC het volgende:

[..]

Tussen Ajax pagination, en pagination op deze manier?
Geen pagereloads.
Jezus man, kan dat ook nog? :o

Dat wordt al helemaal ingewikkeld. :P
pi_123674831
quote:
0s.gif Op dinsdag 5 maart 2013 20:35 schreef pascal08 het volgende:

[..]

Jezus man, kan dat ook nog? :o

Dat wordt al helemaal ingewikkeld. :P
Hoe bedoel je? Daar was je toch in eerste instantie mee bezig.
Die tutorial legt de basics uit van het pagineren, als je die volgt dan snap je volgens mij iets beter waar je mee bezig bent.
  dinsdag 5 maart 2013 @ 20:38:20 #117
12221 Tijn
Powered by MS Paint
pi_123674937
quote:
19s.gif Op dinsdag 5 maart 2013 20:36 schreef TwenteFC het volgende:

[..]

Hoe bedoel je? Daar was je toch in eerste instantie mee bezig.
Die tutorial legt de basics uit van het pagineren, als je die volgt dan snap je volgens mij iets beter waar je mee bezig bent.
Volgens mij was-ie bezig met het anders sorteren van de tabel dmv Ajax. Maar soms lees ik ook iets over filteren.
  dinsdag 5 maart 2013 @ 20:38:33 #118
319705 pascal08
dr. prof.
pi_123674947
quote:
19s.gif Op dinsdag 5 maart 2013 20:36 schreef TwenteFC het volgende:

[..]

Hoe bedoel je? Daar was je toch in eerste instantie mee bezig.
Die tutorial legt de basics uit van het pagineren, als je die volgt dan snap je volgens mij iets beter waar je mee bezig bent.
Ik heb Day 16 al gevolgd van die serie. Erg informatief, maar ik krijg het als geheel niet bij elkaar: ajax-call om de tabel te refreshen, paginatie (ajax of met CI), navigatie met tabjes. Ik kan m'n probleem klaarblijkelijk ook niet goed omschrijven, want iedereen komt met wat anders. :P
  dinsdag 5 maart 2013 @ 20:39:18 #119
12221 Tijn
Powered by MS Paint
pi_123674995
quote:
0s.gif Op dinsdag 5 maart 2013 20:38 schreef pascal08 het volgende:

[..]

Ik kan m'n probleem klaarblijkelijk ook niet goed omschrijven
Dan kun je het ook nooit programmeren.
  dinsdag 5 maart 2013 @ 20:39:42 #120
319705 pascal08
dr. prof.
pi_123675017
quote:
10s.gif Op dinsdag 5 maart 2013 20:38 schreef Tijn het volgende:

[..]

Volgens mij was-ie bezig met het anders sorteren van de tabel dmv Ajax. Maar soms lees ik ook iets over filteren.
_O-

Snap jij het nog? :P
  dinsdag 5 maart 2013 @ 20:39:46 #121
12221 Tijn
Powered by MS Paint
pi_123675022
Wil je nou sorteren, filteren of pagina's?
  dinsdag 5 maart 2013 @ 20:40:03 #122
319705 pascal08
dr. prof.
pi_123675041
quote:
5s.gif Op dinsdag 5 maart 2013 20:39 schreef Tijn het volgende:
Wil je nou sorteren, filteren of pagina's?
Alles-in-1. :)
pi_123675059
quote:
0s.gif Op dinsdag 5 maart 2013 20:38 schreef pascal08 het volgende:

[..]

Ik heb Day 16 al gevolgd van die serie. Erg informatief, maar ik krijg het als geheel niet bij elkaar: ajax-call om de tabel te refreshen, paginatie (ajax of met CI), navigatie met tabjes. Ik kan m'n probleem klaarblijkelijk ook niet goed omschrijven, want iedereen komt met wat anders. :P
Wat ik begrijp is dat je 11.500 records hebt, die je wil tonen op een pagina per 50 bijvoorbeeld.
En dat je deze records ook wil filteren op bepaalde eigenschappen?
  dinsdag 5 maart 2013 @ 20:40:52 #124
319705 pascal08
dr. prof.
pi_123675087
quote:
19s.gif Op dinsdag 5 maart 2013 20:40 schreef TwenteFC het volgende:

[..]

Wat ik begrijp is dat je 11.500 records hebt, die je wil tonen op een pagina per 50 bijvoorbeeld.
En dat je deze records ook wil filteren op bepaalde eigenschappen?
Ja, exact. :D
pi_123675106
quote:
0s.gif Op dinsdag 5 maart 2013 20:40 schreef pascal08 het volgende:

[..]

Alles-in-1. :)
Begin dan heel simpel, en maak eerst die pagination na ;).
Daarna komt pas de volgende stap, het toepassen van filters daarop.
  dinsdag 5 maart 2013 @ 20:41:43 #126
12221 Tijn
Powered by MS Paint
pi_123675143
quote:
0s.gif Op dinsdag 5 maart 2013 20:40 schreef pascal08 het volgende:

[..]

Alles-in-1. :)
Dat kan alleen als je het in kleinere problemen opdeelt en die 1 voor 1 tackelt. Je kunt niet alles in 1 keer maken, zo werkt het gewoon niet.
  dinsdag 5 maart 2013 @ 20:48:20 #127
12221 Tijn
Powered by MS Paint
pi_123675509
Ik dacht je zoiets bedoelde:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<table>
  <thead>
    <tr>
      <th>
        <a href="/hier/je/url?sort=a">a</a>
      </th>
      <th>
        <a href="/hier/je/url?sort=b">b</a>
      </th>
      <th>
        <a href="/hier/je/url?sort=c">c</a>
      </th>
      <th>
        <a href="/hier/je/url?sort=d">d</a>
      </th>
    </tr>
  </thead>
  <tbody>
    <!-- hier allemaal rijen met data -->
  </tbody>
</table>

Een tabel met klikbare headers zodat je kunt sorteren op de kolommen.

De simpelste manier om daar een Ajax-variant van te maken is door een eventhandler op het klikken van de headers te zetten, die de nieuwe pagina op laten halen en de data van die pagina in je huidige tabel te injecteren:

1
2
3
4
5
6
7
8
// klik op een header
$('thead a').on('click', function(e) {
  // voorkom de standaardactie (== geen page request)
  e.preventDefault();
  
  // haal de url op en stop de tbody van de opgehaalde pagina in de huidige tbody
  $('table tbody').load($(this).attr('href') + ' table tbody');
});

Heb je daar wat aan of slaat dat nergens op?
  dinsdag 5 maart 2013 @ 20:57:35 #128
319705 pascal08
dr. prof.
pi_123676079
quote:
5s.gif Op dinsdag 5 maart 2013 20:48 schreef Tijn het volgende:
Ik dacht je zoiets bedoelde:
[ code verwijderd ]

Een tabel met klikbare headers zodat je kunt sorteren op de kolommen.

De simpelste manier om daar een Ajax-variant van te maken is door een eventhandler op het klikken van de headers te zetten, die de nieuwe pagina op laten halen en de data van die pagina in je huidige tabel te injecteren:
[ code verwijderd ]

Heb je daar wat aan of slaat dat nergens op?
Ja, dit slaat op wat ik wil.

Misschien is het handiger als ik snap wat er achter de schermen moet gebeuren. Ik denk namelijk dat het zo zit:

1. Gebruiker vraagt pagina op voor de eerste keer
2. Controller roept model aan met standaardwaarden (minimum en maximum nog niet ingesteld) en genereert de pagina.
3. Gebruiker klikt op sorteren van kolom 2.
4. Via ajax wordt een functie in de controller aangeroepen
5. De controller roept een functie in model aan,
met de informatie dat er in de query gesorteerd moet worden op kolom 2.
6. Via ajax wordt alles in de view geïnjecteerd.

Werkt het zo of klopt mijn hele denkpatroon niet?
  dinsdag 5 maart 2013 @ 21:46:04 #129
12221 Tijn
Powered by MS Paint
pi_123679339
Al die model/controller/view-dingen spelen zich af op de server. Die gebruik je om de juiste data op de juiste manier van de server naar de client te sturen.

Waar het nu op gaat is hoe je de data ververst in je client. Dat betekent dat er een request naar je server moet, daar wordt de juiste data verzameld en daarna (dan heb je dus niks meer met MVC te maken) moet die data op de een of andere manier de data op je huidige pagina vervangen. Dat moet met Javascript, want dat is de enige programmeeromgeving die je tot je beschikking hebt in je client.

Wat ik in het voorbeeld hierboven heb gedaan is dezelfde url ophalen die je zonder Ajax-call zou gebruiken ( $(this).attr('href') ). Vervolgens ondersteunt de .load()-functie van jQuery een selector zodat je alleen een gedeelte van dat document gebruikt. In dit geval is dat "table tbody", maar hoe dat precies in jouw website zit, hangt van de structuur op jouw pagina af.

Dit is wel een beetje "poor man's Ajax", omdat je in feite een hele nieuwe pagina opvraagt ipv alleen de nieuwe data.

Als je het écht goed wil doen, moet je je backend aanpassen om bij een Ajax-call alleen de data zelf naar buiten te sturen (bv als JSON) en vervolgens zelf in Javascript een functie schrijven om de gegevens in je JSON-data op de juiste plek in je tabel te zetten. Maar dat vergt dus wel nog wat werk, daar moet je maar net zin in hebben :P

[ Bericht 0% gewijzigd door Tijn op 05-03-2013 21:56:39 ]
  dinsdag 5 maart 2013 @ 21:54:22 #130
319705 pascal08
dr. prof.
pi_123679888
quote:
2s.gif Op dinsdag 5 maart 2013 21:46 schreef Tijn het volgende:
Al die model/controller/view-dingen spelen zich af op de server. Die gebruik je om de juiste data op de juiste manier van de server naar de client te sturen.

Waar het nu op gaat is hoe je de data ververst in je client. Dat betekent dat er een request naar je server moet, daar wordt de juiste data verzameld en daarna (dan heb je dus niks meer met MVC te maken) moet die data op de een of andere manier de data op je huidige pagina vervangen. Dat moet met Javascript, want dat is de enige programmeeromgeving die je tot je beschikking hebt in je client.

Wat ik in het voorbeeld hierboven heb gedaan is dezelfde url ophalen die je zonder Ajax-call zou gebruiken ( $(this).attr('href') ). Vervolgens ondersteund de .load()-functie van jQuery een selector zodat je alleen een gedeelte van dat document gebruikt. In dit geval is dat "table tbody", maar hoe dat precies in jouw website zit, hangt van de structuur op jouw pagina af.

Dit is wel een beetje "poor man's Ajax", omdat je in feite een hele nieuwe pagina opvraagt ipv alleen de nieuwe data.

Als je het écht goed wil doen, moet je je backend aanpassen om bij een Ajax-call alleen de data zelf naar buiten te sturen (bv als JSON) en vervolgens zelf in Javascript een functie schrijven om de gegevens in je JSON-data op de juiste plek in je tabel te zetten. Maar dat vergt dus wel nog wat werk, daar moet je maar net zin in hebben :P
Bedankt voor je uitgebreide antwoord. _O_ Is er misschien ergens op internet documentatie te vinden hierover? Ik wil hier best meer over lezen. :D
  dinsdag 5 maart 2013 @ 21:55:39 #131
12221 Tijn
Powered by MS Paint
  woensdag 6 maart 2013 @ 08:47:36 #132
137776 boem-dikkie
Jedi Mind Baby!
pi_123692521
Ik snap je pagination functie niet zo goed binnen CodeIgniter? Is dat een functie die samenwerkt met de query en zo pagina's opbouwt? Of is dat gewoon een functie die bekijkt hoeveel records je hebt en vervolgens een lijstje opbouwt van bijvoorbeeld 10 per pagina en een click navigatie?

Want als het laatste het geval is, kun je toch gewoon met AJAX een nieuwe query aanroepen met variabelen (min en max) en die weer in je tbody dumpen?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_123714513
:P Is er trouwens geen topic op FOK! voor NodeJS ?
  woensdag 6 maart 2013 @ 19:59:16 #134
56176 Catch22-
Ben je Blind?!
pi_123715064
Mag hier. Van mij. lief he?

ik heb zelf alleen een beetje ervaring met meteor
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_123721572
quote:
0s.gif Op woensdag 6 maart 2013 19:59 schreef Catch22- het volgende:
Mag hier. Van mij. lief he?

ik heb zelf alleen een beetje ervaring met meteor
Ben zelf ook aan het kijken met Meteor, misschien dat ik binnenkort wel een apart topic maak voor NodeJS.

Is toch anders dan frontend javascript.
pi_123725279
quote:
0s.gif Op woensdag 6 maart 2013 19:59 schreef Catch22- het volgende:

[..]

ik heb zelf alleen een beetje ervaring met meteor
En hoe bevalt het? Ik ben voor mijn werk wat JavaScript MVP/MVC frameworks aan het verkennen voor het ontwikkelen van SPA's. Backbone en AngularJS (i.z.m. jQuery en Bootstrap) staan hoog op het lijstje.
  woensdag 6 maart 2013 @ 22:58:45 #137
56176 Catch22-
Ben je Blind?!
pi_123726201
quote:
0s.gif Op woensdag 6 maart 2013 22:45 schreef Devv het volgende:

[..]

En hoe bevalt het? Ik ben voor mijn werk wat JavaScript MVP/MVC frameworks aan het verkennen voor het ontwikkelen van SPA's. Backbone en AngularJS (i.z.m. jQuery en Bootstrap) staan hoog op het lijstje.
vond t wel oké. Was bijzonder basis hoor, meer oriënterend. Ga het in de toekomst misschien wel toepassen
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  donderdag 7 maart 2013 @ 08:49:09 #138
137776 boem-dikkie
Jedi Mind Baby!
pi_123734705
Is Meteor niet nog hartstikke onstabiel?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_123945132
Kan iemand mij vertellen wat ik hier fout doe? Ik wil CONTENT naast NAVIGATIE zetten maar dan lijkt de 'parent div' terug te vallen zodat de navigatie en content erbuiten vallen, dat alleen de header nog 'in de site' zit. En dat is niet de bedoeling

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<body>
<div id="maincontainer">
<div id="mainheader">
<div id="header"><h1>LOGO</h></div>
<div id="bannerheader"></div>
</div>
<div id="maincontent">
<div id="navigatie">NAVIGATIE</div>
<div id="content">CONTENT
</div>
</div>
<div id="footer">Het test project</div>
</div>
</body>
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
body{
margin: 0;
text-align: center;
background-color: #919191;
}

div#maincontainer{
margin: 20px auto 20px auto;
width: 850px;
text-align: left;
border-style: solid;
background-color: #E6FCB7;
border-width: 6px;
}

div#mainheader{
width: 850px;
height: 130px;
}

div#header{
width: 350px;
text-align: center;
float: left;

font-size: 150%
}

div#bannerheader{
position: relative;
left: 15px;
top: 30px;
background-image:url(banner.png);
float: left;
width: 468px;
height: 60px;
border-style: solid;
}

div#maincontent{
width: 844px;
}

div#navigatie{
border-right-style: solid;
width: 20%;
height: 250px;
margin: 15px 0px 15px 0px;
float: left;
}

div#content{
width: 78%;
border:solid;
float: left;
}

div#footer{
width: 100%;
height: 55px;

text-align: center;

Edit: het lijkt er dus op dat de maincontainer genegeerd wordt als ik float: left meegeef aan navigatie.

[ Bericht 1% gewijzigd door kievitsboom op 12-03-2013 05:22:51 ]
:{
  dinsdag 12 maart 2013 @ 06:57:10 #140
4159 GI
Nee ik heet geen JOE
pi_123945411
Makkelijkste oplossing is om onderaan de content een

<br style="clear:both" />

op te nemen.
http://jsfiddle.net/8A5Xt/
pi_123945616
Kijk eens aan! Weer wat geleerd, waarvoor mijn dank.

ik blijf maar bijleren zo. :7
:{
  dinsdag 12 maart 2013 @ 07:57:02 #142
56176 Catch22-
Ben je Blind?!
pi_123945752
Dat is wel heel vies

Google eens op clearfix
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  dinsdag 12 maart 2013 @ 07:58:46 #143
84244 Scorpie
Abject en infaam!
pi_123945774
quote:
19s.gif Op woensdag 6 maart 2013 19:50 schreef TwenteFC het volgende:
:P Is er trouwens geen topic op FOK! voor NodeJS ?
NodeJS ervaring reporting in .
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_123945806
quote:
14s.gif Op dinsdag 12 maart 2013 07:58 schreef Scorpie het volgende:

[..]

NodeJS ervaring reporting in .
Ik ga d'r binnenkort fanatiek mee bezig, het klinkt allemaal heel mooi dus ik ben benieuwd.
Als er animo voor is wil ik dan ook wel een topic openen speciaal voor NodeJS en haar frameworks.

:P Een beetje goede op neerzetten.
  dinsdag 12 maart 2013 @ 08:22:53 #145
91039 mstx
2x1/2 = 1/2 x 1/2
pi_123946042
quote:
0s.gif Op dinsdag 12 maart 2013 07:57 schreef Catch22- het volgende:
Dat is wel heel vies

Google eens op clearfix
In principe werkt het allemaal het zelfde. Ik doe meestal <br class="clear" /> met .clear{clear:both;} omdat ik dat nu eenmaal gewend ben. O-)
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  dinsdag 12 maart 2013 @ 08:50:47 #146
84244 Scorpie
Abject en infaam!
pi_123946491
quote:
19s.gif Op dinsdag 12 maart 2013 08:01 schreef TwenteFC het volgende:

[..]

Ik ga d'r binnenkort fanatiek mee bezig, het klinkt allemaal heel mooi dus ik ben benieuwd.
Als er animo voor is wil ik dan ook wel een topic openen speciaal voor NodeJS en haar frameworks.

:P Een beetje goede op neerzetten.
Ook goed :) heb zelf ervaring met Socket.IO, NowJS & Node zeg maar :)
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  dinsdag 12 maart 2013 @ 10:48:53 #147
50298 QM84
Het Orakel
pi_123949556
quote:
0s.gif Op dinsdag 12 maart 2013 08:22 schreef mstx het volgende:

[..]

In principe werkt het allemaal het zelfde. Ik doe meestal <br class="clear" /> met .clear{clear:both;} omdat ik dat nu eenmaal gewend ben. O-)
Nee, het werkt niet hetzelfde:
Met een <br class="clear" /> voeg je een extra fysiek html-element toe aan je pagina, terwijl je met de clearfix dit niet doet.
Het nadeel van het toevoegen van een <br> is, dat het voor ongewilde resultaten kan zorgen (je voegt een harde line-break toe, dus ruimte) en in veel gevallen is het ook niet eens mogelijk om deze toe te voegen.
dat dus.
  dinsdag 12 maart 2013 @ 11:19:26 #148
91039 mstx
2x1/2 = 1/2 x 1/2
pi_123950517
quote:
3s.gif Op dinsdag 12 maart 2013 10:48 schreef QM84 het volgende:

[..]

Nee, het werkt niet hetzelfde:
Met een <br class="clear" /> voeg je een extra fysiek html-element toe aan je pagina, terwijl je met de clearfix dit niet doet.
Het nadeel van het toevoegen van een <br> is, dat het voor ongewilde resultaten kan zorgen (je voegt een harde line-break toe, dus ruimte)
Niet helemaal mee eens, met clearfix voeg je ook content (dus ruimte) toe via CSS. Of je het nou fisiek of virtueel doet, de methode is anders maar de werking blijft het zelfde (namelijk een clear:both toevoegen aan de content na het laatste floating-element).
Dat het in dit geval een <br> is maakt het resultaat wel iets anders omdat het inderdaad nog een line-break toevoegt, maar in al die jaren ben ik nog nooit een ongewild resultaat tegengekomen in welke browser dan ook.

Soms gebruik je het ook om elementen na float-elementen weer op de volgende regel te laten beginnen, dan vind ik persoonlijk een <br> juist weer duidelijker.

Maar goed, ik heb zelf niet echt een specifieke voorkeur, ik gebruik gewoon hetgeen wat er in de rest van het project gebruikt wordt.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_123951270
Elementen toevoegen voor stijl is lelijk. Een <br> is een semantisch element, dus dat maakt het driedubbel lelijk (gebruik dan een span of div). Maar iedereen gebruikt toch al honderd jaar gewoon overflow:hidden op de parent voor dit probleem?
  dinsdag 12 maart 2013 @ 11:42:56 #150
12221 Tijn
Powered by MS Paint
pi_123951301
Met clear:both op de footer ben je er toch ook?

Hoe dan ook ben je verkeerd bezig als je extra elementen nodig hebt, puur voor de layout.

[edit] waarom trouwens <div id="header"> en <div id="footer"> ipv gewoon <header> en <footer>?
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')