Agnisr Posted November 6, 2006 Report Share Posted November 6, 2006 (edited) Sveiki forumiesi, biku vajadziiga paliidziiba ar datu izvadi no 2 tabulaam. Taatad tabulas 1. tabula id | title 1 ieraksts1.1 2 ieraksts1.2 3 ieraksts1.3 utt 2. tabula cat | title 2 ieraksts2.1 2 ieraksts2.2 2 ieraksts2.3 5 ieraksts2.4 3 ieraksts2.7 (cat atrodas gadiijuma skaitli) taatad vajadzeeja izvilkt datus, kur 1. tabulas id = ar otraas tabulas cat ierakstiem Select p1.id, p1.title, p2.cat, p2.title from ad2_gallery_cats AS p1 INNER JOIN ad2_gallery AS p2 on p1.id = p2.cat; Itkaa viss ok, visu atlasa Ok bet es nezinu kaa var tagad tos datus izvadiit saadaa seciibaa Virsraksts .... apaksvirsraksts .... apaksvirsraksts .... apaksvirsraksts Virsraksts 2 .... apaksvirsraksts .... apaksvirsraksts .... apaksvirsraksts, kur virsraksti iz izvilkumi no pirmaas tabulas un apaksvirsraksti no otraas tabulas Es ceru, ka kaads izprata domu un spees paliidzeet Edited November 6, 2006 by Agnisr Link to comment Share on other sites More sharing options...
v3rb0 Posted November 6, 2006 Report Share Posted November 6, 2006 (edited) ar vienu ciklu: * rādi virsrakstu, un pirmo apaksvirsrakstu; * atceries kāds ir virsraksts; * ja virsraksts ir tāds, kāds jau tika parādīts, nerādi viņu, parādi tikai apakšvirsrakstu. vai taisi 2vus selectus, visus virsrakstus,visus apakšvirsrakstus izselectētajiem virsrakstiem un tad ar diviem cikliem. - vispirms pa virsrakstiem, tad katra virsraksta apakšvirsraksta. Edited November 6, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
andrisp Posted November 6, 2006 Report Share Posted November 6, 2006 Not sure, vai pareizi "nopārsēju" tavu domu, bet vai tad tev visi ieraksti netiek atgriezti kā ...Virsraksts, apakšvirsraksts Virsraksts, apakšvirsraksts Virsraksts, apakšvirsraksts ... ? Ja domāji šādi: ...Virsraksts 1, apakšvirsraksts 1 Virsraksts 1, apakšvirsraksts 2 Virsraksts 2, apakšvirsraksts 1 Virsraksts 2, apakšvirsraksts 2 Virsraksts 2, apakšvirsraksts 3 ... Tad ar ... ORDER BY p1.id, p2.cat nesanāk ? Link to comment Share on other sites More sharing options...
Agnisr Posted November 6, 2006 Author Report Share Posted November 6, 2006 andrisp nu jaa, taa ir kaa tu mineeji, bet vajag man sitaa Virsraksts .... apaksvirsraksts .... apaksvirsraksts .... apaksvirsraksts Virsraksts 2 .... apaksvirsraksts .... apaksvirsraksts .... apaksvirsraksts un nav ne jausmas kaa to tagad izvadiit, galvu bonusaa sajauc 2 tabulas, kuraam viena colonna ir ar vienaadu virsrakstu! Link to comment Share on other sites More sharing options...
v3rb0 Posted November 6, 2006 Report Share Posted November 6, 2006 ar vienu ciklu:* rādi virsrakstu, un pirmo apaksvirsrakstu; * atceries kāds ir virsraksts; * ja virsraksts ir tāds, kāds jau tika parādīts, nerādi viņu, parādi tikai apakšvirsrakstu. vai taisi 2vus selectus, visus virsrakstus,visus apakšvirsrakstus izselectētajiem virsrakstiem un tad ar diviem cikliem. - vispirms pa virsrakstiem, tad katra virsraksta apakšvirsraksta. šitais vai ta nav tas ko prasi?? p.s. bubu, sorri par quote! Link to comment Share on other sites More sharing options...
andrisp Posted November 6, 2006 Report Share Posted November 6, 2006 Ja tev izdevās sakārtot ierakstus ar manu doto sql ORDER, tad izmanto v3rb0 ieteikto metodi ar vienu ciklu. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted November 6, 2006 Report Share Posted November 6, 2006 Agnisr --> ja ielasi datus no 2 vai vairaak tabulaam (kaa arii no 1 Bet Ar JOIN) tad iedod tai tabulas shunai Pseido Name teiksim tabula.title AS pirmas_tabulas_title, tabula2.title AS otraas tabulas_title... resp tabulas nosaukums.shunas nosaukums AS pseido_vards... jo savaadaak nevar (SELEC title, title nestraadaas) vai arii vienkaarshi tabula1.title, tabula2.title .... Tik PHP galaa buus paliels bardaks taa kaa labaak pieskjir sakariigu Pseido vardu.... un PHP to arii izmanto ~~ $row['pseido_vards']...... Link to comment Share on other sites More sharing options...
Agnisr Posted November 6, 2006 Author Report Share Posted November 6, 2006 Grey_Wolf, man kaut kas nesanaak, tagad meeginu izvadiit vienk rezultaatus, bez noteiktas seciibas, kaa tu teici, bet nu nekaa <?php $db = mysql_connect("localhost"); mysql_select_db("edzulis", $db); $sql = "Select p1.id, p1.title, p2.cat, p2.title from ad2_gallery_cats AS p1 INNER JOIN ad2_gallery AS p2 on p1.id = p2.cat ORDER BY p1.id, p2.cat"; $res = mysql_query($sql, $db); $row = mysql_fetch_array($res); while ($row = mysql_fetch_array($res)) { echo ' ' . $row['p2.title'] . ' ' . $row['p1.title'] . '<br />'; } ?> Atteelojas tuksa lapa, nav nekaada errora, nekaa Link to comment Share on other sites More sharing options...
v3rb0 Posted November 6, 2006 Report Share Posted November 6, 2006 izmanto http://lv.php.net/mysql_fetch_assoc tā http://lv.php.net/mysql_fetch_array vietā. vai vienkārši print_r($row) un skaties kas lācītim vēderā. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted November 6, 2006 Report Share Posted November 6, 2006 (edited) Protams ;) Es jau teicu kaa Select p1.id, p1.title AS PIRMA_TITLE , p2.cat, p2.title AS OTRA_TITLE from ad2_gallery_cats AS p1 INNER JOIN ad2_gallery AS p2 on p1.id = p2.cat ORDER BY p1.id, p2.cat Un izvadi.... echo ' ' . $row['OTRA_TITLE'] . ' ' . $row['PIRMA_TITLE'] . '<br />'; parejos (kas netkartojas izvadi vienkarshi kaa $row['id'] utt.... Ja tev vinjus nevajag izvadiit tad vispaar neliec SELECTaa Edit : vislabaakais pielies kodam echo $query; un peec tam ar CTR+C & CTRL+V iekopee PHPMyAdmin SQL laucinjaa un paskaties kas tev vispaar tiek atgriests..... Vai nav kljuuda utt.... (izmantojot INERR JOIN tiks atgriest rezultaats tikai tad JA ABAS TABULAAS BUUS VAJADZIIGAIS IERAKSTI peec Kverija nosacijumiem... Edited November 6, 2006 by Grey_Wolf Link to comment Share on other sites More sharing options...
Agnisr Posted November 6, 2006 Author Report Share Posted November 6, 2006 V#rb0, vari luudzu siikaak izstaastiit par savu priekslikumu, iisti nespeeju sagremot kaa to realizeet, piemeeram, kaa saliidzinaat un peec tam neattelot virsrakstu Link to comment Share on other sites More sharing options...
andrisp Posted November 6, 2006 Report Share Posted November 6, 2006 (edited) Aptuveni tā: $last_main_title = ''; while($row = mysql_fetch_assoc($db_result)) { if ($last_main_title != $row['title']) { echo $row['title']; echo $row['subtitle']; $last_main_title = $row['title']; } else { echo $row['subtitle'] } } Edited November 6, 2006 by andrisp Link to comment Share on other sites More sharing options...
Agnisr Posted November 6, 2006 Author Report Share Posted November 6, 2006 One more question: Vai ir iespeejams pieprasiijumaa ielikt taadu lietu kaa "iznemot" nosaciijumu. Ar domu : Select * from tabula where a=b 'iznemot' kur b=a; kaut kaa pa netu raknaajoties neatradu ka kaut kas taads buutu iespeejams, bet tomeer neticaas, domaaju, ka biezi nepieciesama lieta Link to comment Share on other sites More sharing options...
andrisp Posted November 6, 2006 Report Share Posted November 6, 2006 iekš mysql WHERE a=b un b=a ir viens un tas pats. Bet vispār tie ir pamatu pamati: SELECT * FROM `tabula` WHERE a = b AND b != c; Link to comment Share on other sites More sharing options...
Agnisr Posted November 6, 2006 Author Report Share Posted November 6, 2006 uj uz aatro rakstot nesekoju liidzi burtiem un taa sanaaca, beigaas tiesaam bij domaats kaut kas cits Link to comment Share on other sites More sharing options...
Recommended Posts