Heim > php教程 > php手册 > Hauptteil

关于库存量,全国商品房库存量排名

WBOY
Freigeben: 2016-06-13 08:42:14
Original
1961 Leute haben es durchsucht

关于库存量,全国商品房库存量排名

<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>     }
Nach dem Login kopieren

 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage