Geen input maar wel variabelen
Denk dat dit de juiste plek is voor mijn vraag...en wel deze:
Ik heb een aantal pulldown menus.
Iemand kiest in zo'n pulldown menu een aantal, bv. 2.
Dit kan je in meerdere pulldowns doen maar geen enkele pulldown is verplicht om in te vullen.
En als optie A is voorzien van een aantal, maar de overige pulldowns niet, dan wil ik enkel en alleen optie A in een bevestigende email presenteren.
Maar...als voor optie A en bijvoorbeeld ook optie D een aantal is opgegeven wil ik deze natuurlijk beide presenteren.
Nu ziet dat er als volgt uit in de bevestigende email tekst:
optie A aantal 1
-lege regel 1-
-lege regel 2-
optie D aantal 1
[einde]
Met -lege regel- bedoel ik hier ook echt gewoon witte ruimte, nada, niets, maar wel wordt de ruimte ingenomen van een regel.
Hoe zorg ik dat de leeggelaten opties niet verschijnen in dit overzichtje?
Dat dus in dit voorbeeld -lege regel 1- en -lege regel 2- er niet zijn, geen ruimte innemen en dat het er dus als volgt uit ziet in de email:
optie A aantal 1
optie D aantal 1
[einde]
Ik hoop dat ik duidelijk ben. Krijg het maar niet voor elkaar...
Ik heb een aantal pulldown menus.
Iemand kiest in zo'n pulldown menu een aantal, bv. 2.
Dit kan je in meerdere pulldowns doen maar geen enkele pulldown is verplicht om in te vullen.
En als optie A is voorzien van een aantal, maar de overige pulldowns niet, dan wil ik enkel en alleen optie A in een bevestigende email presenteren.
Maar...als voor optie A en bijvoorbeeld ook optie D een aantal is opgegeven wil ik deze natuurlijk beide presenteren.
Nu ziet dat er als volgt uit in de bevestigende email tekst:
optie A aantal 1
-lege regel 1-
-lege regel 2-
optie D aantal 1
[einde]
Met -lege regel- bedoel ik hier ook echt gewoon witte ruimte, nada, niets, maar wel wordt de ruimte ingenomen van een regel.
Hoe zorg ik dat de leeggelaten opties niet verschijnen in dit overzichtje?
Dat dus in dit voorbeeld -lege regel 1- en -lege regel 2- er niet zijn, geen ruimte innemen en dat het er dus als volgt uit ziet in de email:
optie A aantal 1
optie D aantal 1
[einde]
Ik hoop dat ik duidelijk ben. Krijg het maar niet voor elkaar...
Gesponsorde koppelingen:
met str_replace omzetten in lege regel, telen, of nada
Dat heb ik geprobeerd...maar dat lukte niet.
Het zijn namelijk verschillende variabelen...uit verschillende pulldown menus...
Ik heb dus 4 resultaten...en 4 variabelen...hetzij gevuld of niet.
Het zijn namelijk verschillende variabelen...uit verschillende pulldown menus...
Ik heb dus 4 resultaten...en 4 variabelen...hetzij gevuld of niet.
Gewijzigd op 25/12/2010 19:05:23 door Erick Schluter
en je kan toch wel met database doen en dat str_replace
Het wordt niet opgeslagen in een database...Maar dan kan ik het natuurlijk makkelijker 'uitlezen' en aanpassen...dat is de oplossing?
Gewijzigd op 25/12/2010 19:17:00 door Erick Schluter
Code (php)
Gewijzigd op 25/12/2010 19:21:13 door The Force
isset! Ga'k proberen!
indien je met mails werkt kan je gewoon een tekst appenden met $tekst .= $waterbijmoet
vb:
indien je nu $tekst gaat afprinten zal je de 2 regels onder elkaar zien.
Je kijkt dan inderdaad met isSet of er iets is ingevuld maar let op dat je ook goed nakijkt wat er juist is ingegeven uiteraard.
vb:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$tekst = "Dit is mijn starttekst <br />";
$tekst .= "Hier is regel 2 van de tekst";
?>
$tekst = "Dit is mijn starttekst <br />";
$tekst .= "Hier is regel 2 van de tekst";
?>
indien je nu $tekst gaat afprinten zal je de 2 regels onder elkaar zien.
Je kijkt dan inderdaad met isSet of er iets is ingevuld maar let op dat je ook goed nakijkt wat er juist is ingegeven uiteraard.
Gewijzigd op 25/12/2010 20:41:54 door Tikkes C
Nou moe?!
In de emailtekst doet het wat ik wil...maar als ik dezelfde truuk toepas op het HTML gedeelte dat wordt getoond op de website wanneer iemand het formulier heeft verzonden...dan is het weer dezelfde situatie.
Lege regels worden gepresenteerd...of ik nu <br /> of \n gebruik.
?!?
Ik heb nu het volgende:
$tekst = "<p>".$optieA."";
$tekst .= "<br />".$optieB."";
$tekst .= "<br />".$optieC."";
$tekst .= "<br />".$optieD."";
$tekst .= "<br />".$optieE."</p>";
Maar als alleen optieC is aangegeven...zweeft deze als het ware in een witte ruimte van boven en onder 2 regels. Dasniedebedoelingnatuurlijk...
In de emailtekst doet het wat ik wil...maar als ik dezelfde truuk toepas op het HTML gedeelte dat wordt getoond op de website wanneer iemand het formulier heeft verzonden...dan is het weer dezelfde situatie.
Lege regels worden gepresenteerd...of ik nu <br /> of \n gebruik.
?!?
Ik heb nu het volgende:
$tekst = "<p>".$optieA."";
$tekst .= "<br />".$optieB."";
$tekst .= "<br />".$optieC."";
$tekst .= "<br />".$optieD."";
$tekst .= "<br />".$optieE."</p>";
Maar als alleen optieC is aangegeven...zweeft deze als het ware in een witte ruimte van boven en onder 2 regels. Dasniedebedoelingnatuurlijk...
Gewijzigd op 25/12/2010 21:37:15 door Erick Schluter
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$tekst = '<p>';
if (!empty($optieA)) $tekst .= $optieA.'<br />';
if (!empty($optieB)) $tekst .= $optieB.'<br />';
if (!empty($optieC)) $tekst .= $optieC.'<br />';
if (!empty($optieD)) $tekst .= $optieD.'<br />';
if (!empty($optieE)) $tekst .= $optieE;
$tekst .= '</p>';
if (!empty($optieA)) $tekst .= $optieA.'<br />';
if (!empty($optieB)) $tekst .= $optieB.'<br />';
if (!empty($optieC)) $tekst .= $optieC.'<br />';
if (!empty($optieD)) $tekst .= $optieD.'<br />';
if (!empty($optieE)) $tekst .= $optieE;
$tekst .= '</p>';
Bovenstaande code is een mogelijkheid maar zeker niet de allermooiste. Het liefste wil je de opties in een array hebben staan en daar bewerkingen oplos laten, bijvoorbeeld via de functie explode. Maar ik ken de rest van de code niet dus daar zul je zelf even naar moeten kijken.
Gewijzigd op 25/12/2010 22:32:40 door Ozzie PHP
Hey Ozzie,
Jouw oplossing maakt mijn verhaal helemaal af!
Thanks guys, wat moet ik toch zonder jullie...
Jouw oplossing maakt mijn verhaal helemaal af!
Thanks guys, wat moet ik toch zonder jullie...
Graag gedaan Erick.
Let op dat het gebruik van empty() hier niet echt handig is. De functie empty() zal namelijk ook 'true' terug geven als de waarde '0' of null is...
Gebruik om te controleren of strings leeg zijn liever:
Of:
Gebruik om te controleren of strings leeg zijn liever:
Of:
Blanche - op 27/12/2010 10:34:30:
Correct, maar het gaat om het kiezen van een aantal in een pull down menu en je kunt natuurlijk niet een aantal van 0 kiezen :) Dus empty werkt hier wel.Let op dat het gebruik van empty() hier niet echt handig is. De functie empty() zal namelijk ook 'true' terug geven als de waarde '0' of null is...
Erick Schluter op 25/12/2010 18:37:40:
Iemand kiest in zo'n pulldown menu een aantal, bv. 2.[einde]
Gewijzigd op 27/12/2010 10:45:55 door Ozzie PHP
Het is inderdaad een situatie die niet snel voorkomt, maar het is een leuke bug om op te sporen als je er toch tegenaan loopt. Je zoekt je rot :-)
hehe... ja, das waar :)



