Hulp gezocht bij maken van kruistabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Pagina: 1 2 3 4 5 volgende »

- DHU -

- DHU -

08/07/2019 14:35:53
Quote Anchor link
Hoi beste php'ers,

ik ben nog niet heel lang bezig met php maar heb toch een wens. Gaat om het maken van een query voor 'n kruistabel te laten weergeven. Poosje geleden heb ik me hier ook al me beziggehouden maar ik kan me helaas niet in verdiepen doordat ik kennis niet op niveau heb om dit te kunnen maar ook tijd speelt een rol.

ik ben op zoek naar iemand die me hierbij wil helpen. Dit hoeft uiteraard niet kosteloos te zijn. Ga graag met iemand daarover in onderhandeling buiten het forum om.

Wat is de vraag?

ik heb in een database drie tabellen. tabel medewwerkers, tabel rollen en een tabel waarin een relatie staat tussen die twee.
wat ik nu graag zou willen is dat een dmv een SQL opdracht de waarden van tabel medewerkers verticaal wordt weergegeven en de waarden van tabel rollen horizontaal wordt weergeven. Daar waar een match tussen die twee zitten zou het mooi zijn dat via een symbool (plusje ofzo) wordt getoond op het scherm.

Ik heb geen idee hoe dit werkt vandaar dat ik de vraag hier parkeer. Hoop dat iemand me hier mee wil helpen
Kunnen we onderling de vraag fine tunen waar nodig..

Alvast bedankt,
Dirk
 
PHP hulp

PHP hulp

05/11/2024 15:40:02
 
- Ariën  -
Beheerder

- Ariën -

08/07/2019 16:13:13
Quote Anchor link
Als je koppelingen wilt leggen tussen entiteiten, dan moet je in MySQL JOINS gebruiken:
https://www.w3schools.com/sql/sql_join.asp
 
- DHU -

- DHU -

08/07/2019 16:23:45
Quote Anchor link
- Ariën - op 08/07/2019 16:13:13:
Als je koppelingen wilt leggen tussen entiteiten, dan moet je in MySQL JOINS gebruiken:
https://www.w3schools.com/sql/sql_join.asp



Hoi Arien,

I know... daar ben ik mee aan stoeien.. maar het is meer dan koppelingen leggen... het is met name het displayen van de info
 
- Ariën  -
Beheerder

- Ariën -

08/07/2019 16:34:22
Quote Anchor link
Het maken van een applicatie dus. Als je dat wilt laten bouwen, dan is het Vacatureforum de beste plek om een topic te plaatsen. Lees wel de criteria die daar vermeld worden aan een topic.
 
Jan R

Jan R

08/07/2019 18:18:46
Quote Anchor link
Ik heb de tabel zo aangemaakt.
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
<?php
    include_once 'functions.php';
    $con=opendatabasei();
    $sql = 'select
                concat(l.voornaam, " ", l.achternaam) naam,
                r.rol
            from
                leden l
            join member2rol m
                on m.member=l.ID
            join
                rollen r
                on r.id=m.rol
            order by
                naam,
                r.rol
            '
;
    $result = mysqli_query($con, $sql);
    
    $data = mysqli_fetch_all($result, MYSQLI_ASSOC);
    
    foreach($data as $rij) {
        $namen[$rij['naam']] = $rij['naam'];
        $draai[$rij['rol']][$rij['naam']] = true;
    }

    echo '<table id="t2">' . PHP_EOL;
    echo '<tr><th></th>';
    
    foreach($draai as $key=>$rol) {
        echo '<th>' . $key . '</th>';
    }

    
    echo '</tr>';
      
    foreach ($namen as $naam) {
        echo '<tr><th>'. $naam . '</th>' . PHP_EOL;
        foreach($draai as $key=>$rol) {
            if(isset($draai[$key][$naam])) {
                echo '<td>*</td>';
            }
else{
                echo '<td></td>';
            }
        }

        echo '</tr>';
    }

    echo '</tr>
    </table>'
