GARAIS Posted June 19, 2014 Report Share Posted June 19, 2014 Sveiki man te maza problēmiņa cerēšu uz jūsu atsaucību.Tātad.Nevaru izdomāt kā sataisīt lai posts un answers glabājas vienā table.Piemērs: Posts Answer1 Answer1 Answer2 Answer3 Answer3 Answer2 Answer1 Posts Posts Posts Manas tabulas struktūra ir tāda. id,parent_id,topic_id,uid,post,date P.S. uid = user_id Paldies par atsaucību! :) Quote Link to comment Share on other sites More sharing options...
marcis Posted June 19, 2014 Report Share Posted June 19, 2014 parent_id arī būs pareizā pieeja. kāds tieši ir jautājums? Quote Link to comment Share on other sites More sharing options...
codez Posted June 19, 2014 Report Share Posted June 19, 2014 (edited) parenti_id == 0, ja tas ir post-s, > 0, ja answer-s Edited June 19, 2014 by codez Quote Link to comment Share on other sites More sharing options...
GARAIS Posted June 19, 2014 Author Report Share Posted June 19, 2014 parent_id arī būs pareizā pieeja. kāds tieši ir jautājums? Nu vajag lai lasa zem posta answerus un zem answera vēl answerus. Quote Link to comment Share on other sites More sharing options...
GARAIS Posted June 19, 2014 Author Report Share Posted June 19, 2014 parenti_id == 0, ja tas ir post-s, > 0, ja answer-s Bet ja es piemēram sataisu parent_id kā posts = 0, answers = 1,2,3. tad kā noteikt zem kura posta tiek rakstīta atbilde? bet piemēram nevarētu answerus sataisīt piemēram 2+post_id un lasīt kā substr(parent_id, 0, 1) <-- tas ir kā answera id kurā kolonnā rādās, un ja piem post_id ir 6 cipraru id, tad (parent_id, 1, 6) <--- tas būs kā post id. bet jautājums tāds vienā querijā nevar to visu sataisīt lai nebūtu jāvelk ārā vēl 3 while() funkcijas vienu iekš otras? Quote Link to comment Share on other sites More sharing options...
codez Posted June 19, 2014 Report Share Posted June 19, 2014 Vari izveidot divus laukus. parent_id un root_id. parent_id glabā tiešo vecāku, root_id glabā post-a id. Quote Link to comment Share on other sites More sharing options...
Kemito Posted June 19, 2014 Report Share Posted June 19, 2014 (edited) Katram postam ir id (AI) un atbilde iet zem attiecīgā posta. Atbilde būs parent_id > 0, un pats posts būs parent_id 0. Piemēram: id 1, parent_id 0, body "Hello world" būs attiecīgi pirmais ieraksts, kuram nav parents, līdz ar to, tas ir posts. Tālāk visi posti, kam parent_id būs 1 attiecīgi ies zem šī posta, kā atbilde šim postam. id 2, parent_id 1, body "Foo bar" Kur attiecīgi būs atbilde postam 1. Turpinājumā parent_id 2 būs atbilde attiecīgi "Foo bar" postam. and so on. ID katram ir unikāls, un parent_id ir attiecīgi zem, kura posta ir šī atbilde, ja parent_id ir 0 tad tā nav atbilde, bet posts. Edited June 19, 2014 by Kemito Quote Link to comment Share on other sites More sharing options...
GARAIS Posted June 19, 2014 Author Report Share Posted June 19, 2014 Katram postam ir id (AI) un atbilde iet zem attiecīgā posta. Atbilde būs parent_id > 0, un pats posts būs parent_id 0. Piemēram: id 1, parent_id 0, body "Hello world" būs attiecīgi pirmais ieraksts, kuram nav parents, līdz ar to, tas ir posts. Tālāk visi posti, kam parent_id būs 1 attiecīgi ies zem šī posta, kā atbilde šim postam. id 2, parent_id 1, body "Foo bar" Kur attiecīgi būs atbilde postam 1. Turpinājumā parent_id 2 būs atbilde attiecīgi "Foo bar" postam. and so on. ID katram ir unikāls, un parent_id ir attiecīgi zem, kura posta ir šī atbilde, ja parent_id ir 0 tad tā nav atbilde, bet posts. Varētu lūdzu sniegt kādu query piemēru uz šo? Es kkā pa 50% neiebraucu :( Quote Link to comment Share on other sites More sharing options...
marcis Posted June 19, 2014 Report Share Posted June 19, 2014 Rekursija. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted June 19, 2014 Report Share Posted June 19, 2014 > Rekursija. http://php.lv/f/topic/21896-posts-and-answers-vien%C4%81-tabul%C4%81/#entry173070 Quote Link to comment Share on other sites More sharing options...
codez Posted June 19, 2014 Report Share Posted June 19, 2014 > Rekursija. http://php.lv/f/topic/21896-posts-and-answers-vien%C4%81-tabul%C4%81/#entry173070 lol Quote Link to comment Share on other sites More sharing options...
GARAIS Posted June 19, 2014 Author Report Share Posted June 19, 2014 (edited) > Rekursija. http://php.lv/f/topic/21896-posts-and-answers-vien%C4%81-tabul%C4%81/#entry173070 Ar rekursiju man viss kārtībā! lieta iet par to lai atbildes rādās zem noteiktā posta. $posts_query = ......... WHERE pid = 0 $i=0; while($i<$mysql->NumRows($posts_query)){ $i++; bla bla bla bla 1 $posts_query2 = ......... WHERE pid = 1, answer_id = $posts['id'] $ii=0; while($ii<$mysql->NumRows($posts_query2)){ $ii++; bla bla bla bla2 $posts_query3 = ......... WHERE pid = 2, answer_id = $posts2['id'] $iii=0; while($iii<$mysql->NumRows($posts_query3)){ $iii++; bla bla bla bla3 $posts_query4 = ......... WHERE pid = 3, answer_id = $posts3['id'] $iii=0; while($iii<$mysql->NumRows($posts_query4)){ $iii++; bla bla bla bla4 } } } } Man to visu taisīt pēc šī principa vai arī ir kāda vienkāršāka metode? Edited June 19, 2014 by GARAIS Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 19, 2014 Report Share Posted June 19, 2014 (edited) 1. kverijs - select data from posts where parent_id = 0 order by date asc[ limit x] 2. prepared statement - select data from posts where parent_id = ? order by date asc 1. kveriju izpilda uzreiz, izvada ciklā. Šī cikla iekšpusē pēc katra posta izpilda 2. prepared statement ar konkrētā posta ID kā parent_id. Ja gribi vairākus līmeņus atbilžu - rekursija © marcis. Iekapsulē to prepared statement izpildi un izvadi funkcijā, un viss čikiniekā. P.S. @daGrevis - nice. Edited June 19, 2014 by jurchiks Quote Link to comment Share on other sites More sharing options...
Kemito Posted June 19, 2014 Report Share Posted June 19, 2014 Varētu lūdzu sniegt kādu query piemēru uz šo? Es kkā pa 50% neiebraucu :( Gatavi risinājumi šim ir, atliek tikai meklēt. Quote Link to comment Share on other sites More sharing options...
F3llony Posted June 20, 2014 Report Share Posted June 20, 2014 Vēl kategorijas un apakškategorijas var ielikt tajā pašā tabulā, ja cat_id = 0 tad kategorija, ja cat_id = 1, tad apakškategorija un tad vēl mēs varam ielikt šeit statiskas lapas, ja page = 1 [...] OP, es saprotu, ka tev vajag, bet šī ir ļoti slikta ideja. Izveido divas tabulas - posts un answers. Posts ir tēmu saraksts, answers - atbildes un atbildes atbildēm. Nevajag sarežģīt vienkāršas lietas un denormalizēt normalizējamus datus. 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.