php查询表 - 从数据库填写的部分

时间:2011-08-23 17:24:41

标签: php forms

下午,

想知道是否有人可以帮助我。使用数据库中的表我有一个预先填充的表单(来自数据库中的内容),具体取决于用户在进行查询时进入的页面。

EG。如果用户已从产品A页面进入并点击了项目c中的“查询”按钮,则查询表单已预先填入名称“产品A”和“项目c”

index.php?id=1&pack=13

如果用户从产品页面进入,这很好,但是如果用户点击更高级别页面上的查询按钮,我如何才能获得表单中显示的产品名称?我原以为将代码更改为

就好了
index.php?id=1

然而,这不起作用 - 表格在完成此操作时完成空白。

我的PHP知识非常有限,因此非常感谢任何帮助。

我想要定位的db表是'Bob',在这个表中我想要定位选择项目名称的各个项目的id。目前的工作原理如下:

$query = mysql_query("SELECT Bob.Name, Bob_Packages.Name FROM Bob, Bob_Packages WHERE Bob.Id=Bob_Packages.Bob_Id AND Bob.ID = '".$id."' AND Bob_Packages.Id = '".$pack."'");

但是我现在只想要'Bob.Name'这个特定的'查询'链接。我的大脑在煎炸!

非常感谢, 杂色

嗨Dalionzo, 感谢您的回复。但是不确定它是否对我有所帮助。在当前的查询php页面中,我有:

<?php {
$query = mysql_query("SELECT Bobs.Name, Bob_Packages.Name FROM Bobs, Bob_Packages WHERE Bobs.Id=Bob_Packages.Bob_Id AND Bobs.ID = '".$id."' AND Bob_Packages.Id = '".$pack."'");
                    $result = mysql_fetch_array($query);
                    echo $result[0];
                    }
?>

它基本上只是Bobs.Id我想要通过。我提供了你提供的尝试并返回了错误。

有什么想法吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

在您的查询中,您正在检查

id=$id AND packages.id=$pack

这意味着,如果URL中缺少一个查询,则根本找不到任何内容! 因此,您需要做的是检查其中一个是否缺失,然后使用

创建不同的查询
 <?php 

$query = "SELECT Bob.Name, Bob_Packages.Name FROM Bob, Bob_Packages WHERE Bob.Id=Bob_Packages.Bob_Id";

    if($_GET['id'] != '') {
    $query .= " AND Bob.ID = '".$id."'";
    }
    if($_GET['pack'] != '') {
    $query .= " AND Bob_Packages.Id = '".$pack."'";
    }

    mysql_query($query);

?>

希望这会帮助你!

P.S。我没有测试过这个...