RalphLeMouf Posted December 19, 2012 Share Posted December 19, 2012 Hello - I am building an edit your profile module on my site right now. When a user signs into their account for the first time after creating it, it takes them to a edit profile page. When a user is already filled out their additional profile information and goes to edit that page, I want to post their already saved info in the pertinent fields and keep them defaulted if untouched. I understand the php logic needed to complete this task, however I was hoping for recommendations or examples on the cleanest way to do this. I will have all the fields per user stored like so: $user['id'], $user['email'] etc... Here is my birthday drop down from my form helper: function month_dropdown($month="month", $top_months=array()) { $months = array( "choose"=>"Month", "----------", "Jan"=>"Jan", "Feb"=>"Feb", "Mar"=>"Mar", "Apr"=>"Apr", "May"=>"May", "Jun"=>"Jun", "Jul"=>"Jul", "Aug"=>"Aug", "Sep"=>"Sep", "Oct"=>"Oct", "Nov"=>"Nov", "Dec"=>"Dec" ); $html = "<select name='{$months}'>"; if(!empty($top_months)){ foreach($top_months as $value){ if(array_key_exists($value, $months)){ $html .="<option value='{$value}'>{$months[$value]}</option>"; } } $html .="<option>----------</option>"; } foreach($months as $key => $month){ $html .="<option value='{$key}'>{$month}</option>"; } $html .="</select>"; return $html; } function day_dropdown($day="day", $top_days=array()) { $days = array( "choose"=>"Day", "----------", "1"=>"1", "2"=>"2", "3"=>"3", "4"=>"4", "5"=>"5", "6"=>"6", "7"=>"7", "8"=>"8", "9"=>"9", "10"=>"10", "11"=>"11", "12"=>"12", "13"=>"13", "14"=>"14", "15"=>"15", "16"=>"16", "17"=>"17", "18"=>"18", "19"=>"19", "20"=>"20", "21"=>"21", "22"=>"22", "23"=>"23", "24"=>"24", "25"=>"25", "26"=>"26", "27"=>"27", "28"=>"28", "29"=>"29", "30"=>"30", "31"=>"31" ); $html = "<select name='{$days}'>"; if(!empty($top_days)){ foreach($top_days as $value){ if(array_key_exists($value, $days)){ $html .="<option value='{$value}'>{$days[$value]}</option>"; } } $html .="<option>----------</option>"; } foreach($days as $key => $day){ $html .="<option value='{$key}'>{$day}</option>"; } $html .="</select>"; return $html; } function year_dropdown($year="year", $top_years=array()) { $years = array( "choose"=>"Year", "----------", "1997"=>"1997", "1996"=>"1996", "1995"=>"1995", "1994"=>"1994", "1993"=>"1993", "1992"=>"1992", "1991"=>"1991", "1990"=>"1990", "1989"=>"1989", "1988"=>"1988", "1987"=>"1987", "1986"=>"1986", "1985"=>"1985", "1984"=>"1984", "1983"=>"1983", "1982"=>"1982", "1981"=>"1981", "1980"=>"1980", "1979"=>"1979", "1978"=>"1978", "1977"=>"1977", "1976"=>"1976", "1975"=>"1975", "1974"=>"1974", "1973"=>"1973", "1972"=>"1972", "1971"=>"1971", "1970"=>"1970", "1969"=>"1969", "1968"=>"1968", "1967"=>"1967", "1966"=>"1966", "1965"=>"1965", "1964"=>"1964", "1963"=>"1963", "1962"=>"1962", "1961"=>"1961", "1960"=>"1960", "1959"=>"1959", "1959"=>"1959", "1958"=>"1958", "1957"=>"1957", "1956"=>"1956", "1955"=>"1955", "1954"=>"1954", "1953"=>"1953", "1953"=>"1953", "1952"=>"1952", "1951"=>"1951", "1950"=>"1950", "1949"=>"1949", "1948"=>"1948", "1947"=>"1947", "1946"=>"1946", "1945"=>"1945", "1944"=>"1944", "1943"=>"1943", "1942"=>"1942", "1941"=>"1941", "1940"=>"1940", "1939"=>"1939", "1938"=>"1938", "1937"=>"1937", "1936"=>"1936", "1935"=>"1935", "1934"=>"1934", "1933"=>"1933", "1932"=>"1932", "1931"=>"1931", "1930"=>"1930" ); $html = "<select name='{$years}'>"; if(!empty($top_years)){ foreach($top_years as $value){ if(array_key_exists($value, $years)){ $html .="<option value='{$value}'>{$years[$value]}</option>"; } } $html .="<option>----------</option>"; } foreach($years as $key => $year){ $html .="<option value='{$key}'>{$year}</option>"; } $html .="</select>"; return $html; } Here is the portion of it in my model in the update query: 'birthday' => $this->input->post('birthday'), Finally, here it is in my view: echo month_dropdown($month)." ".day_dropdown($day). " ".year_dropdown($year); So now what value to do I put in the view portion and model portion to get them to insert properly? Also the original question - How do I add the php to see if something is there or not, and if not there, how do I get the values of existing data to echo? thanks so much in advance Link to comment https://forums.phpfreaks.com/topic/272201-what-is-the-best-way-to-create-a-dynamic-dropdown/ Share on other sites More sharing options...
NomadicJosh Posted December 20, 2012 Share Posted December 20, 2012 Following this example here will help cut down on your code: http://rijamedia.com/blog/2011/02/dynamic-date-dropdown-select-menu-in-php/ Link to comment https://forums.phpfreaks.com/topic/272201-what-is-the-best-way-to-create-a-dynamic-dropdown/#findComment-1400509 Share on other sites More sharing options...
RalphLeMouf Posted December 20, 2012 Author Share Posted December 20, 2012 that's awesome! thanks. Link to comment https://forums.phpfreaks.com/topic/272201-what-is-the-best-way-to-create-a-dynamic-dropdown/#findComment-1400516 Share on other sites More sharing options...
RalphLeMouf Posted December 20, 2012 Author Share Posted December 20, 2012 How do I make this ( and my other selectable and text values ) dynamic? Meaning how do I echo the users saved info if filled out or the default values ( even if empty ) if nothing? I have all of my users info ready to go via $user[''] Link to comment https://forums.phpfreaks.com/topic/272201-what-is-the-best-way-to-create-a-dynamic-dropdown/#findComment-1400518 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.