Geschikte route

  • Hallo leden,


    Al een tijdje begin ik een weg te krijgen in PHP.. Ik probeer de lat steeds zo hoog mogenlijk te leggen met hoge eisen. Nu ben ik voor de fun begonnen aan een systeem wat ik niet los kan laten! Mits het mogenlijk is om te maken wat techniesch gezien wel kan!


    Ik ben een klanten bestand aan het maken, die automatisch een werklijst genereert zodat vervolgens het aantal opgegeven werk auto(s) die route kan afrijden volgens de afgesproken tijden en de kortste route's!


    Wat ik heb:
    Tabel klanten => id, achternaam, postcode, huisnr, tel_een.
    Tabel afspraken => klant_nr, afspraak_datum, tijd_een, tijd_twee.
    Dan maak ik via een optie op de site een nieuwe werkdag aan. Dan geef ik daar een maximum aantal klanten mee, en het aantal ploegen dat er die dag rijden.


    Laten we nu zeggen.
    20 klanten - 2 ploegen


    De pagina die de werklijsten weergeeft, toont alle afspraken die ik momenteel op die dag heb.


    Code
    $aSelect = $db->query("SELECT a.* FROM afspraken AS a JOIN klanten AS k on a.klant_nr = k.id WHERE a.afspraak_datum = '" . $i . "' ORDER BY a.tijd_een ASC, k.postcode DESC");


    Maar nu kom ik op het volgende probleem, hoe deel ik de klanten in per werkploeg?
    Dus als je op "werklijst ploeg 1 (naam 1 & naam 2)" klikt, dan hij dan 10 klanten laat zien gesorteerd op tijd en postcode! Als ik vervolgens dan op "werklijst ploeg 2 (naam 1 & naam 2)" klik hij dan de andere 10 laat zien van die werkdag
    Ik hoop dat iemand mij hierbij kan ondersteunen!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • ligt eraan hoe je dit 3 tabel hebt aangezien je nu alleen 2 tabellen heb die je aan elkaar kan koppelen met afspraken je hebt geen verschil in hoe je deze gaat indelen, wel kan het zo zijn dat werkploeg a postcode gebied b rijd, en werkploeg c postcode gebied d, maar anders lijkt het me lastig worden.

  • Dit is iets wat vrij ingewikkeld is, ik zou kijken naar de API van google maps... daarmee kan je als het goed is afstanden bepalen d.m.v. postcodes etc... zou je alleen een kort pathfinding algoritme moeten gebruiken denk ik om de afstanden te sorteren per startpunt.

  • Hallo ,


    Bedankt voor jullie reacties! Maar ik denk dat ik het te ingewikkeld uitleg.. Denk ik. De bedoeling is dat je 3 tab bladen hebt met alle drie de tabbladen ingedeeld van 08:00-t/m 17:00 dan laat ik de postcode nog even buiten wegen, want ik zit er aan te denken iets met "drag & drop" te doen zodat het bedrijf eventueel zelf een geschikte route in elkaar kan zetten.. De postcode worden gesorteerd oplopend->aflopend..


    Wat ik nu heb
    Tab bladen 1 t/m 3 maar daar staan letterlijk alle afspraken in van tab blad 1 08:00 t/m tab blad 3 17:00 en niet per tabblad 08:00. Dus hoe maak ik een pagina zo iets als:


    Werkploeg 1 Naam 1 & 2 | Werkploeg 2 Naam 1 & 2 | Werkploeg 3 Naam 1 & 2


    08:00 / 10:00 klant gegevens
    09:00 / 11:00 klant gegevens
    10:00 / 12:00 klant gegevens
    11:00 / 13:00 klant gegevens
    Voor de middag klant gegevens
    na de middag klant gegevens
    12:00 / 14:00 klant gegevens
    13:00 / 15:00 klant gegevens
    14:00 / 16:00 klant gegevens
    15:00 / 17:00 klant gegevens

  • werkploeg id van die dag toevoegen ab he afspraken,
    waar je eventueel 1 tabel extra hebt:


    - Werploegen met koppeling naar een persoon zoals bijv:
    user_id, werkploeg_id, dag


    daar aan kan je het dan koppelen, kan me ook dynamisch elke dag de ploegen indelen.

Participate now!

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