向用户配置文件添加详细信息(将登录用户和当前gig插入新表的查询)

时间:2014-01-17 17:28:45

标签: php mysql sql-insert

好的,我正在建立一个原型票系统,我有用户档案

<li><a href="profile.php?user=<?php echo escape($user->data()->username); ?>">Profile</a></li>

用户详细信息存储在我数据库的`users表中。

我还有一个名为bands的演出表。我用这段代码显示乐队

乐队代码

    <?php
require 'core/init.php';


$Band_id = $_GET['id'];
$result = mysql_query("SELECT * FROM bands WHERE Band_id = $Band_id");

echo "<table border = '1'>
<tr>
    <th>Band Name</th>
    <th>Venue</th>
    <th>Category</th>
    <th>Stock</th>
    <th>Add</th>
</tr>";

    while($row = mysql_fetch_array($result))
    {
        echo "<tr>";
        echo "<td>" .$row['Name']. "</td>";
        echo "<td>" .$row['Venue']. "</td>";
        echo "<td>" .$row['Category']. "</td>";
        echo "<td>" .$row['Stock']. "</td>";
        echo "<td><button>Buy Ticket</button></td>";
        echo "</tr>";
    }
echo "</table>";


?>

我刚刚创建了一个名为orders的新表。有两行,band_id和user_id。

问题

如何构建一个查询,将当前频段和当前登录用户的频段ID插入到表order中,以便稍后使用? (按下按钮时插入)

任何帮助都会很棒,因为我很困难,谢谢你。

Im thinking Insert `$Band_id` and `$user` in to `order` table.

2 个答案:

答案 0 :(得分:1)

在表单中使用隐藏字段作为品牌ID,如下所示: 你应该使用表格。

while($row = mysql_fetch_array($result))
    {
        echo "<tr><form name=\"myform\" action=\" something.php\"  method=\"post\">";
       echo "<td> <input name=\"brand\" type=\"hidden\" value=\"". $Band_id."\" ></td>";
        echo "<td>" .$row['Name']. "</td>";
        echo "<td>" .$row['Venue']. "</td>";
        echo "<td>" .$row['Category']. "</td>";
        echo "<td>" .$row['Stock']. "</td>";
        echo "<td><button>Buy Ticket</button></td>";
        echo "<td><input type=\" submit\" value=\"Buy Ticket\"></td>";
        echo "</tr> </form>";
    }

并使用session来保存用户ID。提交表单后从表单获取值并将其插入您的订单表。

something.php

session_start();
$brand_id = $_REQUEST['brand'];
$user_id = $_SESSION['user_id'];

 $sql = "insert into order (brand_id,user_id) values($brand_id,$user_id)";
// then execute this query

我认为它会起作用:)

答案 1 :(得分:0)

您可以使用名为lastInsertValue的函数来获取最后插入的band的id。用户ID,您可以将其保存在会话中,或者您可以通过用户名进行查询以获取用户行搜索(我建议您先执行,在会话中保存用户信息)。