Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

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
Posted (edited)

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
Posted (edited)

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
Posted

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>';

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...