需要帮助在查询

时间:2017-09-28 16:02:53

标签: php mysql

我有两个表在查询中链接在一起。分配表包含分配给电话的模板。 templateinfo表包含所有模板设置,templateinfo中有一个模板名称。我有一个脚本,从内部联接创建一个文件。如果我手动输入脚本运行的特定模板的名称,则会创建正确数量的文件。我的问题是我需要在赋值表中查询模板的不同名称,并在内部联接中使用它来创建文件。可能需要应用任意数量的模板名称。以下是我现在所拥有的,模板名称为“星期三”,它将创建已分配星期三模板的手机所需的所有文件。

   <?php
require('/var/www/html/cqadmin/utils/connect.php');


// Check connection
if (!$link) {
    die("Connection failed: " . mysqli_connect_error());
}

// attempt insert query execution
$sql = "INSERT INTO assignments 
                (extension, secret, macaddress, template) 
        VALUES  (?,?,?,?)";

$result = $link->prepare($sql);

foreach ($_POST['extension'] as $idx => $extension) {
    $result->bind_param('ssss',
                        $extension,
                        $_POST['secret'][$idx],
                        $_POST['phone'][$idx],
                        $_POST['template'][$idx]
                        );

    if( $result->execute() ) {
        echo "Records $idx added successfully.";
    } else{
        echo "ERROR: Could not execute $sql. " . $result->error;
        exit;
    }
}

$sql2 = "select template from assignments";
$result2 = $link->query(sql2);
$sql = "SELECT * FROM templateinfo INNER JOIN assignments ON template = templatename where assignments.template= Wednesday";
$result = $link->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) 
{

脚本的其余部分使用fwrite创建文件。

感谢您寻找

1 个答案:

答案 0 :(得分:0)

我认为,它会对你有用

$sql = "SELECT t1.id, t2.* FROM  assignments t1 INNER JOIN templateinfo t2 ON t1.id = t2.templateId";
$result = $link->query($sql); 
if ($result->num_rows > 0) {
 // output data of each row 
  while($row = $result->fetch_assoc()) {
   }
}

或者您的SQL可能因列而异

  $sql = "SELECT t1.*, t2.* FROM  assignments t1 INNER JOIN templateinfo t2 ON t1.template = t2.templateName";

我希望你的foreignKey列是templateId