MSSQL 和 Post 变量
MSSQL and Post Variables
我可能已经有一段时间没用这个了,我想我已经关注这个很久了。只是看不到我明显缺少的东西。
我正在尝试查询分配给已终止团队成员的记录,并在该查询中执行第二个查询,并在 select 菜单中显示已雇用的团队成员。允许将已终止团队成员的记录分配给已雇用的团队成员。
我正在使用将以下值传递给 POST 的表单:
<?php
//Loop Through all records in Select Query
foreach ($TMReservesResult as $Record=>$Value){
?>
<?php //var_dump($Value); ?>
<td><?php echo $Value['Company Name']; ?></td>
<td><?php echo $Value['PhoneNumber']; ?></td>
<td><?php echo $Value['State']; ?></td>
<?php
//STRIP TIME FROM DATE STRING
$str = $Value['CallDate'];
$res = $Value['Call Back Date'];
?>
<td><?php echo substr($str, 0, 11); ?></td>
<td><?php echo substr($res, 0, 11); ?></td>
<td>
<center>
<div class="form-group">
<div class="col-lg-12 col-md-12 col-sm-12">
<select class="form-control" name="UserName">
<?php foreach($FindActiveTMNamesResults AS $TMNames=>$TMs) { ?>
<option value="<?php echo $TMs['UserName']; ?>"><?php echo $TMs['UserName']; ?></option>
<?php } ?>
</select>
</div>
</div>
</center>
</td>
</tr>
<input type="hidden" name="ContactID[]" value="<?php echo $Value["ContactID"]; ?>" />
<?php } ?>
正在处理 POST 个值:
<?php
if (isset($_POST["submit"])){
//update Employee Info
$ContactID = Escape_Function($_POST["ContactID"]);
$UserName = Escape_Function(($_POST["UserName"]));
foreach($ContactID as $id){
//Update Query
$UpdateEmployeeQuery = 'UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = \'' . $UserName . '\' WHERE [ContactID] = \'' . $id . '\'';
$UpdateEmployeeResult = $DB->query($UpdateEmployeeQuery);
}
}
?>
以及
的结果
<?php
var_dump($UpdateEmployeeQuery);
?>
string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET
[LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1362718628'"
string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET
[LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1362703257'"
string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET
[LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1364930874'"
string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET
[LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1364930900'"
string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET
[LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1364930976'"
看来我的 ID 循环工作正常,但是,循环(或缺少循环)仅抓取最后一条记录终止团队成员姓名。
我错过了什么?先谢谢你了。
改变
<select class="form-control" name="UserName">
到
<select class="form-control" name="UserName[]">
页面(您正在处理 POST 值的位置)
<?php
if (isset($_POST["submit"])) {
for($i = 0; $i < sizeof($_POST["ContactID"]);$i++){
$id = Escape_Function($_POST["ContactID"][$i]);
$UserName = Escape_Function($_POST["UserName"][$i]);
$UpdateEmployeeQuery = 'UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = \'' . $UserName . '\' WHERE [ContactID] = \'' . $id . '\'';
$UpdateEmployeeResult = $DB->query($UpdateEmployeeQuery);
}
}?>
您将 ContactId 作为数组传递,但未将用户名作为数组类型传递。因此,它采用了最后一个下拉菜单中选择的选项。将其更改为数组类型并循环迭代每条记录。
我可能已经有一段时间没用这个了,我想我已经关注这个很久了。只是看不到我明显缺少的东西。
我正在尝试查询分配给已终止团队成员的记录,并在该查询中执行第二个查询,并在 select 菜单中显示已雇用的团队成员。允许将已终止团队成员的记录分配给已雇用的团队成员。
我正在使用将以下值传递给 POST 的表单:
<?php
//Loop Through all records in Select Query
foreach ($TMReservesResult as $Record=>$Value){
?>
<?php //var_dump($Value); ?>
<td><?php echo $Value['Company Name']; ?></td>
<td><?php echo $Value['PhoneNumber']; ?></td>
<td><?php echo $Value['State']; ?></td>
<?php
//STRIP TIME FROM DATE STRING
$str = $Value['CallDate'];
$res = $Value['Call Back Date'];
?>
<td><?php echo substr($str, 0, 11); ?></td>
<td><?php echo substr($res, 0, 11); ?></td>
<td>
<center>
<div class="form-group">
<div class="col-lg-12 col-md-12 col-sm-12">
<select class="form-control" name="UserName">
<?php foreach($FindActiveTMNamesResults AS $TMNames=>$TMs) { ?>
<option value="<?php echo $TMs['UserName']; ?>"><?php echo $TMs['UserName']; ?></option>
<?php } ?>
</select>
</div>
</div>
</center>
</td>
</tr>
<input type="hidden" name="ContactID[]" value="<?php echo $Value["ContactID"]; ?>" />
<?php } ?>
正在处理 POST 个值:
<?php
if (isset($_POST["submit"])){
//update Employee Info
$ContactID = Escape_Function($_POST["ContactID"]);
$UserName = Escape_Function(($_POST["UserName"]));
foreach($ContactID as $id){
//Update Query
$UpdateEmployeeQuery = 'UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = \'' . $UserName . '\' WHERE [ContactID] = \'' . $id . '\'';
$UpdateEmployeeResult = $DB->query($UpdateEmployeeQuery);
}
}
?>
以及
的结果<?php
var_dump($UpdateEmployeeQuery);
?>
string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1362718628'" string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1362703257'" string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1364930874'" string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1364930900'" string(113) "UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = 'sbarnes' WHERE [ContactID] = '1364930976'"
看来我的 ID 循环工作正常,但是,循环(或缺少循环)仅抓取最后一条记录终止团队成员姓名。
我错过了什么?先谢谢你了。
改变
<select class="form-control" name="UserName">
到
<select class="form-control" name="UserName[]">
页面(您正在处理 POST 值的位置)
<?php
if (isset($_POST["submit"])) {
for($i = 0; $i < sizeof($_POST["ContactID"]);$i++){
$id = Escape_Function($_POST["ContactID"][$i]);
$UserName = Escape_Function($_POST["UserName"][$i]);
$UpdateEmployeeQuery = 'UPDATE [ACR Contact Management].[dbo].[Contacts] SET [LeadGenerator] = \'' . $UserName . '\' WHERE [ContactID] = \'' . $id . '\'';
$UpdateEmployeeResult = $DB->query($UpdateEmployeeQuery);
}
}?>
您将 ContactId 作为数组传递,但未将用户名作为数组类型传递。因此,它采用了最后一个下拉菜单中选择的选项。将其更改为数组类型并循环迭代每条记录。