Jump to content
php.lv forumi

foruma apgreizs aka izķidāšana līdz saknei.


anonīms

Recommended Posts

Sāku pārveidot veco forumu un sapratu, ka tur ir tik daudz liekā.

Agrāk, ja viss bija iekšs 3/4 cikliem un izmantoju mysql_num_rows (forums vecs kā pasaule), tad tagad viss salīda vienā kverijā.

Tātad http://paste.php.lv/b77bd2b8ef3a40d4e524ffc0b56219d8?lang=php

Ideja ir tāda, ka tikko kā beidzas pēdējā subkategorija no noteiktās kategorijas, tā nostrādā </table> kods.

Pagaidām ir tā, ka tas table kods strādā pēc katras subkategorijas, kas arī sabojā visu forumu.

Kā varētu panākt izdomāto efektu?

Paldies2hz0081tqjcgmdv7bfpn.jpg

Pievērsiet uzmanību tikai 1 kategorijai, jo šajā skrīna ir redzams, ka otrajai neizveidojas title, etc, bet vnk ir vecs pārlūks sagadījies.

Edited by anonīms
Link to comment
Share on other sites

man sava funkcija ir, kas skaita kverijus visus.

$queries_count = 0;

function queryy($sql)
{
global $queries_count;
$result = mysql_query($sql);
if(!$result) echo mysql_error().'<br />'; 
$queries_count++;
return $result;
}

EDIT: un neskaties, ka sir pirms tam. Tas fails ir inklūdots citā un tam visam citam nekāda nozīme nav pie šī koda.

Galvenais, lai tas </table> sāk mesties pareizajā vietā

Edited by anonīms
Link to comment
Share on other sites

Es gan nesaprotu kāpēc otrajā IFā drukā to </table> laukā, nevis aiz tā. Vispār grūti iebraukt.

Ja $cat_id nav pieprasītais(laikam no GET vai kā tur), tad taisa otru tabulu iekš pirmās?

EDIT: biju domājis $cat['kategorija']!=$cat_id kad ir, taisa otru tabulu iekš pirmās.

Lai gan izskatās ka pareizi, ja pirmo tabulu izveido ātrāk citā failā.

Edited by mounkuls
Link to comment
Share on other sites

ideja tāda

// db! sakārtota pēc kategorijām
$dati = array(
array('cat'=>'kaķi'),
array('cat'=>'kaķi'),
array('cat'=>'kaķi'),
array('cat'=>'suņi'),
array('cat'=>'suņi')
);
// kategorijas maiņas pārbaudes mainīgais
$lastcat='';
// atveram pirmo kategoriiju
echo ($opentag = '<div class="cat">');
foreach($dati as $key=>$val) {
   // pārbaudam vai kategorija ir mainījusies
   if ($lastcat && $lastcat !== $val['cat']) { 
       // aizveram esošo kategoriju un atveram jaunu
       echo '</div>',$opentag;
   }
   echo $val['cat'],' ';
   // saglabājam pēdējo kategoriju
   $lastcat = $val['cat'];
}
// aizveram pēdējo kategoriju
echo '</div>';

Link to comment
Share on other sites

Izdevās lūk šādi: http://paste.php.lv/017b7bde2dae8694a4b2c76ef814b6a3?lang=php

 

Tagad nākamais.

 

Vai ir iespējams šos 3 kverijus apvienot zem paša pirmā "cikla" kvērija?

Kods: http://paste.php.lv/86c259cce71a814558bc9f8f87c8c2f1?lang=php

jo reāli sanāk pie katra jaunā data +3 queries, kas nav maz, ja ir daudz subkategorijas.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...