;
?>

met hulp van de leden hier.
Doet exact wat je vraagt maar wel de tabellen/velden aanpassen.

Je krijgt dan iets zoals de rolverdeling hieronder
Afbeelding


Jan
Gewijzigd op 08/07/2019 18:22:36 door Jan R
 
- DHU -

- DHU -

08/07/2019 18:20:28
Quote Anchor link
- Ariën - op 08/07/2019 16:34:22:
Het maken van een applicatie dus. Als je dat wilt laten bouwen, dan is het Vacatureforum de beste plek om een topic te plaatsen. Lees wel de criteria die daar vermeld worden aan een topic.


Maken van een applicatie is denk te hoog hoor....
de output wil ik graag als volgt:

Mdw A Mdw B Mdw C Mdw D
Rol 1 + +
Rol 2 +
Rol 3 + +
Rol 4 +
Rol 5 + + +
 
Adoptive Solution

Adoptive Solution

08/07/2019 18:26:59
Quote Anchor link
In februari jl stond je voor dezelfde uitdaging.

Ondanks dat het vrij duidelijk werd voorgekauwd, stortte je op het end alsnog in elkaar.

Mogelijk is je probleem niet technisch maar wat anders.

https://www.phphulp.nl/php/forum/topic/koppelings-matrix-hoe-maak-je-die/102754/
 
- DHU -

- DHU -

08/07/2019 18:37:33
Quote Anchor link
Adoptive Solution op 08/07/2019 18:26:59:
In februari jl stond je voor dezelfde uitdaging.

Ondanks dat het vrij duidelijk werd voorgekauwd, stortte je op het end alsnog in elkaar.

Mogelijk is je probleem niet technisch maar wat anders.

https://www.phphulp.nl/php/forum/topic/koppelings-matrix-hoe-maak-je-die/102754/



I know, i know,
Ik gaf het toen en nu ook weer toe... dat ik nog heel basic ben in PHP / MySQL land... Ik heb het wel nodig maar krijg het niet voor elkaar... in die Topic gaat het mij te hoog. Je moet gevoelsmatig hoger wiskunde gestuurd hebben... Maar ik heb drukke baan en ik het uitkauwen van de materie duurt heel lang.. Vandaar dat ik ook de hulp inroep naar degene die me KAN EN WIL helpen.


Toevoeging op 08/07/2019 18:37:33:

Adoptive Solution op 08/07/2019 18:26:59:
In februari jl stond je voor dezelfde uitdaging.

Ondanks dat het vrij duidelijk werd voorgekauwd, stortte je op het end alsnog in elkaar.

Mogelijk is je probleem niet technisch maar wat anders.

https://www.phphulp.nl/php/forum/topic/koppelings-matrix-hoe-maak-je-die/102754/



I know, i know,
Ik gaf het toen en nu ook weer toe... dat ik nog heel basic ben in PHP / MySQL land... Ik heb het wel nodig maar krijg het niet voor elkaar... in die Topic gaat het mij te hoog. Je moet gevoelsmatig hoger wiskunde gestuurd hebben... Maar ik heb drukke baan en ik het uitkauwen van de materie duurt heel lang.. Vandaar dat ik ook de hulp inroep naar degene die me KAN EN WIL helpen.
 
- Ariën  -
Beheerder

- Ariën -

08/07/2019 19:24:45
Quote Anchor link
Dit zei ik al eerder ;-)

- Ariën - op 08/07/2019 16:34:22:
Het maken van een applicatie dus. Als je dat wilt laten bouwen, dan is het Vacatureforum de beste plek om een topic te plaatsen. Lees wel de criteria die daar vermeld worden aan een topic.
Gewijzigd op 08/07/2019 19:25:04 door - Ariën -
 
- DHU -

- DHU -

08/07/2019 19:47:29
Quote Anchor link
- Ariën - op 08/07/2019 19:24:45:
Dit zei ik al eerder ;-)

