从连接表中选择PHP变量

时间:2010-10-06 14:45:58

标签: php

我仍然在尝试学习PHP并且在使用此代码时遇到了一些问题。我在ID_Vehicles中有一个字段$ youtubeurl,我试图输出一些代码,如果该字段中有数据,我如何选择该字段与此连接输出值如下面的示例?

   function getDealerSettings($vid)
    {
        include('db.php');
        $query = "SELECT banner, ebay_htmlcss FROM ebay_dealersettings INNER JOIN ID_vehicles ON ebay_dealersettings.did=ID_vehicles.did WHERE vid='".$vid."'";
        $result = @mysql_query($query);
        if ($result)
        {
            $row = mysql_fetch_assoc($result);
            return array("banner" => trim($row['banner']), "css" => str_replace(array("\n", "\t"), " ",$row['ebay_htmlcss']));
        }
        return "";
    }

    function getTemplate($vid)
    {
        $code = "";
        extract($this->getDealerSettings($vid));
        if (!empty($youtubeurl))
            $code .= "$youtubeurl";

4 个答案:

答案 0 :(得分:1)

好像你只需要在select语句中添加该字段:

  $query = "SELECT banner, ebay_htmlcss, youtubeurl FROM ebay_dealersettings INNER JOIN ID_vehicles ON ebay_dealersettings.did=ID_vehicles.did WHERE vid='".$vid."'";

答案 1 :(得分:1)

您需要将youtubeurl添加到SELECT语句中并确保它在返回数组中,然后它才能正常工作。

答案 2 :(得分:0)

我没有返回数组返回数组中的值(“banner”=> trim($ row ['banner']),“youtubeurl”=> trim($ row ['youtubeurl']),

答案 3 :(得分:0)

不一定是答案,补充我对问题的评论,我在空检查之前找不到提到的$ youtubeurl。如果db没有返回任何内容或查询失败,则所需的错误处理也不存在。我在脚本中添加了简单的错误处理。返回数组包含($ return_array [0])$ errflag,可以读取是否有错误,$ errmsg是包含错误消息的数组,第三个元素包含返回数组。

      function getDealerSettings($vid)
        {
          $errflag=false;
          $errmsg=array();
          $return=array();

            include('db.php');
            $query = "SELECT banner, ebay_htmlcss FROM ebay_dealersettings INNER JOIN ID_vehicles ON ebay_dealersettings.did=ID_vehicles.did WHERE vid='".$vid."'";
            $result = @mysql_query($query);

if (!$result){
   $errflag=true;
    $errmsg[]="Error with db connection". mysql_error();
}else{
     $row = mysql_fetch_assoc($result);
     $return = array("banner" => trim($row['banner']), "css" => str_replace(array("\n", "\t"), " ",$row['ebay_htmlcss']));
            }
$return_array=array($errflag, $errmsg, $return);
return $return_array;
        }