Variabele variabele meenemen
Uit een database haal ik een rij namen op die worden gekoppeld aan o.a. enkele dropdownvelden. Deze velden krijgen een 'name' die wordt gehaald uit een variabele.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
echo '<td><select name="Voertuig_'.$row['Pers_ID'].'">
<option value="BR20-1">BR 20-1</option>
<option value="TS22-1">TS 22-2</option>
<option value="TS22-3">TS 22-3</option>
<option value="MP22-1">MP 22-1</option>
<option value="OPL1">OPL1</option>
<option value="OPL2">OPL2</option>
<option value="Overig">Overig</option>
</select>';
<option value="BR20-1">BR 20-1</option>
<option value="TS22-1">TS 22-2</option>
<option value="TS22-3">TS 22-3</option>
<option value="MP22-1">MP 22-1</option>
<option value="OPL1">OPL1</option>
<option value="OPL2">OPL2</option>
<option value="Overig">Overig</option>
</select>';
$row['Pers_ID'] = dus uit een database opgehaald. Op deze manier krijgt elk veld een eigen naam.
Nu wil ik de keuze van elk veld meenemen naar een volgende pagina die een overzicht toont van alles wat is ingevuld.
Ik heb dat als volgt geprobeerd:
in het basis formulier samen met
in test.php heb ik dan geprobeerd met
en
Code (php)
1
2
3
2
3
<?
$aFormulierVelden = array('SrtAct','Omschr','Bdag', 'Buur', 'Voertuig_'.$row['Pers_ID']');
?>
$aFormulierVelden = array('SrtAct','Omschr','Bdag', 'Buur', 'Voertuig_'.$row['Pers_ID']');
?>
de waarden van de velden mee te nemen.
Dat lukt dus niet voor Voertuig_'.$row['Pers_ID']
Ik heb ook geprobeerd de waarde van Voertuig_'.$row['Pers_ID'] in een nieuwe variabele te krijgen maar ook de waarde daarvan blijft geen resultaat geven met $_SESSION.
Heeft iemand een idee?
Gewijzigd op 11/04/2011 19:31:36 door Paul Greeve
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
//hier dan het script
?>
<form method="post" action="test.php">
<input type="hidden" value="<?php echo Voertuig_'.$row['Pers_ID'].' ; ?>" name="iets?">
<input type="sumbit" name="sumburito">
</form>
//hier dan het script
?>
<form method="post" action="test.php">
<input type="hidden" value="<?php echo Voertuig_'.$row['Pers_ID'].' ; ?>" name="iets?">
<input type="sumbit" name="sumburito">
</form>
met mijn site heb ik het wel zo gedaan met hidden
maar... ik ben beginner :) dus als ik het totaal fout doe niet boos worden :)
Let ook niet op wat Maarten Heijden zegt, dat is ook zo fout als het maar kan.
Karl help die jongen of houd alsjeblieft je mond, ik word zo ziek van jouw negatieve commentaar altijd.
Bart Pasmans op 12/04/2011 16:06:33:
Karl help die jongen of houd alsjeblieft je mond, ik word zo ziek van jouw negatieve commentaar altijd.
Maar het klopt wel...
Dat voertuigen gedoe moet waarschijnlijk nog weer naar een andere tabel (met eventueel een koppeltabel).
Dat wat Maarten zegt is de grootste flauwekul waar ik niet eens op in wil gaan (zie kleurtjes).
Karl Karl op 12/04/2011 16:09:38:
Maar het klopt wel...
Dat voertuigen gedoe moet waarschijnlijk nog weer naar een andere tabel (met eventueel een koppeltabel).
Dat wat Maarten zegt is de grootste flauwekul waar ik niet eens op in wil gaan (zie kleurtjes).
Bart Pasmans op 12/04/2011 16:06:33:
Karl help die jongen of houd alsjeblieft je mond, ik word zo ziek van jouw negatieve commentaar altijd.
Maar het klopt wel...
Dat voertuigen gedoe moet waarschijnlijk nog weer naar een andere tabel (met eventueel een koppeltabel).
Dat wat Maarten zegt is de grootste flauwekul waar ik niet eens op in wil gaan (zie kleurtjes).
potverdorie zeikneus houd daar mee op !
ik zeg dat het fout kan zijn dus als je het zelf niet beter kan donder op dan
Maarten heijden op 12/04/2011 16:28:58:
potverdorie zeikneus houd daar mee op !
ik zeg dat het fout kan zijn dus als je het zelf niet beter kan donder op dan
Karl Karl op 12/04/2011 16:09:38:
Maar het klopt wel...
Dat voertuigen gedoe moet waarschijnlijk nog weer naar een andere tabel (met eventueel een koppeltabel).
Dat wat Maarten zegt is de grootste flauwekul waar ik niet eens op in wil gaan (zie kleurtjes).
Bart Pasmans op 12/04/2011 16:06:33:
Karl help die jongen of houd alsjeblieft je mond, ik word zo ziek van jouw negatieve commentaar altijd.
Maar het klopt wel...
Dat voertuigen gedoe moet waarschijnlijk nog weer naar een andere tabel (met eventueel een koppeltabel).
Dat wat Maarten zegt is de grootste flauwekul waar ik niet eens op in wil gaan (zie kleurtjes).
potverdorie zeikneus houd daar mee op !
ik zeg dat het fout kan zijn dus als je het zelf niet beter kan donder op dan
Nee?
Ik zeg toch dat het fout is. Jij geeft zelf aan dat het fout kan zijn. Ik bevestig dit. Dan is de cirkel rond lijkt mij.
Ik ga er niet verder op in omdat het een simpele echo is. Als je die niet kan, dan kan je beter misschien eerst helemaal stoppen en dan opnieuw beginnen met php leren? Het eerste wat je over het algemeen leert is hoe je "Hello World!" op het scherm kan plaatsen.
en ik heb een eigen leden systeem wat met dit werkt
je kon aardiger zijn
Je kunt wel een leden systeem schrijven maar niet een simpele var?
Maarten heijden op 12/04/2011 16:44:28:
ten eerste ik krijg de pest aan de hello world
Ja, blijkbaar ben je nog niet eens op dat niveau aanbeland.
Maarten heijden op 12/04/2011 16:44:28:
en ik heb een eigen leden systeem wat met dit werkt
Ik wil niet weten hoe (of het überhaupt) werkt. Vertel maar waar het is, dan weet ik zeker dat ik mij daar nooit ga aanmelden.
Maarten heijden op 12/04/2011 16:44:28:
je kon aardiger zijn
Oh ja, de boel moet weer verbloemd worden? Zal ik je ook nog maar een kusje geven op je hoofd? Die zal nu wel pijn doen hé, arme Maarten.
Ik heb al wat rond geneusd op het forum en had al gezien dat Karl niet altijd genuanceerd is in zijn antwoorden. Op zich geen probleem hoor als hij vervolgens met een goed antwoord komt.
Ik ben beginner en sta open voor alle aanwijzingen die bijdragen aan een oplossing van mijn probleem en een verrijking van mijn kennis over php. Daarvoor is dit forum volgens mij bedoeld.
Dus Karl, laat je eens van je beste kant zien en vertel welke oplossing jij zou kiezen!!
@Maarten: bedankt voor je bijdrage, ik ga er eens naar kijken. Als er een betere oplossing is, die ik hier dus nog niet heb gezien, dan hoor je het van me.
We zijn op dit forum om elkaar te helpen niet waar?
Dus:
<form action="paginawaardevariabelenzichtbaarmoetenzijn.php" method="post">
... Hier je formulieronderdelen
</form>
Wanneer het formulier gesubmit is (controleren met if($_SERVER['REQUEST_METHOD'] == 'POST') ) kan je de array $_POST uitlezen.
Dus de pagina "paginawaardevariabelenzichtbaarmoetenzijn.php" wordt dan zoiets als:
Edit: Sessies kan je gebruiken om binnen één sessie (logisch) gegevens te onthouden over meerdere pagina's (let wel op de veiligheid).
Gewijzigd op 12/04/2011 19:31:40 door Arjan -
Karl Karl op 12/04/2011 19:38:25:
Dat voertuig_huppeldepup komt niet uit de database naar mijn inziens. Dit is alleen bedoeld om elke selectbox een unieke naam te geven aan de hand van een prefix en de id van data. Dit hoeft niet per definitie fout te zijn.
Elke dropdownlist wordt d.m.v. dat huppeldepup gedoe voorzien van een unieke naam die overeenkomt met de id van de persoon die er voor staat.
Met de tip van Arjan zie ik in ieder geval dat dit wel werkt.
Bij persoons id 122684 hoort bijvoorbeeld:
[Ingezet_122684] => J
[Voertuig_122684] => BR20-1
[Functie_122684] => B
[BTijd_122684] =>
[ETijd_122684] =>
En bij persoons id 122689 hoort:
[Ingezet_122689] => J
[Voertuig_122689] => TS22-1
[Functie_122689] => 1
Dit ga ik opslaan in de database.
Voordat het naar de db gaat wil ik het op een nieuwe pagina laten zien voor controle en eventueel printen.
Het probleem is dat ik bijvoorbeeld de waarde van [Voertuig_122689] => TS22-1 niet uit de $_POST kan halen met
Waarom wil je de gegevens weer naar een andere pagina exporteren? Waarom kan het niet op dezelfde pagina afgehandeld worden?
Ik vind het mooier om alles netjes als 'platte tekst' te tonen en te printen.
Je kan gewoon het volgende doen:
Code (php)
Misschien een idee om een blik te werken op http://php.net/manual/en/language.types.array.php
Een $_POST variabale is niets anders dan een array die de waarden bevat van een POST request.
Gewijzigd op 12/04/2011 20:41:51 door Arjan -
Dit is de bedoeling:
http://www.greeve1.nl/Brandweer/Presentielijst%206-3-2011_14_57.pdf
Zo wordt het als ik de pagina afdruk zonder verdere bewerking:
http://www.greeve1.nl/Brandweer/VG%20Post%20Frobenstraat%20nieuwe%20presentielijst.pdf
Toevoeging op 12/04/2011 21:14:53:
Quote:
Misschien een idee om een blik te werken op http://php.net/manual/en/language.types.array.php
Een $_POST variabale is niets anders dan een array die de waarden bevat van een POST request.
Een $_POST variabale is niets anders dan een array die de waarden bevat van een POST request.
Dit had ik allemaal gelezen en dit is mee ook duidelijk.
Nu moet ik het alleen nog allemaal netjes weergeven.
Gewijzigd op 12/04/2011 20:49:14 door Paul Greeve
Paul Greeve op 12/04/2011 20:46:36:
Zie hier het verschil.
Dit is de bedoeling:
http://www.greeve1.nl/Brandweer/Presentielijst%206-3-2011_14_57.pdf
Zo wordt het als ik de pagina afdruk zonder verdere bewerking:
http://www.greeve1.nl/Brandweer/VG%20Post%20Frobenstraat%20nieuwe%20presentielijst.pdf
Dit is de bedoeling:
http://www.greeve1.nl/Brandweer/Presentielijst%206-3-2011_14_57.pdf
Zo wordt het als ik de pagina afdruk zonder verdere bewerking:
http://www.greeve1.nl/Brandweer/VG%20Post%20Frobenstraat%20nieuwe%20presentielijst.pdf
Wat wil je precies, want voor jou is het misschien allemaal duidelijk wat je wilt, maar voor ons (lees: mij) is dat allerminst. Als je goed doorhebt wat een array inhoudt en hoe een array opgebouwd is, dan zal je ook wel een begin kunnen maken met het opnieuw indelen van de array waarmee je de data in de goede volgorde zet zodat je deze eenvoudig kan uitlezen.
Je kan ook in je naam van je selectbox meteen een arraynotatie opgeven, zodat de uitkomst automatisch in een array wordt gezet.
Zoals:
Code (php)
Let op: Hierbij moet $row['Pers_ID'] altijd een unieke integer zijn!
$_POST['naamvanselectbox'] zal dan een array bevatten met de verschillende waarden. Dit heeft als voordeel dat het eenvoudiger is om uit te lezen en om bewerkingen uit te voeren.
Uitlezen kan dan met (exclusief de nodige controles!):
Code (php)
Edit: Ik heb je formulier even realtime bekeken en ik raad je aan om mijn laatste advies op te volgen (het gebruik van arrays).
Om dan alles per pres_id te ordenen kan je de $_POST array doorlopen:
Code (php)
Gewijzigd op 12/04/2011 22:21:31 door Arjan -
Ik denk dat ik hier wel mee verder kan.
Echt heel erg bedankt voor de moeite en je tijd!
Ik heb hier veel van geleerd.
@ Karl: Zo kan het ook :-)