根据下拉列表从数据库中选择项目

时间:2014-11-18 09:27:37

标签: php mysql select

所以我想做的是根据下拉列表中选择的选项从数据库中选择多个项目,

我有一个叫做文章的表,我们得到了id_article,类型。

类型有动作,冒险,戏剧......

在我的代码中,我得到了一个带有流派值的下拉列表,我想要的是当我按照每个示例选择动作时,它将自动选择具有流派动作的所有项目,如下面的下拉列表。

已经试图弄清楚如何做到这一点并用Google搜索并且没有得到任何信息。

请帮助。

我已经做过的事情:

<?php require_once('Connections/valesilveira.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_valesilveira, $valesilveira);
$query_artigos = "SELECT * FROM artigos WHERE fornecedor like '%" . mysql_real_escape_string($_POST['mySelection']) . "%'";
$artigos = mysql_query($query_artigos, $valesilveira) or die(mysql_error());
$row_artigos = mysql_fetch_assoc($artigos);
$totalRows_artigos = mysql_num_rows($artigos);
?>


<form id="myForm" action="samePage.php" method="post">
<select id="mySelection" name="mySelection" onChange="$('#myForm').submit();">
  <option value="Jimo">Jimo</option>
  <option value="Actipage">Actipage</option>
</select>
</form>

<div class="container-outer">
   <div class="container-inner"> 
   <img class="artigo_img" src="images/artigos/<?php echo $row_artigos['id_artigo']; ?>.png" data-artigo-id="<?php echo $row_artigos['id_artigo']; ?>" style="height:130px;"> 
   </div>
</div>

<?php
mysql_free_result($artigos);
?>

它给我这个错误提示:未定义的索引:第35行的C:\ xampp \ htdocs \ valesilveira \ test.php中的mySelection,为什么?

请帮助。

1 个答案:

答案 0 :(得分:0)

使用html最好的赌注是POST或GET提交javascript(在选择等)以将参数发布到.php脚本并获取json响应或javascript和AJAX基本上做同样的事情。 然后php脚本将获取变量,对db执行查询并在需要时处理它们,然后返回可以使用的数据。