Multi-level Arrays ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

29/02/2004 17:40:00
Quote Anchor link
Hallo,

Het volgende probeel. Niet zozeer een probleem met code, alswel met 'denken'. Wat ik heb is het volgende. Een lijst met dagen, dmv een for-loop. En bij iedere dag een aantal personen. Bij die personen kan ik (niet verplicht) een starttijd (bestaande uit een uur en minuten, in aparte velden) en een eindtijd (idem) invullen.

Nu wil ik die velden na het submitten van het formulier doorlopen. Maw, kijken of er bij pietje op een bepaalde dag iets is ingevuld, en indien ja, dan doe ik daar weer allerlei andere dingen mee (voornamelijk in een database stoppen).

Nu heb ik al wat dingen geprobeerd met array's (dus, wat ik normaal doe : <input name="naam[]"> etc.). Maar, in dit geval krijg ik dat niet voor elkaar. Logischerwijs zou het iets moeten zijn als 'input name="start[][]" waarbij de eerste [] dan voor de dag staat, en de tweede [] voor de persoon.

Ik kom er even niet uit, heeft iemand een idee ?

Gr,
André
 
PHP hulp

PHP hulp

25/11/2024 11:48:47
 
Rick

Rick

29/02/2004 23:44:00
Quote Anchor link
ik snap je vraag niet helemaal geloof ik

wil je uit een aantal input velden een array maken?
dan doe je toch gewoon dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
$dag
= date('l');
$array[$dag]['naam'] = $_POST['naam'];
# of iets wat daar op lijkt
?>
 
Arend a

Arend a

29/02/2004 23:56:00
Quote Anchor link
Kan je iets duidelijker wat je probeert te doen te omschrijven (ik kom er nog niet helemaal uit wat je plan is met multilevel arrays, en misschien kan ik je een andere weg naar rome uitleggen, of op zn minst waarom je deze weg wilt bewandelen)
 

01/03/2004 09:12:00
Quote Anchor link
Sorry, het is inderdaad ook knap moeilijk uit te leggen. Geloof dat dat een groter probleem is dan het probleem zelf ! Ik zal proberen te beschrijven wat het script moet gaan doen.

Het is een soort van rooster-schema voor een bedrijf. Op een formulier vul ik twee datums in. In het script wordt gechecked welke van de mensen en middelen beschikbaar zijn in die periode.
De volgende pagina geeft een lijst met de dagen in die periode, dus bijvoorbeeld :

1 maart
2 maart
3 maart

Bij iedere dag worden de namen gegeven van de mensen/middelen die beschikbaar zijn, en per mens/middel kun je een starttijd en een eindtijd ingeven. Bijvoorbeeld zoiets dus, voor 1 maart :

1 maart Pietje start : eind :
Jantje start : eind :
Middel start : eind :

Wat er dan dus verder moet gebeuren, is het bekijken van óf er bij een mens/middel een starttijd is opgegeven per dag. Indien ja, dan moet dat in een database worden opgeslagen (dat lukt wel), en anders checked ie gewoon de volgende persoon.

Dus, logischerwijs zou het dan zoiets moeten worden ?

<input name="starttijd[][]"

en dan in het script een loopje die checkt :

if isset ($starttijd[$dag][$medewerker]) ?
 

01/03/2004 09:24:00
Quote Anchor link
Sorry, het is inderdaad ook knap moeilijk uit te leggen. Geloof dat dat een groter probleem is dan het probleem zelf ! Ik zal proberen te beschrijven wat het script moet gaan doen.

Het is een soort van rooster-schema voor een bedrijf. Op een formulier vul ik twee datums in. In het script wordt gechecked welke van de mensen en middelen beschikbaar zijn in die periode.
De volgende pagina geeft een lijst met de dagen in die periode, dus bijvoorbeeld :

1 maart
2 maart
3 maart

Bij iedere dag worden de namen gegeven van de mensen/middelen die beschikbaar zijn, en per mens/middel kun je een starttijd en een eindtijd ingeven. Bijvoorbeeld zoiets dus, voor 1 maart :

1 maart Pietje start : eind :
Jantje start : eind :
Middel start : eind :

Wat er dan dus verder moet gebeuren, is het bekijken van óf er bij een mens/middel een starttijd is opgegeven per dag. Indien ja, dan moet dat in een database worden opgeslagen (dat lukt wel), en anders checked ie gewoon de volgende persoon.

Dus, logischerwijs zou het dan zoiets moeten worden ?

<input name="starttijd[][]"

en dan in het script een loopje die checkt :

if isset ($starttijd[$dag][$medewerker]) ?
 
Arend a

Arend a

01/03/2004 11:27:00
Quote Anchor link
Gebruik je MySQL?
 

01/03/2004 13:00:00
Quote Anchor link
Jep
 
Arend a

Arend a

01/03/2004 13:33:00
Quote Anchor link
Euhm, dat

<input name="starttijd[][]"> lijkt me niet werken,
<tr><td>1 Maart</td><td>Medewerker met het id 0 &nbsp; <input name="startijd[0301][03]"></td></tr>

(03 is hierbij dan een ID van de medewerker)

Vervolgens kan je dit doorlopen met foreach.



Grtz,

Arend
 

01/03/2004 13:54:00
Quote Anchor link
Ja, zoiets had ik al bedacht....maar dat werkte niet. Zal het nog eens proberen, maar dan met en for loopje in het formulier, om die name= dingen automatisch aan te maken. Ik piel even verder, dank in ieder geval voor het meedenken ! Ik zit op de goeie weg, zal wel ergens een domme tik/denk-fout gemaakt hebben....
 



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.