Home >Backend Development >PHP Tutorial >Regarding inventory, ranking of commercial housing inventory nationwide_PHP tutorial

Regarding inventory, ranking of commercial housing inventory nationwide_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 08:54:51863browse

Regarding inventory, ranking of commercial housing inventory nationwide

<span> 1</span> <span>public</span> <span>function</span><span> goods_number()
</span><span> 2</span> <span>    {
</span><span> 3</span>         <span>//</span><span> 接收商品ID</span>
<span> 4</span>         <span>$id</span> = I('get.id'<span>);
</span><span> 5</span>         <span>$gnModel</span> = D('goods_number'<span>);
</span><span> 6</span>         
<span> 7</span>         <span>//</span><span> 处理表单</span>
<span> 8</span>         <span>if</span><span>(IS_POST)
</span><span> 9</span> <span>        {<br />         //var_dump($_POST)die;
</span><span>10</span>             <span>//</span><span> 先删除原库存</span>
<span>11</span>             <span>$gnModel</span>->where(<span>array</span><span>(
</span><span>12</span>                 'goods_id' => <span>array</span>('eq', <span>$id</span>),
<span>13</span>             ))-><span>delete();
</span><span>14</span>             <span>//</span><span>var_dump($_POST);die;</span>
<span>15</span>             <span>$gaid</span> = I('post.goods_attr_id'<span>);
</span><span>16</span>             <span>$gn</span> = I('post.goods_number'<span>);
</span><span>17</span>             <span>//</span><span> 先计算商品属性ID和库存量的比例</span>
<span>18</span>             <span>$gaidCount</span> = <span>count</span>(<span>$gaid</span><span>);
</span><span>19</span>             <span>$gnCount</span> = <span>count</span>(<span>$gn</span><span>);
</span><span>20</span>             <span>$rate</span> = <span>$gaidCount</span>/<span>$gnCount</span><span>;
</span><span>21</span>             <span>//</span><span> 循环库存量</span>
<span>22</span>             <span>$_i</span> = 0;  <span>//</span><span> 取第几个商品属性ID</span>
<span>23</span>             <span>foreach</span> (<span>$gn</span> <span>as</span> <span>$k</span> => <span>$v</span><span>)
</span><span>24</span> <span>            {
</span><span>25</span>                 <span>$_goodsAttrId</span> = <span>array</span>();  <span>//</span><span> 把下面取出来的ID放这里
</span><span>26</span> <span>                // 后来从商品属性ID数组中取出 $rate 个,循环一次取一个</span>
<span>27</span>                 <span>for</span>(<span>$i</span>=0; <span>$i</span><<span>$rate</span>; <span>$i</span>++<span>)
</span><span>28</span> <span>                {
</span><span>29</span>                     <span>$_goodsAttrId</span>[] = <span>$gaid</span>[<span>$_i</span><span>];
</span><span>30</span>                     <span>$_i</span>++<span>;
</span><span>31</span> <span>                }
</span><span>32</span>                 <span>//</span><span> 先升序排列</span>
<span>33</span>                 <span>sort</span>(<span>$_goodsAttrId</span>, SORT_NUMERIC);  <span>//</span><span> 以数字的形式排序
</span><span>34</span> <span>                // 把取出来的商品属性ID转化成字符串</span>
<span>35</span>                 <span>$_goodsAttrId</span> = (<span>string</span>)<span>implode</span>(',', <span>$_goodsAttrId</span><span>);
</span><span>36</span>                 <span>$gnModel</span>->add(<span>array</span><span>(
</span><span>37</span>                     'goods_id' => <span>$id</span>,
<span>38</span>                     'goods_attr_id' => <span>$_goodsAttrId</span>,
<span>39</span>                     'goods_number' => <span>$v</span>,
<span>40</span> <span>                ));
</span><span>41</span> <span>            }
</span><span>42</span>             <span>$this</span>->success('设置成功!', U('goods_number?id='.I('get.id'<span>)));
</span><span>43</span>             <span>exit</span><span>;
</span><span>44</span> <span>        }
</span><span>45</span>         
<span>46</span>         <span>//</span><span> 根据商品ID取出这件商品所有可选属性的值</span>
<span>47</span>         <span>$gaModel</span> = D('goods_attr'<span>);
</span><span>48</span>         <span>$gaData</span> = <span>$gaModel</span>->alias('a'<span>)
</span><span>49</span>         ->field('a.*,b.attr_name'<span>)
</span><span>50</span>         -><span>join</span>('LEFT JOIN __ATTRIBUTE__ b ON a.attr_id=b.id'<span>)
</span><span>51</span>         ->where(<span>array</span><span>(
</span><span>52</span>             'a.goods_id' => <span>array</span>('eq', <span>$id</span>),
<span>53</span>             'b.attr_type' => <span>array</span>('eq', '可选'),
<span>54</span>         ))-><span>select();
</span><span>55</span>         <span>//</span><span> 处理这个二维数组:转化成三维:把属性相同的放到一起</span>
<span>56</span>         <span>$_gaData</span> = <span>array</span><span>();
</span><span>57</span>         <span>foreach</span> (<span>$gaData</span> <span>as</span> <span>$k</span> => <span>$v</span><span>)
</span><span>58</span> <span>        {
</span><span>59</span>             <span>$_gaData</span>[<span>$v</span>['attr_name']][] = <span>$v</span><span>;
</span><span>60</span> <span>        }
</span><span>61</span>         
<span>62</span>         <span>//</span><span> 先取出这件商品已经设置过的库存量</span>
<span>63</span>         <span>$gnData</span> = <span>$gnModel</span>->where(<span>array</span><span>(
</span><span>64</span>             'goods_id' => <span>$id</span>,
<span>65</span>         ))-><span>select();
</span><span>66</span>         <span>//</span><span>var_dump($gnData);</span>
<span>67</span>         
<span>68</span>         <span>$this</span>->assign(<span>array</span><span>(
</span><span>69</span>             'gaData' => <span>$_gaData</span>,
<span>70</span>             'gnData' => <span>$gnData</span>,
<span>71</span> <span>        ));
</span><span>72</span>         
<span>73</span>         <span>//</span><span> 设置页面信息</span>
<span>74</span>         <span>$this</span>->assign(<span>array</span><span>(
</span><span>75</span>             '_page_title' => '库存量',
<span>76</span>             '_page_btn_name' => '返回列表',
<span>77</span>             '_page_btn_link' => U('lst'),
<span>78</span> <span>        ));
</span><span>79</span>            <span>//</span><span> 1.显示表单</span>
<span>80</span>            <span>$this</span>-><span>display();
</span><span>81</span>     }

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1118331.htmlTechArticle Regarding inventory, the national commercial housing inventory ranks 1 public function goods_number() 2 { 3 // Receive product ID 4 $id = I('get.id' ); 5 $gnModel = D('goods_number' ); 6 7 // Process the form...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn