首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将每个循环的值传递给mysql子句

将每个循环的值传递给mysql子句
EN

Stack Overflow用户
提问于 2016-09-17 09:01:22
回答 1查看 267关注 0票数 1

我正在创建一个搜索表单,在那里我应该能够选择不同用户的名字,使用一个检查列表,然后获得他们的信息。

基本上,我从整理和张贴这个用户的名字开始,使用

代码语言:javascript
复制
 <?php do { ?>
      <label style="color:#000; " for="input Address"> <?php echo $row_marketer['Username']; ?> <input type="checkbox" name="multiagent[]" value="<?php echo $row_marketer['Username']; ?>" /></label>
      <?php } while ($row_marketer = mysql_fetch_assoc($marketer)); ?>

这是用我可以从中选择的名称填充我的核对表。

然后,我尝试使用for each循环将名称传递给sql语句中的where子句。

代码语言:javascript
复制
foreach($_POST['multiagent'] as $idx => $studentname) {

$query_certs = sprintf("SELECT * FROM transactions WHERE Username IN ('". $studentname ."')", GetSQLValueString($colname3_certs, "text"),GetSQLValueString($colname_certs, "text"),GetSQLValueString($colname2_certs, "text"));

 }
$query_limit_certs = sprintf("%s LIMIT %d, %d", $query_certs, $startRow_certs, $maxRows_certs);
$certs = mysql_query($query_limit_certs, $kbl) or die(mysql_error());
$row_certs = mysql_fetch_assoc($certs);

完成此操作后,我的问题是它只传递每个循环中的姓氏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-17 09:44:15

由于post字段中有一个值数组,所以可以使用内爆函数而不是循环它们。

代码语言:javascript
复制
 if ( isset($_POST['multiagent'] ) && is_array ( $_POST['multiagent']  ) ) {

    //implode user name in string 
    $studentname = implode("','",$_POST['multiagent']);

    //Write query string
    $query_certs = "SELECT * FROM transactions WHERE Username IN ('". $studentname ."')";

    //Add limit in query
    $query_limit_certs = sprintf("%s LIMIT %d, %d", $query_certs, $startRow_certs, $maxRows_certs);

    //Execute query
    $certs = mysql_query($query_limit_certs, $kbl) or die(mysql_error());

    //Get row
    $row_certs = mysql_fetch_assoc($certs);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39544925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档