在PHP中获取2个表无法正常工作

时间:2017-03-18 18:28:48

标签: php mysql mysqli fetch

我必须获取外键的所有值。它是这样的: 我有两张桌子:主题和职业 - > “主题”包括(id,careers_id(是表格职业的“id”列的外键)职业名称,描述,小时)“职业”包括(id,name,description)

首先,我要展示一个包含这个的表格: Final_table 但是,在那张桌子里,我自己写了主题(微积分,物理学,生物学),这是错误的。我应该从两个表(主题和职业)中获取该信息。而且我还需要添加新主题 - 我的意思是当我点击“添加新主题”时它会转到另一个页面,并且从“主题”选项中必须有一个滑块/选择,其中包含表格中的所有职业。 所以: 1)我需要从外键中获取信息 2)当我想添加新主题时,我需要选择职业

这是我的代码(这个创建一个表,但它不是从表Careers中获取信息):

    

</head>
<body>
<a href="estudiante.php">ADD NEW SUBJECT</a><br /><br />
    <h2 align="center">TABLE:SUBJECTS</h2>
        <table align="center" border="1" cellspacing="0" cellpadding="0" width="700">
            <thead>
                <th>id</th>
                <th>Career</th>
                <th>Name</th>
                <th>Description</th>
                <th>Hours</th>
                <th>Action</th>

            </thead>

            <?php
            $sql=mysql_query("SELECT * FROM subjects");
            $i=1;
                while($row=mysql_fetch_array($sql)){
                    echo "<tr>
                            <td>".$i."</td>
                            <td>".$row['careers_id']."</td>
                            <td>".$row['name']."</td>
                            <td>".$row['description']."</td>
                            <td>".$row['hours']."</td>
                            <td align='center'>
                                <a href='editar.php?editar=1&iden=".$row['id']."'>UPDATE</a> |
                                <a href='borrar.php?borrar=1&iden=".$row['id']."'>DELETE</a>
                            </td>
                    </tr>";
                    $i++;

                }
            ?>

        </table>    

</body>

此代码是添加一个新主题:

<?php include('connect.php'); 
$error="";

if(isset($_POST['btnsave']))
{
    $carreras_id=$_POST['txtcarreras_id'];
    $nombre=$_POST['txtnombre'];
    $descripcion=$_POST['txtdescripcion'];
    $carga_horaria=$_POST['txtcarga_horaria'];


    if($_POST['txtid']=="0")
    {

        $a_sql=mysql_query("INSERT INTO subjects VALUES('','$carreras_id','$nombre','$descripcion','$carga_horaria')");
        if($a_sql)
        {

            header("location:index.php");

        }


    }else{

        echo "Actualizar";
    }

}

&GT;

        <h2 align="center">ADD NEW SUBJECT</h2>
        <form method="Post">
            <table align="center">
                <tr>    
                    <td>Career:</td>
                    <td><input type='text' name='txtcarreras_id'/><input type="hidden" name="txtid" value="0" /></td>

                </tr>
                <tr>    
                    <td>Name:</td>
                    <td><input type='text' name='txtnombre'/></td>

                </tr>
                <tr>    
                    <td>Description:</td>
                    <td><input type='text' name='txtdescripcion'/></td>

                </tr>
                <tr>    
                    <td>Hours:</td>
                    <td><input type='text' name='txtcarga_horaria'/></td>

                </tr>
                <tr>    
                    <td></td>
                    <td><input type='submit' value=save name='btnsave'/></td>

                </tr>
            </table>


        </form>

拜托,我真的不知道该做什么:/

2 个答案:

答案 0 :(得分:0)

更改此

<form method="Post">
            <table align="center">
                <tr>    
                    <td>Career:</td>
                    <td><input type='text' name='txtcarreras_id'/><input type="hidden" name="txtid" value="0" /></td>

                </tr>
                <tr>    
                    <td>Name:</td>
                    <td><input type='text' name='txtnombre'/></td>

                </tr>
                <tr>    
                    <td>Description:</td>
                    <td><input type='text' name='txtdescripcion'/></td>

                </tr>
                <tr>    
                    <td>Hours:</td>
                    <td><input type='text' name='txtcarga_horaria'/></td>

                </tr>
                <tr>    
                    <td></td>
                    <td><input type='submit' value=save name='btnsave'/></td>

             </tr>
           <tr>
               <select name="new_sub">
                   <?php foreach(){?> <option value="<?php echo $row['careers_id'] ?>"><?php echo $row['name']; ?></option> <?php } ?>
               </select>
           </tr>
       </table>


    </form>

到这个

#include <iostream>
#include <vector>
#include <string>

using namespace std;

struct SomeStruct{
    string str1;
    string str2;
    string str3;
};

int main()
{
    vector< SomeStruct > someStructVector; //Create a vector of SomeStruct

    someStructVector.push_back( {"str1 ", "str2 ", "str3"} ); //adds {"str1 ", "str2 ", "str3"} to the vector

    for( auto ss : someStructVector )//Access the elements of the vector
        cout << ss.str1 << ss.str2 << ss.str3 << endl; 

    return 0;
}

您需要在查询中添加<tr class="<?php if (get_sub_field('available') === 'No') {echo 'na';} ?>"> <td><?php the_sub_field('uk'); ?></td> <td><?php the_sub_field('eu'); ?></td> <td>$<?php the_sub_field('chest_(cm)'); ?></td> <td><?php the_sub_field('chest_(in)'); ?></td> <td>$<?php the_sub_field('height_(cm)'); ?></td> </tr>

新主题

SET

答案 1 :(得分:0)

要从2个表中获取值,您可能需要使用http://windows.php.net/downloads/pecl/releases/imagick/

改变这个:

    <select>

    <?php
    here go through all_careers(You can use foreach -construct) and on each cycle print out new career option:
    echo "<option value=\"".[career_id here]."\">".[career name here]."</option>";
    ?>
    </select>

以下:

{{1}}

如果您想制作一个包含所有职业的下拉菜单:

{{1}}

然后在你的表单中你可以在&#39; dropdown&#39; -html标签之间加上一些php,如下所示:

{{1}}