2015-10-04 48 views
2

这不是没有工作,但只是我很困惑如何做到这一点,我想根据用户的偏好,从早先选择我的数据库中取值。 这些步骤将采取我的过程:用于HTML的PHP​​ POST选择使用另一个POST

  1. 用户将图像中选择(将添加HTML的图像,然后将掀起它在另一选择)
  2. 将持续到达到最后阶段
  3. 最后阶段将有3个选择(下拉菜单),其中2将根据什么用户的选(如国家,州DD)

我的PHP改变内容:

else if ($_POST["data_key"]=="last") 
{ 
    $final_arr; 
    $fetcher_theme = $_POST["themeid"]; 
    $fetcher_category= $_POST["themecategory"]; 
    $fetcher_product= $_POST["themeproduct"]; 
    $fetcher_cover = $_POST["ctitle"]; 

    $myquery="SELECT DISTINCT Layout.* FROM Layout,Products,Occasion, Cover, Theme 
    WHERE Layout.product=$fetcher_product 
    AND Layout.occasion=$fetcher_category 
    AND Layout.theme=$fetcher_theme 
    AND Layout.cover=$fetcher_cover;"; 


    $results=$DB->fetchAll($myquery); 

     foreach ($results as $row) { 
     $row["current"]="size"; 
     unset($row["pixfizzId"]); 
     $final_arr[]=$row; 
      } 

    echo json_encode($final_arr); 
} 


    else if ($_POST["data_key"]=="size") 
{ 
    $final_arr; 
    $fetcher =   $_POST["selected_id"]; 
    $fetcher_theme =  $_POST["themeid"]; 
    $fetcher_category= $_POST["themecategory"]; 
    $fetcher_product= $_POST["themeproduct"]; 
    $fetcher_cover =  $_POST["ctitle"]; 
    $fetcher_size =  $_POST["stitle"]; 

    $myquery="SELECT DISTINCT Size.stitle FROM Layout,Products,Occasion, Size, Theme 
    WHERE Layout.product=$fetcher_product 
    AND Layout.occasion=$fetcher_category 
    AND Layout.theme=$fetcher_theme 
    AND Layout.size=$fetcher_size 
    AND Layout.size=Size.id"; 

    $results=$DB->fetchAll($myquery); 

     foreach ($results as $row) { 
     $row["current"]="finishing"; 
     unset($row["pixfizzId"]); 
     $final_arr[]=$row; 
      } 

    echo json_encode($final_arr); 
} 

     else if ($_POST["data_key"]=="finishing") 
{ 
    $final_arr; 
    $fetcher =   $_POST["selected_id"]; 
    $fetcher_theme =  $_POST["themeid"]; 
    $fetcher_category= $_POST["themecategory"]; 
    $fetcher_product= $_POST["themeproduct"]; 
    $fetcher_cover =  $_POST["ctitle"]; 
    $fetcher_size =  $_POST["stitle"]; 
    $fetcher_finishing = $_POST["ftitle"]; 

    $myquery="SELECT DISTINCT Finishing.ftitle FROM Layout,Products,Occasion, Size, Cover, finishing, Theme 
    WHERE Layout.product=$fetcher_product 
    AND Layout.occasion=$fetcher_category 
    AND Layout.theme=$fetcher_theme 
    AND Layout.size=$fetcher_size 
    AND Layout.cover=$fetcher_cover 
    AND Layout.finishing=$fetcher_finishing"; 

    $results=$DB->fetchAll($myquery); 

     foreach ($results as $row) { 
     $row["current"]="finishing"; 
     unset($row["pixfizzId"]); 
     $final_arr[]=$row; 
      } 

    echo json_encode($final_arr); 
}} 

我的引擎JS(什么我给你):

  myItem.setId(jsonData[i].id); 
     myItem.setImg(jsonData[i].image); 
     myItem.setTitle(jsonData[i].title); 

我的JS选择(打印HTML):

myString +="<a>Sizes: </a><br><select id='sizesSelect' style=' width:200px'></select><br><br>"; 
    myString +="<a>Cover: </a><br><select id='coverSelect' style=' width:200px'><br></select><br><br>"; 
    myString +="<a>Finishing: </a><br><select id='finishingSelect' style=' width:200px'></select><br><br><br>"; 

追加到在JS选择:

myString +="<script>$('#sizesSelect').append('<option val="+i+">"+this.getSize()+"</option>')</script>"; 

现在我需要知道如何再次发布到我的PHP服务器以获取其他选择的值(请参阅img)。 enter image description here

选择尺寸 - >更新封面 - >选择封面 - >更新精加工 - >选择整理

+3

'$更改为MyQuery =“SELECT DISTINCT布局* FROM布局,产品展示,场合,封面,主题 WHERE Layout.product = $ fetcher_product 和Layout.occasion = $ fetcher_category 和Layout.theme = $ fetcher_theme。 AND Layout.cover = $ fetcher_cover;“;'这是一个字符串... – user5173426

+2

考虑移动到http://codereview.stackexchange.com/ –

+0

我知道如何输入我的查询,我需要POST如何完成。 –

回答

0

而不是使用SQL存储和现在的以前的用户的选择,你可以保留以前的选择,因为$ _ POST数据通过重新添加choises到HTML窗体作为隐藏的输入字段。例如:<input type="hidden" text="foo" name="<?=htmlspecialchars($_POST['foo'])?>">

+0

感谢您的建议,我每次根据用户选择的内容从数据库中提取数据时,都会对服务器进行多次召回,例如, (选定[美国]将取[纽约,华盛顿,拉斯维加斯等]。 –