Darkmatter5 Posted April 25, 2008 Share Posted April 25, 2008 I have 3 variables: $FirstName=$_POST['FirstName']; $LastName=$_POST['LastName']; $CompanyName=$_POST['CompanyName']; I need some logic to say concatenate FirstName, LastName and CompanyName if all are NOT NULL, if one is NULL don't include the variable in the concatenation. Example: FirstName=John LastName=Doe CompanyName=NULL $fields=$FirstName, $LastName $values=FirstName, LastName I want these variables to be used for inserting data into a table, but only the data that is NOT NULL. Any ideas? Quote Link to comment https://forums.phpfreaks.com/topic/102955-concatenating-3-variables/ Share on other sites More sharing options...
wildteen88 Posted April 25, 2008 Share Posted April 25, 2008 Fairly Simple: $fullString = null; if(isset($_POST['Firstname']) && !empty($_POST['Firstname'])) { $fullString .= $_POST['Firstname'] . ' '; } if(isset($_POST['Lastname']) && !empty($_POST['Lastname'])) { $fullString .= $_POST['Lastname'] . ' '; } if(isset($_POST['CompanyName']) && !empty($_POST['CompanyName'])) { $fullString .= $_POST['CompanyName']; } echo $fullString; Quote Link to comment https://forums.phpfreaks.com/topic/102955-concatenating-3-variables/#findComment-527419 Share on other sites More sharing options...
moselkady Posted April 25, 2008 Share Posted April 25, 2008 You can try something like this: foreach (array('Firstname','LastName','CompanyName') as $field) { if ($_POST[$field]) { $field_name[] = $field; $field_value[] = "'{$_POST[$field]}'"; } } $fields = join(",", $field_name); $values = join(",", $field_value); $sql = "INSERT INTO table_name ($fields) VALUES($values)"; Quote Link to comment https://forums.phpfreaks.com/topic/102955-concatenating-3-variables/#findComment-527433 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.