Ik heb een functie die een drop down / selectie lijst vult in een formulier.
Nu wil ik graag data uit die lijst filteren/verwijderen omdat deze niet meer actief zijn (datum is gepasseerd).
De functie:
<?php
function draw_pull_down_menu($name, $values, $default = '', $parameters = '') {
$field = '<select name="' . $name . '"';

if ($parameters) $field .= ' ' . $parameters;

$field .= '>';

for ($i=0; $i<sizeof($values); $i+=1) {
$field .= '<option value="' . (string)$values[$i]['id'] . '"';
if ($default == $values[$i]['id']) {
$field .= ' SELECTED';
}
$field .= '>' . (string)$values[$i]['text'] . '</option>';
}
$field .= '</select>';

return $field;
}
?>
De code in het formulier voor de selectielijst:
<?php echo draw_pull_down_menu('vertrekdatum', $values1, $_POST['vertrekdatum'], 'id="vertrekdatum" class="select"'); ?>

Hoe kan ik er nu voor zorgen dat datums uit het verleden niet meer getoond worden (ik kan ze niet verwijderen uit de database, omdat ze in een ander overzicht op een andere plek op de website nog wel getoond worden).

Resumerend:
1. de data komt uit een php-bestand met daarin een array, genaamd $prijs
2. de meervoudige array wordt in stukjes geknipt ($values1, 2 etc) zodat elke positie in een aparte array komt (alle begin datums in de ene array en alle vertrekdatum in een andere array)
3. Deze arrays worden getoond in een selectielijst via een functie genaamd draw_pull_down_menu
4. Doel: hoe kan ik een onderscheid maken tussen datum die nog te boeken zijn en datums die al vol of zich in het verleden bevinden? Verwijderen uit de $values array is geen optie, omdat ik met de geselecteerde waarde terug ga naar de $prijs-array om daar de prijs behorende bij de datum op te halen.

Ik hoop dat ik nu duidelijk ben, door deze discussie heb ik al wel geleerd dat het weglaten van datums niet mogelijk is!
Op 1) waarschijnlijk niet, maar ik stel de vraag toch, is het een fixed gegeven dat je een array krijgt, of heb jij controle over de manier waarop die array wordt opgebouwd?

2) Ik vraag me af waarom dat nodig is. Als ik het goed begrijp heb je hier in elk geval wel controle over, dus ik zou het dan gewoon bij elkaar laten.

4) Uiteraard kan dat. Je kan de complete array doorlopen en elk element dat niet aan bepaalde eisen voldoet 'unsetten'. Ja, dat is dus weggooien, maar je opmerking over dat je de data nog ergens anders nodig hebt doet daarbij helemaal niet terzake. Je kan natuurlijk gewoon een array copieren van de oorspronkelijke variabele naar een andere en in die andere de boel door elkaar gooien. De oorspronkelijke blijft gewoon in tact, dus dat is geen enkel probleem.

Ruud Schaft op 06/02/2013 16:51:05

Ik hoop dat ik nu duidelijk ben, door deze discussie heb ik al wel geleerd dat het weglaten van datums niet mogelijk is!

En nog een conclusie die ik totaal niet kan plaatsen. Hoezo je kan een datum niet weglaten?
Sorry Erwin,

Maar zo schieten we niets op, bedankt voor je input.
Graag of heel niet....

Reageren