- Ariën - op 08/07/2019 16:34:22:
Het maken van een applicatie dus. Als je dat wilt laten bouwen, dan is het Vacatureforum de beste plek om een topic te plaatsen. Lees wel de criteria die daar vermeld worden aan een topic.

Dit betreft toch geen vacature... functie eisen, sollicitaties.. is dat niet wat hoog gegrepen voor een hulpvraag van iemand aan begin van een hobby staat :-)

Waarom gaan bij mij iedere keer de topics afwijken van mijn oorspronkelijk vraag?

Edit:
quote rechtgezet
Gewijzigd op 08/07/2019 20:47:08 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

08/07/2019 20:39:36
Quote Anchor link
Maar het komt wel in de buurt waar het Vacatureforum voor bedoeld is. ;-)

Dirk Huizinga op 08/07/2019 14:35:53:
Ik ben op zoek naar iemand die me hierbij wil helpen. Dit hoeft uiteraard niet kosteloos te zijn. Ga graag met iemand daarover in onderhandeling buiten het forum om.

De beschrijving daarvan is ook: Heb je een vacature die je aan iemand wilt delen of zoek je zelf iemand? Vacatures kun je hier kwijt.

Speciaal voor dat forum zijn er verplichte criteria zodat er een duidelijk plaatje ontstaat met uitleg over wie je zoekt, wat er moet gebeuren, en wat het budget is.
Gewijzigd op 08/07/2019 20:39:57 door - Ariën -
 
- DHU -

- DHU -

08/07/2019 21:03:51
Quote Anchor link
maar ik heb geen vacture.... en het budget stem ik af met degene die ik wil helpen ;-)
ben ook maar gewoon 'n hobbyist.

natuurlijk kan je er in lezen wat je wil lezen :-)
 
- Ariën  -
Beheerder

- Ariën -

08/07/2019 21:18:52
Quote Anchor link
Ook het vacature-forum is voor hobbisten die iemand zoeken. En een budget is nou eenmaal verplicht. Het hoeft hierin echt niet om honderden euro's te gaan. Als er maar duidelijk is hoeveel de opdracht opbrengt.
 
- DHU -

- DHU -

08/07/2019 22:03:00
Quote Anchor link
einde discussie.... dit gaat totaal de andere kant uit en we dwalen af.
 
- Ariën  -
Beheerder

- Ariën -

08/07/2019 22:06:42
Quote Anchor link
Ik weet zeker dat het het verkeerd ziet.

In de tweede alinea vraag je hulp voor buiten het forum. Dat is toch prima?
Wat is er mis om een goed vacature topic aan te maken?

Daar is dat forum juist voor bedoeld. Met de nodige criteria die gevraagd worden, ontstaat het meteen een duidelijk totaalplaatje met wat en wie je zoekt, en mensen kunnen dan bij jou melden als ze de opdracht aan willen nemen.
Gewijzigd op 08/07/2019 22:10:10 door - Ariën -
 
- DHU -

- DHU -

08/07/2019 22:12:39
Quote Anchor link
sluit aub deze topic.
heb hier geen zin om een oeverloze lange discussie over te gaan houden. Ik probeer het wel op een andere manier op te gaan lossen.
 
- Ariën  -
Beheerder

- Ariën -

08/07/2019 22:19:12
Quote Anchor link
Laat het anders even bezinken, ofzo.
Want het wordt zo erg verwarrend met wat je nu wil of niet wilt. Want wil je nu hulp van anderen buiten het forum om? Of wil je in dit topic worden geholpen door de leden van PHPhulp?

We zien graag duidelijkheid in een topic. Dus vandaar mijn vraag die ik als beheerder stel.
Gewijzigd op 08/07/2019 22:19:37 door - Ariën -
 
- DHU -

- DHU -

