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 Quote 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/ Quote 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. Quote 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[''] Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.