involuntarydamage Posted November 22, 2010 Share Posted November 22, 2010 Hey guys I need some help, Im trying to generate a numbered list by using i++ and an if statement but I cant seem to get the values to start over to 0, here is a look at my code $make = "SELECT * FROM category_description ORDER BY category_id ASC LIMIT 1000"; $makeresult = mysql_query($make); while($make1 = mysql_fetch_array($makeresult)){ $parent = "SELECT * FROM category WHERE parent_id = {$make1['category_id']} LIMIT 1000"; $parentresult = mysql_query($parent); while($parent1 = mysql_fetch_array($parentresult)){ if(($make1['category_id'] == $parent1['parent_id']) AND ($make1['name'] == $make1['name'])){ $i += 1; $count = $i; echo "[". $count . "]" . " " . $parent1['category_id'] . " " . $make1['category_id'] . " " . $parent1['parent_id'] . " " . $make1['name'] . "<br />"; Basically the output comes out like this: [1] 100 10 10 Acura [2] 101 10 10 Acura [3] 102 10 10 Acura [4] 103 10 10 Acura [5] 104 10 10 Acura [6] 105 10 10 Acura [7] 106 10 10 Acura [8] 107 10 10 Acura [9] 108 10 10 Acura [10] 109 10 10 Acura [11] 110 10 10 Acura [12] 111 10 10 Acura [13] 112 10 10 Acura [14] 113 10 10 Acura [15] 114 10 10 Acura [16] 115 10 10 Acura [17] 116 10 10 Acura [18] 117 10 10 Acura [19] 118 10 10 Acura [20] 119 10 10 Acura [21] 120 10 10 Acura [22] 121 10 10 Acura [23] 122 10 10 Acura [24] 123 10 10 Acura [25] 124 10 10 Acura [26] 125 10 10 Acura [27] 126 11 11 Audi [28] 127 11 11 Audi [29] 128 11 11 Audi [30] 129 11 11 Audi [31] 130 11 11 Audi [32] 131 11 11 Audi [33] 132 11 11 Audi [34] 133 11 11 Audi [35] 134 11 11 Audi [36] 135 11 11 Audi [37] 136 11 11 Audi [38] 137 11 11 Audi But I need it to come out like this, so basically if Acura = Acura generate 1,2,3,4 etc and if Audi = Audi generate 1,2,3,4......Im still somewhat new to this would really appreciate the help if someone can point me in the right direction: [1] 100 10 10 Acura [2] 101 10 10 Acura [3] 102 10 10 Acura [4] 103 10 10 Acura [5] 104 10 10 Acura [6] 105 10 10 Acura [7] 106 10 10 Acura [8] 107 10 10 Acura [9] 108 10 10 Acura [10] 109 10 10 Acura [11] 110 10 10 Acura [12] 111 10 10 Acura [13] 112 10 10 Acura [14] 113 10 10 Acura [15] 114 10 10 Acura [16] 115 10 10 Acura [17] 116 10 10 Acura [18] 117 10 10 Acura [19] 118 10 10 Acura [20] 119 10 10 Acura [21] 120 10 10 Acura [22] 121 10 10 Acura [23] 122 10 10 Acura [24] 123 10 10 Acura [25] 124 10 10 Acura [26] 125 10 10 Acura [1] 126 11 11 Audi [2] 127 11 11 Audi [3] 128 11 11 Audi [4] 129 11 11 Audi [5] 130 11 11 Audi [6] 131 11 11 Audi [7] 132 11 11 Audi [8] 133 11 11 Audi [9] 134 11 11 Audi [10] 135 11 11 Audi [11] 136 11 11 Audi [12] 137 11 11 Audi Quote Link to comment Share on other sites More sharing options...
requinix Posted November 22, 2010 Share Posted November 22, 2010 Keep track of the data from the previous row. If the current row doesn't agree with it (that is, whatever changed) then reset $i=0. Quote Link to comment Share on other sites More sharing options...
involuntarydamage Posted November 22, 2010 Author Share Posted November 22, 2010 Yeah after a few hours I guess I'm just not seeing it Quote Link to comment Share on other sites More sharing options...
involuntarydamage Posted November 23, 2010 Author Share Posted November 23, 2010 is there just a huge part to this, that I'm missing here? Quote Link to comment Share on other sites More sharing options...
BlueSkyIS Posted November 23, 2010 Share Posted November 23, 2010 Keep track of the data from the previous row. If the current row doesn't agree with it (that is, whatever changed) then reset $i=0. start with $i = 1, if the brand name is the same as the last record, add 1 to $i and show $i. otherwise, reset $i = 1 and show $i. Quote Link to comment Share on other sites More sharing options...
involuntarydamage Posted November 23, 2010 Author Share Posted November 23, 2010 I now have the next record(even though it says previous) but I think I'm just missing a part of the process, never had to do this before, its somewhat new to me. $make = "SELECT * FROM category"; $makeresult = mysql_query($make); while($make1 = mysql_fetch_array($makeresult)){ $current_id = $make1['parent_id']; $previous = "SELECT parent_id FROM category WHERE parent_id > $current_id ORDER BY parent_id ASC LIMIT 1"; $previousresult = mysql_query($previous); while($previous1 = mysql_fetch_array($previousresult)){ $previous = $previous1['parent_id']; $i = 1; if($current_id == $current_id){ $i += 1; }if($previous != $current_id ){ $i = 1; } echo $i . ' ' . $previous . $current_id . '<br />'; } } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.