然后爆炸然后内爆,然后在表格中显示复选框已选中

时间:2015-12-17 07:37:30

标签: php loops odbc explode implode

我在SQL中有一个列,我使用odbc进行连接,其中包含一个像这样的格式的数据

1 | 2 | 3 | 4 | 5

每个数字都说明每个工人的身份。顺便提一下,这个问题与我之前的问题有关。见下面的链接

Editing an imploded string

因此,如果我选择该列,它将返回类似上面的输出。在编辑中,我需要首先将其爆炸,然后将其作为某种类型的字符串内爆,如此

1,2,3,4,5

现在,问题是我将如何创建一个循环,它将根据字符串内的每个sting(1,2,3,4,5)选择worker的firstname和lastname,然后回显一个表,其中如果他们的ID包含在列表中,将检查相应的复选框。这是我的代码,

$que = "SELECT assignedto FROM PROJECTS where projectname = '$projname'";
$queres = odbc_exec($conn,$que);
$res = odbc_result($queres, 1);
$analysts_arr = explode("| ", $res);

$analysts = implode(",", $analysts_arr);
//die($analysts);
$que2 = "DECLARE @s VARCHAR(MAX)
         DECLARE @d VARCHAR(MAX)

         SET @s='$analysts'

         set @d = 'select id, firstname, lastname from Accounts where id in('+@s+')'
         exec (@d)";
//die($que2);
$query = odbc_exec($conn,$que2);
echo odbc_result_all($query);
$result = odbc_result_all($query);
echo "<table class='table table-striped table-bordered table-hover' id='dataTables-example' style='margin-top:10px;'>
                                <thead>
                                    <tr>
                                        <th>ID</th>
                                        <th>Last Name</th>
                                        <th>First Name</th>
                                    </tr>
                                </thead>;";
foreach($result as $val){
   $user_id = $val['id'];
   $users[$id] = $val;

        echo "<tbody>
            <tr class='odd gradeX'>
                <td><input type='checkbox' value='<?php echo odbc_result($queres, 1); ?>' name='analyst[]'/></td>
                <td></td>
                <td></td>
            </tr>
        </tbody>";
}

我的代码返回错误显示在

下面

警告:odbc_result_all():此结果索引没有可用的元组

警告:odbc_result_all():此结果索引中没有可用的元组 ;

警告:为foreach()提供的参数无效

1 个答案:

答案 0 :(得分:1)

为我的问题找到了解决方法。将其发布给其他人也可以作为他们的指南。

这是我做的解决方法。

$que = "SELECT assignedto FROM PROJECTS where projectname = '$projname'";
$queres = odbc_exec($conn,$que);
$res = odbc_result($queres, 1);
$analysts_arr = explode("| ", $res);
//print_r($analysts_arr);
echo "<table class='table table-striped table-bordered table-hover' id='dataTables-example' style='margin-top:10px;'>
                                <thead>
                                    <tr>
                                        <th>ID</th>
                                        <th>Last Name</th>
                                        <th>First Name</th>
                                    </tr>
                                </thead>";
foreach($analysts_arr as $analysts) {
    //foreach($analysts_arr as $idan){
        $quean = "SELECT lastname,firstname FROM ACCOUNTS where id = '$analysts'";
        $queresan = odbc_exec($conn,$quean);
        $resas = odbc_result($queresan, 1);
        $resasf = odbc_result($queresan, 2);
        echo "<tbody>
            <tr class='odd gradeX'>
                <td>";
                echo $analysts;
                echo "</td>
                <td>";
                echo $resas;
                echo "</td>
                <td>";
                echo $resasf;
                echo "</td>
            </tr>
        </tbody>";
    //}

}