Hulp nodig met 2 dingen in codeigniter

  • Geachte,


    Ik ben voor een klant een rittenstatus systeem het maken.
    Nu zit ik met de volgende 2 problemen:


    1:
    Ze hebben verschillende chauffeurs, en willen dus per dag per chauffeur een overzicht hebben.
    Nu wil ik gebruik maken van bootstrap tabs zodat als ze op een naam klikken ze de desbetreffende tab krijgen met die dag.


    Dit is in het menu verwerkt:

    PHP
    Chauffeurs: <?php foreach($chauffeurs as $chaufs){ if($chaufs->beschikbaar =='Nee'){ echo'<a href="#'.$chaufs->voornaam.'" class="btn btn-danger btn-sm" role="tab" data-toggle="tab">'.$chaufs->voornaam.' '.$chaufs->achternaam.'</a> '; }elseif($chaufs->beschikbaar =='Ja'){ echo'<a href="#'.$chaufs->voornaam.'" class="btn btn-success btn-sm" role="tab" data-toggle="tab">'.$chaufs->voornaam.' '.$chaufs->achternaam.'</a> '; } }?>



    Het stukje dat de naam in de tabs aangeeft:

    PHP
    <?php 
    				foreach($chauffeurs as $chaufs)
    				{
    					echo '<div role="tabpanel" class="tab-pane" id="'.$chaufs->voornaam.'">Werkt</div>';
    				}	
    				?>


    Hoe kan ik de data uit de database halen met codeigniter dat die weet welke chauffeur ik gekozen heb?


    Model:

    PHP
    function get_results($chauffeur)
    	{
    		$datum = date("Y-m-d");
    		$query=$this->db->query("select * from dagrapport WHERE datum = '".$datum."' AND chauffeur = '".$chauffeur."'  ORDER BY ritnummer ASC");
    		return $query->result();
    	}


    Controller:


    Zoals je ziet heb ik nu $chauffeur ="Mick"; gebruikt om te testen, hoe wordt het aangeroepen zodra ik een chauffeur aanklik?



    Vraag 2:
    Als ik een rit wil toevoegen, als ik dan bijvoorbeeld op chauffeur 1 ben. en dan op nieuw toevoegen klik. Dan wilt de klant dat als je erop klikt dat je dan ook de chauffeur hebt ingevuld in het formulier, zodat ze die niet hoeven te selecteren.


    wie o wie kan mij hiermee helpen.


    Groetjes Mick

  • #1
    Je zult op een of andere manier de informatie moeten doorgeven. Je doet bijvoorbeeld een pagerefresh waarin de naam (of beter, het id) van de chauffeur wordt doorgegeven op het moment dat je op een tab klikt, of je doet op het moment klikken een AJAX-call met info uit de geselecteerde tab. Dit is niet echt een codeigniter specifiek probleem denk ik?


    #2
    Als je je hebt aangemeld als chauffeur dan weet het systeem toch al dat jij chauffeur X bent? Ik zou zeggen, je hoeft dat niet eens aan het systeem te vertellen en dat hoef je ook niet in te vullen - dit staat immers al vast? Dit zou ik dus om te beginnen in het geheel niet opnemen in het formulier. Het lijkt mij ook zaak dat chauffeur X geen ritten kan invullen voor chauffeur Y? Ook dit lijkt mij niet echt een CI-specifiek probleem. Het hangt er natuurlijk vanaf hoe jij je systeem hebt ingericht met verschillende gebruikers/rollen et cetera.


    Sidenotes:
    $chauffeur->beschikbaar "Ja" / "Nee". Zijn er nog andere smaken? Zonee, dan hoef je dit ook niet op te nemen in je else-conditie. En het is wellicht beter om dit als een Boolse waarde (true of false, 0 of 1) op te slaan in plaats van een letterlijke (case sensitive?) string. Hoe je dit vervolgens weergeeft (bijvoorbeeld 0 als Nee en 1 als Ja) is een tweede en kan apart geregeld worden. Je code wordt dan ook een stuk korter en wat mij betreft ook een stuk intuïtiever:


    PHP
    if ($driver->available) {
        // driver available
    } else {
        // driver unavailable
    }

    Hierbij loont het waarschijnlijk ook de moeite om je consequent te bedienen van dezelfde taal, bij voorkeur overal in het engels.


    Wordt een chauffeur ook echt geïdentificeerd met zijn/haar (voor)naam? Dat lijkt mij geen goede zaak? Wat als er straks twee chauffeurs zijn die "Henk" heten? Lijkt mij beter om deze te identificeren met een uniek nummer of een unieke code.

  • Bedankt voor je reactie,


    De bovenstaande problemen zijn opgelost. heb nu nog 1 probleem:


    Ik heb een select dropdown in een formulier


    Nu wilt de klant:


    Als ik bijvoorbeeld rit 1 kies dat je bij de volgende select dropdown dan alleen alles van 1 ziet.


    Voorbeeld:


    Ritnummer: 1 t/m 20
    Ritnummer toevoeging: 1.1, 1.2 etc etc.


    Dus als je dan bijvoorbeeld ritnummer 2 selecteerd dat je dan alleen 2.1, 2.2 etc krijgt en niet van de andere nummers krijgt te zien.


    Is zoiets mogelijk?

  • Dit is prima mogelijk en wordt ook vrij veel gebruikt. Dit is een zogenaamde "dynamische select box" of hoe je het ook wilt noemen waar de opties van dropdown B afhankelijk zijn van de geselecteerde optie van een vorige dropdown A.


    Dit is (wederom) niet echt een CI-specifiek probleem en kan in afzondering opgelost worden. Hierbij is het waarschijnlijk handig als je JavaScript gebruikt. Er zijn vele implementaties mogelijk.


    Ook zijn dit soort vraagstukken zelden uniek dus je zou eens kunnen Googlen hoe, bij gebrek aan eigen inspiratie, anderen dit hebben aangepakt, en dat zou je dan als opzet voor een eigen oplossing kunnen gebruiken.

  • Dit is prima mogelijk en wordt ook vrij veel gebruikt. Dit is een zogenaamde "dynamische select box" of hoe je het ook wilt noemen waar de opties van dropdown B afhankelijk zijn van de geselecteerde optie van een vorige dropdown A.


    Dit is (wederom) niet echt een CI-specifiek probleem en kan in afzondering opgelost worden. Hierbij is het waarschijnlijk handig als je JavaScript gebruikt. Er zijn vele implementaties mogelijk.


    Ook zijn dit soort vraagstukken zelden uniek dus je zou eens kunnen Googlen hoe, bij gebrek aan eigen inspiratie, anderen dit hebben aangepakt, en dat zou je dan als opzet voor een eigen oplossing kunnen gebruiken.


    Thx hier kan ik mee aan de slag

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!