拆分大文本块中的文本并插入两个单独的表格

时间:2016-04-27 07:10:27

标签: php mysql

我试图从一个大文本框中读取问题并使用explode来分解问题和答案,然后插入两个表格

数据

  

Q是___ W. |(a)(0)|(b)(0)|(c)(1)|(d)(0)|(e)(0)|(f)(0 )|

     

W是_________ Q和Z. |(a)(0)|(b)(0)|(c)(0)|(d)(1)|(e)(0)|

if(isset($_POST["submit"]))
{
    $Code = mysqli_real_escape_string($conn,$_POST['qrc']);
    $linesOfData = explode('\n',$Code);

    foreach($linesOfData as $lineOfData) {
        $arrayOfValues = explode('|',$lineOfData);
        foreach($arrayOfValues as $value) {

            $q  = !isset($value[0]) ? trim($value[0]) : null; // question
            $a   = !isset($value[1]) ? trim($value[1]) : null; //answer
            $b   = !isset($value[1]) ? trim($value[1]) : null; // right answer

            echo $q;

            //$query = "INSERT INTO question (question) VALUES ('$q')";
            //$mysqli->query($query);

            //$query = "INSERT INTO answer(question_id,answer,is_right_option) values($mysqli->insert_id,'$a',$b')";
            //$mysqli->query($query);
        }
    }
}

在执行查询之前..我试图回显输出但没有显示任何内容。 我究竟做错了什么?如何解决?

表名:问题

╔════╤═════════════════════════════╗
║ id │ question                    ║
╠════╪═════════════════════════════╣
║ 1  │ The Q is ___ W.             ║
╟────┼─────────────────────────────╢
║ 2  │ The W is _________ Q and Z. ║
╚════╧═════════════════════════════╝

表名:答案

╔════╤═════════════╤════════╤═════════════════╗
║ id │ question_id │ answer │ is_right_option ║
╠════╪═════════════╪════════╪═════════════════╣
║ 1  │ 1           │ (a)    │ 0               ║
╟────┼─────────────┼────────┼─────────────────╢
║ 2  │ 1           │ (b)    │ 0               ║
╟────┼─────────────┼────────┼─────────────────╢
║ 3  │ 1           │ (c)    │ 1               ║
╟────┼─────────────┼────────┼─────────────────╢
║ 4  │ 1           │ (d)    │ 0               ║
╚════╧═════════════╧════════╧═════════════════╝

1 个答案:

答案 0 :(得分:0)

你的逻辑错了。

    $q  = !isset($value[0]) ? trim($value[0]) : null; // question

这意味着如果未设置$value[0],则不设置,因此不存在,然后修剪该值。否则,这意味着它已设置,将其设置为null

将其更改为:

  $q  = isset($value[0]) ? trim($value[0]) : null; // question