mysql_query
-
Posts
36 -
Joined
-
Last visited
Posts posted by mysql_query
-
-
Pēc jūsu domām,
Vai ir labi glabāt pagination var iekš cookijiem?
-
Šis jautājums kā labs piemērs manī līdz galam izprovocēja sen gruzdošo vēlmi uzrakstīt piemēru precīzam jautājumam.
Gints Plivna
Pilnīgi un galīgi ne pa tēmu
-
Nu par 90% ir:
mysql> SELECT node.name, node.category_id -> FROM nested_category AS node, -> nested_category AS parent -> WHERE node.lft BETWEEN parent.lft AND parent.rgt -> group by node.name -> order by group_concat(parent.name ORDER BY parent.lft); +----------------------+-------------+ | name | category_id | +----------------------+-------------+ | ELECTRONICS | 1 | | PORTABLE ELECTRONICS | 6 | | 2 WAY RADIOS | 10 | | CD PLAYERS | 9 | | MP3 PLAYERS | 7 | | FLASH | 8 | | TELEVISIONS | 2 | | LCD | 4 | | PLASMA | 5 | | TUBE | 3 | +----------------------+-------------+ 10 rows in set (0.00 sec)
Uzlabots variants
Gints Plivna
Šis risinājums nestrādā.
-
Gala risinājums - bezgalīgam menu tree.
function get_path($start) { $pathArray = array(); $query = mysql_query("SELECT * FROM menu WHERE parent='$start' "); while ($row = mysql_fetch_array($query)) { $pathArray[] = $row; $pathArray = array_merge($pathArray, get_path($row['id'])); } return $pathArray; }
-
mysql_query - baidos, ka tādā veidā, kā tas ir realizēts tavā piemērā, to izdarīt nevar.
Vari lūdzu parādīt piemēru kā to izdarīt var?
-
Kā šajama var pielikt LIMIT
<?php function show_menu($id) { $all = mysql_query("SELECT * FROM main Where parent_id=$id ORDER BY id ASC"); if (!$all) { echo( mysql_error()); } else { if (mysql_num_rows($all) { echo '<ul class="id_nav">'; while ($row = mysql_fetch_array($all)) { echo '<li><a class="nav" href="?id='.$row['id'].'">'.$row['name'].'</a>'; show_menu($row['id']); echo '</li>'; } echo '</ul>'; } } } show_menu(0); ?>
1. Man ir piem 300 menu kopā.
2. Iespējams daži ir kā sub, sub sub menu .
3. tad kā lai sadalu pa lapām? Un lai herahija tupinātos nākamjā lapā.
-
Kā šajama var pielikt LIMIT
<?php function show_menu($id) { $all = mysql_query("SELECT * FROM main Where parent_id=$id ORDER BY id ASC"); if (!$all) { echo( mysql_error()); } else { if (mysql_num_rows($all) { echo '<ul class="id_nav">'; while ($row = mysql_fetch_array($all)) { echo '<li><a class="nav" href="?id='.$row['id'].'">'.$row['name'].'</a>'; show_menu($row['id']); echo '</li>'; } echo '</ul>'; } } } show_menu(0); ?>
1. Man ir piem 300 menu kopā.
2. Iespējams daži ir kā sub, sub sub menu .
3. tad kā lai sadalu pa lapām? Un lai herahija tupinātos nākamjā lapā.
-
Jā tieši tā,
2 variants. Pieņemsim ka man vajag sakārtot visu alfabētiskā secībā pēc nosaukuma.
Es otro variantu nevaru tikt gālā jau otro dienu.
Domāju ka izmantošu recursive - variantu. Bet te man būs jātierk galā ar LIMIT, vēl nesmu iedziļinājies par limit risinājumu bet domāju kas tas arī varētu būt sāpīgs jautājums.
-
Tāda administrācija pusē ievada menu un sub sub menu.
ORDER BY node.lft
nosaukums | seciba
aa | 1
--a1 |1
--a2 |2
----aa1 |1
----aa2 |2
bb | 2
--bb |1
--bb2|2
Ir nepieciešam lai menu saglabā savu hirarhiju arī pēc - ORDER BY node.seciba
Ja būs ORDER BY node.seciba menu hirarhijā būs sajaukta vietām.
Tātad jautājums, Kā lai saglabā menu hirarhiju arī pēc ORDER BY node.seciba ?
-
Ir sekojošs query:
SELECT CONCAT( 15 *(COUNT(parent.id) - 1),'') AS spacer
FROM
menu AS node,
menu AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
GROUP BY node.id
ORDER BY node.lft //// vai pēc secības node.seciba
LIMIT $pg, $limits
1. Visu bezgalīgo menu tree izvada kā vajag, ir ok.
2 LIMITs darbojas kā vajag, ir ok.
BET
3. Nevaru veikt ORDERu pēc secības, ja veicu tad menu tree sajaucas. Katram menu līmeni ir sava secība.
Piem: ORDER BY node.lft
nosakums | seciba |
aa |1
--aa |1
--bb |2
zz |2
--cc |1
--dd |2
Piem: ORDER BY node.seciba
nosakums | seciba |
aa |1
zz |2
--aa |1
--cc |1
--bb |2
--dd |2
Kāds varētu būt risinājums.
Menu tree ideja ir smelta no
http://dev.mysql.com/tech-resources/articles/hierarchical-data.html | The Nested Set Model
pagination variable into cookies
in Vispārēji
Posted
Hm,
par konkrētu url neiedomājos.
šoreiz būs jāliek iekš cookija,
Nākamajā projektā laikam gan jaliek iekš url.
paldies.