login  Naam:   Wachtwoord: 
Registreer je!
 Forum

array in functie

Offline SvenP - 31/10/2007 19:37
Avatar van SvenPPHP interesse
  1. function dropdown($name, $item, $value, $class = ""){
  2. $count = count($item);
  3.  
  4. ?>
  5. <select class="<?=$class;?>" name="<?=$name;?>">
  6. <?
  7. for($i = 0; $i <= $count; $i++){
  8. ?>
  9. <option value="<?=$item[$i];?>"><?=$value[$i];?></option>
  10. <?
  11. }
  12. ?>
  13. </select>
  14. ?>
  15. }


Kan dit werken?
$item en $value moetten 2 arrays worden..

ik roep aan doormiddel van
  1. dropdown("test",array("1","2","3"),array("hoi","boe","blaat"));


anyway, op deze manier werkt het niet,
de host waar ik em op heb staan geeft geen php errors weer.
ook al zo raar maja,

Iemand suggesties?

Groetjes
Sven.

6 antwoorden

Gesponsorde links
Offline Koen - 31/10/2007 19:57
Avatar van Koen PHP expert Probeer die html eens gewoon in een echo te zetten?
Offline SvenP - 01/11/2007 07:33
Avatar van SvenP PHP interesse daar schiet ik niks mee op,
Ik denk.. dat #itesm en $value gedevinieerd moeet worden binnen de functie als array.. ofzo
Offline Mad_Mike - 01/11/2007 08:39 (laatste wijziging 01/11/2007 08:48)
Avatar van Mad_Mike PHP beginner om wel error meldingen te krijgen zou je error_reporting(E_ALL); helemaal bovenaan je pagina moeten zetten 

Ik ga nu even naar je code kijken...

edit:
Ik heb zelf even een iets andere code gemaakt. Nu heb je alle options in 1 array wat als voordeel heeft dat je minder snel een fout maakt met ongelijke aantallen opties en names

  1. <?php
  2. function dropDown($name = "", $options = array(), $class = "")
  3. {
  4. $strOutput = "<select name=\"".$name."\" id=\"".$name."\" class=\"".$class."\">\n";
  5.  
  6. if(count($options) == 0)
  7. {
  8. $strOutput .= "<option>Geen options!</option>\n";
  9. }
  10. else
  11. {
  12. for($i = 0; $i < count($options); $i++)
  13. {
  14. $strOutput .= "<option value=\"".$options[$i][0]."\">".$options[$i][1]."</option>\n";
  15. }
  16. }
  17.  
  18. $strOutput .= "</select>\n";
  19.  
  20. return $strOutput;
  21. }
  22.  
  23. echo dropDown("test", array(array("1", "Optie 1"), array("2", "Optie 2"), array("3", "Optie 3")));
  24. ?>


ps. heb het niet getest 
Offline marten - 01/11/2007 08:51
Avatar van marten Beheerder echo's in functies kan je beter niet gebruiken. Gewoon lekker met return werken. Verder zou ik geen html in je functies doen. Maar dat ben ik.
Offline Mad_Mike - 01/11/2007 08:54 (laatste wijziging 01/11/2007 08:57)
Avatar van Mad_Mike PHP beginner @ Marten
Geheel mee eens (zie mijn code). Deze heb ik overigens net even wel getest en werkt!

wellicht dat het netter is om met array keys te werken als value en de waarde van de key als tekst. zo voorkom je de 2-dimensionale array Maar dat laat ik dan aan de TO over
Offline SvenP - 01/11/2007 14:20
Avatar van SvenP PHP interesse array keys?

In ieder geval hardstikke bedankt voor dit script,
Ik zal zodirect even kijken of het goed werkt 
De bedoeling waar deze functie bij hoort is eigenlijk vermakkelijkeren van html dmv php, alleen deze functie moet nog wa moeilijk aangeroepen worden met array(array1(), array2()) etc..
maja, doet er niet toe op moment.. 

nogmaals bedankt 
hier kom ik weer verder mee 

Groetjes
Sven.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s