bra Posted April 21, 2005 Report Share Posted April 21, 2005 Hi, Kārtējo reizi esmu nonācis strupceļā tādēļ vēršos pie Jums. šoreiz viena no manām problēmām ir šāds ten skripts http://paste.php.lv/1877 Zinu ka esksitētē Tās JOIN ( LEFT | RIHT ) gribēju šo te koda gabaliņu kautkā novienkāršot t.i. lai nav tik garš ideja sekojoša savācam datus no main, kur ir kāds id($startid) + izšpļujam nosaukumu, tad no itemtypes savācam datus, kur sadid = main id, tad savācam datus no items, kur sadid = itemtypes id, un vis beidot vadam visu ārā. Tad vel man ir jautājums par preg_replace kas tas par zvēru un ko nozīmē tie [^a-z] utt Pldies jau iepriekš Mārtiņs Brass Link to comment Share on other sites More sharing options...
bubu Posted April 21, 2005 Report Share Posted April 21, 2005 Īsti nezinu kāda tev ir DB struktūra, bet laikam šādi: <?php function pro_showitems($startid){ $startid = intval($startid); $q = mysql_query("SELECT * FROM main JOIN itemtypes ON main.id=itemtypes.sadid ". "JOIN items ON items.sadid=itemtpyes.id WHERE main.sadid='$startid' ". "ORDER BY main.id, itemtypes.id, items.id"); if (!$q) { echo mysql_error(); } else { $skiats_itemu = 0; while ($row = mysql_fetch_array($q)) { $skaits_itemu++; echo '<div class="box">'; echo '<h2>'.$row['name'].'</h2>'; echo '<img src="menulogo/'.$row['bilde'].'" width="100" height="100" />'; echo '<p>nosaukums</p>'; echo '<div class="go">'; $arr = array( 'menu=read', 'id='.$row['id'], 'rid='.$row['id'], 'type='.$row['type'], 'name='.$_GET['name'], 'name2='.$row['name'], 'pid='.$row['pid'], 'name3='.$row['name'], 'itemid='.$row['id'], 'name3='.$row['name']); echo '<a href="?'.implode('&', $arr).'">'; echo '<img src="img/pluss.gif" alt="Vairāk" /></a>'; echo '</div>'; } } } ?> P.S. iemācies identēt kodu. Link to comment Share on other sites More sharing options...
bra Posted April 21, 2005 Author Report Share Posted April 21, 2005 Paldies par sorci, šis tas nestrādā kā es vēlējos panākt, bet tas nekas, bet Ideja JOINam ir kādā? Un kapēc tur tie punkti pa vidu? Atvainojos par savu muļību, bet ko nozīmē identēt kodu? Link to comment Share on other sites More sharing options...
bubu Posted April 21, 2005 Report Share Posted April 21, 2005 Identēt kodu - likt atstarpes/atkāpes pie atteicīgiem elementiem? Kas labāka lasās, šis: for ($i=0; $i<1; $i++) { if ($i>5) { echo $i; } } vai šis: for ($i=0; $i<1; $i++) { if ($i>5) { echo $i; } } Domāju, ka otrais, ne? JOIN ideja, īsi sakot: taisīt dekarta reizinājumu no abām tabulām, atlasot tikai tos ierakstus, kuri atbilst ON nosacījumam. Ja ir divas tabulas: A(col1, col2) ------- a 1 b 2 c 3 un tabla: B(col3, col4) ------ 1 viens 2 divi 4 četri tad SELECT * FROM A JOIN B ON col2=col3 dos rezultātu: col1 col2 col3 col4 ----------------------- a 1 1 viens b 2 2 divi Un par kādiem punktiem iet runa? Punkts taču ir stringa konkatenācijas simbols, to taču tu zini, ne? Link to comment Share on other sites More sharing options...
bra Posted April 21, 2005 Author Report Share Posted April 21, 2005 (edited) zināt tad zināju, tikai nesapratu kādēļ šis tur?, bet laikam tikai pieraxta dēļ. Tikai par to JOIN doto piemēru lieta tāda ka netiek atgriests viens, bet vairāki itemi, un navigācīja aiziet kalīgā tūtā, bet tur laikam man mašan jāurbjas cauri tai Join štellei Paldies Tev par uzklausīšanu un atbildes sniegšanu. Mārtiņš Brass Edited April 21, 2005 by bra Link to comment Share on other sites More sharing options...
Gacha Posted April 22, 2005 Report Share Posted April 22, 2005 Personīgi es JOINUS iemācījos pēc šī turtoriāļa. Link to comment Share on other sites More sharing options...
Recommended Posts