Reputation: 35
I have this drop down (10 selects) which upon selecting, will email this based on the select.
And here is my full script:
<?
/*//Disable error reporting
error_reporting(0);
*/
//Report runtime errors
//error_reporting(E_ERROR | E_WARNING | E_PARSE);
//Report all errors
//error_reporting(E_ALL);
//end of error reporting
// Start the session
session_start();
?>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('select').on('change', function(e){
var selected_value = $(this).val();
var option_data = $(this).children('option[value="'+selected_value+'"]');
// get data values
var visanumber = option_data.data('visanumber');
var idnumber = option_data.data('idnumber');
var statusapp = option_data.data('statusapp');
var subdate = option_data.data('subdate');
// the photo
var accntVisaPhotoPath = option_data.data('accntvisaphotopath');
$(this).closest('td').siblings().find('img.accntVisaPhotoPath').attr('src', accntVisaPhotoPath);
var passportPath = option_data.data('passportpath');
$(this).closest('td').siblings().find('img.passportPath').attr('src', passportPath);
// set the values
$(this).closest('td').siblings().find('span.visanumber').text(visanumber);
$(this).closest('td').siblings().find('span.idnumber').text(idnumber);
$(this).closest('td').siblings().find('span.statusapp').text(statusapp);
$(this).closest('td').siblings().find('span.subdate').text(subdate);
});
});
</script>
</head>
<body>
<?
$con=mysqli_connect("localhost","xxx","xxx","xxx");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL:" . mysqli_connect_error();
}
$result = mysqli_query($con, "SELECT * FROM CV ORDER BY idvisa");
?>
<div align="center">
<form name="listUsers" method="POST" action="contractEmail.php" enctype="multipart/form-data" accept-charset="UTF-8">
<table border="1px" width="700">
<tr>
<td align="center" colspan="7"><b>Email:</b><input name="email" type="text" id="email"></td>
</tr>
<tr>
<th> <div align="center"> Applicant Name </div></th>
<th> <div align="center">Visa Number</div></th>
<th> <div align="center">ID Number </div></th>
<th> <div align="center">Employment Status</div></th>
<th> <div align="center"> Visa </div></th>
<th> <div align="center"> Passport </div></th>
<th> <div align="center"><font color="red">Date</div></th>
</tr>
<tr>
<td>
<select name="users[]">
<? echo "<option value=\"\">Select Person:</option>";?><br>
<? while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}
//First var
?>
</select>
<?//Additional var
$remittance =$row["remittance"];
$idvisa =$row["idvisa"];
$empname =$row["empname"];
$emailTrans =$row["emailTrans"];
$contractStat =$row["contractStat"];
$dateFiled =$row["dateFiled"];
$visanumber =$row["visanumber"];
$idnumber =$row["idnumber"];
$referredBy =$row["referredBy"];
$statusapp =$row["statusapp"];
$appname =$row["appname"];
$visa_path =$row["visa_path"];
$ticket_path =$row["ticket_path"];
$phoNamePath =$row["phoNamePath"];
$position =$row["position"];
$emailApp =$row["emailApp"];
$lName =$row["lName"];
$fName =$row["fName"];
$mName =$row["mName"];
$pAdd =$row["pAdd"];
$perAdd =$row["perAdd"];
$age =$row["age"];
$bDate =$row["bDate"];
$pBirth =$row["pBirth"];
$sex =$row["sex"];
$languageSpoken =$row["languageSpoken"];
$height =$row["height"];
$weight =$row["weight"];
$bCivilStatus =$row["bCivilStatus"];
$bReligion =$row["bReligion"];
$spouse =$row["spouse"];
$emergency =$row["emergency"];
$telemerCP =$row["telemerCP"];
$hs =$row["hs"];
$hsComplete =$row["hsComplete"];
$hsGrad =$row["hsGrad"];
$hsDegree =$row["hsDegree"];
$coll =$row["coll"];
$collComplete =$row["collComplete"];
$collGrad =$row["collGrad"];
$collDegree =$row["collDegree"];
$voc =$row["voc"];
$vocComplete =$row["vocComplete"];
$vocGrad =$row["vocGrad"];
$vocDegree =$row["vocDegree"];
$hc =$row["hc"];
$hcComplete =$row["hcComplete"];
$hcGrad =$row["hcGrad"];
$hcDegree =$row["hcDegree"];
$local1_post =$row["local1_post"];
$local1_fr =$row["local1_fr"];
$local1_to =$row["local1_to"];
$local1_name =$row["local1_name"];
$local1_add =$row["local1_add"];
$local2_post =$row["local2_post"];
$local2_fr =$row["local2_fr"];
$local2_to =$row["local2_to"];
$local2_name =$row["local2_name"];
$local2_add =$row["local2_add"];
$local3_post =$row["local3_post"];
$local3_fr =$row["local3_fr"];
$local3_to =$row["local3_to"];
$local3_name =$row["local3_name"];
$local3_add =$row["local3_add"];
$local4_post =$row["local4_post"];
$local4_fr =$row["local4_fr"];
$local4_to =$row["local4_to"];
$local4_name =$row["local4_name"];
$local4_add =$row["local4_add"];
$local5_post =$row["local5_post"];
$local5_fr =$row["local5_fr"];
$local5_to =$row["local5_to"];
$local5_name =$row["local5_name"];
$local5_add =$row["local5_add"];
?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>
<td align="center"><span class="statusapp"></span></td>
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span>
</tr>
<tr>
<td>
<select name="users[]">
<?
mysqli_data_seek( $result, 0 );
echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']." </option>";
}
?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>
<td align="center"><span class="statusapp"></span></td>
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span>
</tr>
<tr>
<td>
<select name="users[]">
<?
mysqli_data_seek( $result, 0 );
echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}
?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>
<td align="center"><span class="statusapp"></span></td>
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span>
</tr>
<tr>
<td>
<select name="users[]">
<?
mysqli_data_seek( $result, 0 );
echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}
?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>
<td align="center"><span class="statusapp"></span></td>
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span>
</tr>
And so on up to 10 single select dropdown.
</table><br>
<input type="button" name="cancelvalue" value="CANCEL" onClick="self.close()">
<input name="reset" type="reset" value="Clear" height="14">
<input name="submit" type="submit" value="Send" height="14">
<br><br>
</form>
And here is my ACTUAL script http://www.mntr.workforceint.com/contract.php
My intent is to send an email, after selecting the id's.
The phpmail is of course ready, the only thing that is bugling me is how to to extract/fetch those results, if they have selected 2 single boxes or more.
and the script:
<?php
/*//Disable error reporting
error_reporting(0);
*/
//Report runtime errors
//error_reporting(E_ERROR | E_WARNING | E_PARSE);
//Report all errors
error_reporting(E_ALL);
//end of error reporting
if(isset($_POST['submit']) && $_POST['submit'] == 'Submit') {
$size= sizeof($_POST['users']);
$i = 0;
// $message = null;
for($i=0; $i<$size; $i++){
$userId = $_REQUEST['users'][$i];
$visaNumber = $_REQUEST['visanumber'][$i];
$idNumber = $_REQUEST['idnumber'][$i];
$statusApp = $_REQUEST['statusapp'][$i];
$accntVisaPhotoPath = $_REQUEST['accntVisaPhotoPath'][$i];
$passportPath = $_REQUEST['passportPath'][$i];
$subdate = $_REQUEST['subdate'][$i];
$message .= mailContent($userId);
}
$to = $_POST['email'];
$subject = 'This is a test';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
function mailContent($userId) {
$stmt = "SELECT * FROM CV WHERE userid = '$userId'";
$query = mysqli_query($con,$stmt);
while($res = mysql_fetch_query($query)){
$visanumber = $res['visanumber'];
$statusapp = $res['statusapp'];
// OTHER LOGICS GO HERE
}
}
echo "<center>You have sent CV(s) </b><br/><br/><br/><br/>YOU MAY NOW CLOSE THIS WINDOW</center>";
?>
I have checked it but I received nothing.
Upvotes: 0
Views: 108
Reputation: 2449
Below is the HTML code:
<?php
/*//Disable error reporting
error_reporting(0);
*/
//Report runtime errors
//error_reporting(E_ERROR | E_WARNING | E_PARSE);
//Report all errors
//error_reporting(E_ALL);
//end of error reporting
// Start the session
session_start();
if(isset($_POST['add']) && $_POST['add'] == 'Add'){
echo '<pre>'; print_r($_POST); die;
}
?>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('select').on('change', function(e){
var selected_value = $(this).val();
var option_data = $(this).children('option[value="'+selected_value+'"]');
// get data values
var visanumber = option_data.data('visanumber');
var idnumber = option_data.data('idnumber');
var statusapp = option_data.data('statusapp');
var subdate = option_data.data('subdate');
// the photo
var accntVisaPhotoPath = option_data.data('accntvisaphotopath');
$(this).closest('td').siblings().find('img.accntVisaPhotoPath').attr('src', accntVisaPhotoPath);
var passportPath = option_data.data('passportpath');
$(this).closest('td').siblings().find('img.passportPath').attr('src', passportPath);
// set the values
$(this).closest('td').siblings().find('span.visanumber').text(visanumber);
$(this).closest('td').siblings().find('span.idnumber').text(idnumber);
$(this).closest('td').siblings().find('span.statusapp').text(statusapp);
$(this).closest('td').siblings().find('span.subdate').text(subdate);
});
});
</script>
</head>
<body>
<?php
$con=mysqli_connect("localhost","root","","test");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL:" . mysqli_connect_error();
}
$result = mysqli_query($con, "SELECT * FROM CV ORDER BY idvisa");
?>
<div align="center">
<form name="listUsers" method="POST" action="contractEmail.php" enctype="multipart/form-data" accept-charset="UTF-8">
<table border="1px" width="700">
<tr>
<td align="center" colspan="7"><b>Email:</b>
<input name="email" type="text" id="email"></td>
</tr>
<tr>
<th> <div align="center"> Applicant Name </div></th>
<th> <div align="center">Visa Number</div></th>
<th> <div align="center">ID Number </div></th>
<th> <div align="center">Employment Status</div></th>
<th> <div align="center"> Visa </div></th>
<th> <div align="center"> Passport </div></th>
<th> <div align="center"><font color="red">Date</div></th>
</tr>
<tr>
<td><select name="users[]">
<?php echo "<option value=\"\">Select Person:</option>";?><br>
<?php while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}
//First var
?>
</select>
<?php
//Additional var
$remittance =$row["remittance"];
$idvisa =$row["idvisa"];
$empname =$row["empname"];
$emailTrans =$row["emailTrans"];
$contractStat =$row["contractStat"];
$dateFiled =$row["dateFiled"];
$visanumber =$row["visanumber"];
$idnumber =$row["idnumber"];
$referredBy =$row["referredBy"];
$statusapp =$row["statusapp"];
$appname =$row["appname"];
$visa_path =$row["visa_path"];
$ticket_path =$row["ticket_path"];
$phoNamePath =$row["phoNamePath"];
$position =$row["position"];
$emailApp =$row["emailApp"];
$lName =$row["lName"];
$fName =$row["fName"];
$mName =$row["mName"];
$pAdd =$row["pAdd"];
$perAdd =$row["perAdd"];
$age =$row["age"];
$bDate =$row["bDate"];
$pBirth =$row["pBirth"];
$sex =$row["sex"];
$languageSpoken =$row["languageSpoken"];
$height =$row["height"];
$weight =$row["weight"];
$bCivilStatus =$row["bCivilStatus"];
$bReligion =$row["bReligion"];
$spouse =$row["spouse"];
$emergency =$row["emergency"];
$telemerCP =$row["telemerCP"];
$hs =$row["hs"];
$hsComplete =$row["hsComplete"];
$hsGrad =$row["hsGrad"];
$hsDegree =$row["hsDegree"];
$coll =$row["coll"];
$collComplete =$row["collComplete"];
$collGrad =$row["collGrad"];
$collDegree =$row["collDegree"];
$voc =$row["voc"];
$vocComplete =$row["vocComplete"];
$vocGrad =$row["vocGrad"];
$vocDegree =$row["vocDegree"];
$hc =$row["hc"];
$hcComplete =$row["hcComplete"];
$hcGrad =$row["hcGrad"];
$hcDegree =$row["hcDegree"];
$local1_post =$row["local1_post"];
$local1_fr =$row["local1_fr"];
$local1_to =$row["local1_to"];
$local1_name =$row["local1_name"];
$local1_add =$row["local1_add"];
$local2_post =$row["local2_post"];
$local2_fr =$row["local2_fr"];
$local2_to =$row["local2_to"];
$local2_name =$row["local2_name"];
$local2_add =$row["local2_add"];
$local3_post =$row["local3_post"];
$local3_fr =$row["local3_fr"];
$local3_to =$row["local3_to"];
$local3_name =$row["local3_name"];
$local3_add =$row["local3_add"];
$local4_post =$row["local4_post"];
$local4_fr =$row["local4_fr"];
$local4_to =$row["local4_to"];
$local4_name =$row["local4_name"];
$local4_add =$row["local4_add"];
$local5_post =$row["local5_post"];
$local5_fr =$row["local5_fr"];
$local5_to =$row["local5_to"];
$local5_name =$row["local5_name"];
$local5_add =$row["local5_add"];
?>
</td>
<td align="center"><span class="visanumber"></span></td>
<td align="center"><span class="idnumber"></span></td>
<td align="center"><span class="statusapp"></span></td>
<td align="center"><img class="accntVisaPhotoPath" height="50" width="50"></img></td>
<td align="center"><img class="passportPath" height="50" width="50"></img></td>
<td align="center"><span class="subdate"></span></td>
</span></tr>
<tr>
<td>
<select name="users[]">
<?php
mysqli_data_seek( $result, 0 );
echo "<option value=''>Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']." </option>";
}
?>
</td>
<td align="center">
<span class="visanumber">
</span>
</td>
<td align="center">
<span class="idnumber">
</span>
</td>
<td align="center">
<span class="statusapp">
</span>
</td>
<td align="center">
<img class="accntVisaPhotoPath" height="50" width="50">
</img>
</td>
<td align="center">
<img class="passportPath" height="50" width="50">
</img>
</td>
<td align="center">
<span class="subdate">
</span>
</td>
</span>
</tr>
<tr>
<td>
<select name="users[]">
<?php
mysqli_data_seek( $result, 0 );
echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}
?>
</td>
<td align="center">
<span class="visanumber">
</span>
</td>
<td align="center">
<span class="idnumber">
</span>
</td>
<td align="center">
<span class="statusapp">
</span>
</td>
<td align="center">
<img class="accntVisaPhotoPath" height="50" width="50">
</img>
</td>
<td align="center">
<img class="passportPath" height="50" width="50">
</img>
</td>
<td align="center">
<span class="subdate">
</span>
</td>
</span>
</tr>
<tr>
<td>
<select name="users[]">
<?php
mysqli_data_seek( $result, 0 );
echo "<option value=\"\">Select Person:</option>";
while ($row=mysqli_fetch_array($result)) {
echo "<option value='".$row['idvisa']."' data-visanumber='".$row['visanumber']."' data-idnumber='".$row['idnumber']."' data-statusapp='".$row['statusapp']."' data-accntVisaPhotoPath='".$row['accntVisaPhotoPath']."' data-passportPath='".$row['passportPath']."' data-subdate='".$row['subdate']."'>".$row['fName']." ".$row['lName']."</option>";
}
?>
</td>
<td align="center">
<span class="visanumber">
</span>
</td>
<td align="center">
<span class="idnumber">
</span>
</td>
<td align="center">
<span class="statusapp">
</span>
</td>
<td align="center">
<img class="accntVisaPhotoPath" height="50" width="50">
</img>
</td>
<td align="center">
<img class="passportPath" height="50" width="50">
</img>
</td>
<td align="center">
<span class="subdate">
</span>
</td>
</span>
</tr>
</table>
<br>
<input type="button" name="cancelvalue" value="CANCEL" onClick="self.close()">
<input name="reset" type="reset" value="Clear" height="14">
<input name="submit" type="submit" value="Send" height="14">
<br>
<br>
</form>
Below is the contractEmail.php
<?php
/*//Disable error reporting
error_reporting(0);
*/
//Report runtime errors
//error_reporting(E_ERROR | E_WARNING | E_PARSE);
//Report all errors
error_reporting(E_ALL);
//end of error reporting
if(isset($_POST['submit']) && $_POST['submit'] == 'Send') {
$size= sizeof($_POST['users']);
$i = 0;
$message = NULL;
// $message = null;
for($i=0; $i<$size; $i++){
$userId = $_REQUEST['users'][$i];
$message .= mailContent($userId);
}
$to = $_POST['email'];
$subject = 'This is a test';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
function mailContent($userId) {
$con=mysqli_connect("localhost","root","","test");
$stmt = "SELECT * from CV where idvisa = '$userId'";
$result = mysqli_query($con, $stmt);
$row=mysqli_fetch_array($result);
$visaNumber = $row['visanumber'];
$idNumber = $row['idnumber'];
$statusApp = $row['statusapp'];
$accntVisaPhotoPath = $row['accntVisaPhotoPath'];
$passportPath = $row['passportPath'];
$subdate = $row['subdate'];
$message = "Hi <br /> Here is the details <br />visaNumber : '$visaNumber' <br />idNumber : '$idNumber' <br />statusApp : '$statusApp' <br />accntVisaPhotoPath : '$accntVisaPhotoPath' <br />passportPath : '$passportPath' <br />subdate : '$subdate' <br />";
// OTHER LOGICS GO HERE
return $message;
}
echo "<center>You have sent CV(s) </b><br/><br/><br/><br/>YOU MAY NOW CLOSE THIS WINDOW</center>";
?>
This works.But lot of Optimization required.
Upvotes: 0
Reputation: 1458
Use php mailer. you will never any problem facing.
https://github.com/PHPMailer/PHPMailer
Upvotes: 0
Reputation: 18807
the only thing that is bugling me is how to to extract/fetch those results, if they have selected 5 items or more
You wont be able to select multiple options unless your specify the multiple
attribute on your select
tag.
You also have to declare an array name attribute like <select multiple name="myoptions[]" size="10">
You then will be able to know the selected options using the array $myoptions[]
in PHP.
Upvotes: 1