08/07/2019 22:26:12
Quote Anchor link
ik weet wel wat ik wil.. jij wil dat ik naar eea of vacaturebank ga of zo.
ik heb een vraag gelanceerd en maakt mij niet zoveel uit of dit binnen of buiten dit forum verloopt. mij om het even.
maar deze chat krijgt nu hele rare wending en we dwalen daardoor steeds verder af van de vraag.. Geen hond die er nu wat van snapt.
 
Thomas van den Heuvel

Thomas van den Heuvel

08/07/2019 22:31:44
Quote Anchor link
Het einddoel is duidelijk: een tabel met op de ene as medewerkers (X), op de andere de rollen (Y) en in de cellen (X,Y) een indicatie of de gebruiker de betreffende rol heeft.

Hiermee heb je eigenlijk het belangrijkste deel van je vraagstuk al opgelost: een concrete specificatie van hetgene dat gemaakt dient te worden. Dit is een concreet doel waar je naartoe kunt werken.

Het startpunt lijkt mij de database, waar alle gegevens in zitten om uiteindelijk zo'n tabel te genereren.

Vervolgens maak je een stappenplan. Hoe bereik je vanuit het startpunt dit einddoel? Uiteindelijk zal dit het weergeven van een HTML-tabel zijn in een HTML-document, of iets soortgelijks. Deze draai je met behulp van PHP uit, het liefst zo eenvoudig mogelijk met een dubbele for(each)-loop, een voor de rijen (rollen) en de ander voor de kolommen (medewerkers).

Daartoe kan het handig zijn om een soort van datastructuur in PHP te bouwen (een of meerdere), waarmee je het genereren van deze tabel makkelijker maakt.

En in beginsel moet je deze gegevens uit de database schudden. Hiertoe voer je een of meerdere queries uit. Hierbij moet je mogelijk ook rekening houden met randgevallen, bijvoorbeeld of een bepaalde rol nog niet vervuld wordt, of er medewerkers zijn die nog geen rol hebben.

Hiermee ben je in gedachten teruggelopen van einddoel naar beginsituatie, en heb je deze reis opgedeeld in stappen die je haast onafhankelijk van elkaar kunt doorlopen.

Het loont (dus) de moeite om eerst te plannen, en dan pas te gaan lopen. Als je direct in een ruk van beginsituatie naar eindpunt wilt dan kan ik mij voorstellen dat je geen idee hebt waar je moet beginnen. Daarom is het zaak dat je een structurele aanpak maakt en het te bereiken einddoel opdeelt in tussenstappen die vele malen makkelijker behapbaar zijn.

Zoals vanouds: verdeel en heers.

Je zou zelfs in afzondering dus het genereren van de tabel kunnen testen door gewoon wat dummy-data te verzinnen en in een of meerdere arrays te proppen. Dan heb je dat deel al klaar. Enige wat dan rest is die informatie op dezelfde manier in die structuur/structuren stoppen met behulp van queries. Dit kun je allemaal afzonderlijk doen en testen.

EDIT: oh, zoveel stond al min of meer in mijn reactie in die andere thread over hetzelfde onderwerp. Hierin zit zelfs een werkend voorbeeld!
Gewijzigd op 08/07/2019 22:40:12 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

08/07/2019 22:32:35
Quote Anchor link
Het krijgt geen rare wending, en ik heb niks over een Vacaturebank gezegd, alleen het vacatureforum. Waarom zou ik iemand verwijzen naar een andere site? :-P

Dat is een speciaal forum hier op PHPhulp wat ingesteld is voor mensen die hulp zoeken buiten het forum om door middel van creteria om een vraag in goede banen te laten verlopen. Klik maar op de link en maak daar een duidelijk topic aan volgens deze criteria. Dan snapt iedereen wat je wilt, en kunnen ze contact opnemen als ze je willen helpen.
Gewijzigd op 08/07/2019 22:46:25 door - Ariën -
 
- DHU -

- DHU -

08/07/2019 22:51:09
Quote Anchor link
zucht...

ik haak af

doei
 

Pagina: 1 2 3 4 5 volgende »



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.