Część która odpowiada za wyświetlanie tagów, wraz z ich losowym stylem działa i wygląda tak:
<?php // tagi z bazy $tz= 'select * from `wiadomosci` ORDER by `id` DESC'; $tw = mysqli_query($mysql, $tz); $tag2 = ""; while ($tags = mysqli_fetch_array($tw)) { $tag = $tags['tagi']; $tag2 = $tag2.$tag; } // tagi do tablicy $wielkosc_tablicy = $wielkosc_tablicy - 1; if ($wielkosc_tablicy >= 15) { $ile_losow = 10; } else { $ile_losow = $wielkosc_tablicy; } // losowanie tagow z tablicy for ($i=0; $i<$ile_losow; $i++) { if ($font_style <= 5) { $styl = "font-style: normal;"; } if ($font_style == 6) { $styl = "font-weight: bold;"; } if ($font_style == 7) { $styl = "font-style: italic;"; } if ($font_style == 8) { $styl = "text-decoration: underline;"; } if ($font_style2 == 1) { $styl2 = "text-align: right;"; } if ($font_style2 == 2) { $styl2 = "text-align: left;"; } if ($font_style2 == 3) { $styl2 = "text-align: center;"; } echo '<font style="font-size:'.$font_size.'pt; '.$styl.$styl2.'">'.$tablica[$rand_keys[$i]]."</font>\n"; } ?>
a link po kliknięciu takiego tagu wygląda tak:
Kod
?body=search&type=test
i takie zapytanie przechodzi do pliku search.php którego częścią jest kod odpowiadający za GET TYPE:
//type $tag = $_GET['type']; $zapytanie = 'select * from `wiadomosci` WHERE `typ` !=3 ORDER by `id` DESC'; $wynik = mysqli_query($mysql, $zapytanie); $licznik = 0; $cufon = 0; $cufon2 = 0; while ($wiersz = mysqli_fetch_array($wynik)) { $licznik++; for ($i=0; $i<=$licznik; $i++) { if ($tagi[$i]==$tag) { // $cufon++; $cufon2++; // if ($wiersz['typ'] == 1) { $tytul = $wiersz['tytul']; } if ($wiersz['typ'] == 2) { $tytul = $wiersz['tytul'].'<img src="images/loged_req.png" border="0" title="Wymagane zalogowanie." alt="Wymagane zalogowanie.">'; } // // ilosc komentow $ilosc_koment = mysqli_num_rows(mysqli_query($mysql, 'SELECT * FROM `komentarze` WHERE `id_wiadomosci` = "'.$wiersz['id'].'"')); // $tresc = $wiersz['tresc']; $ile = 300; if ($licz>=$ile) { $txt = $tnij."..."; } else { $txt = $tresc; } echo ' <div class="article"> <table style="text-align: left;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="width: 580px;"><h2 id="cufon'.$cufon.'"><span><a href="blog.php?body=artykul&id='.$wiersz['id'].'">'.$tytul.'</a></span></h2></td> <td style="width: 80px;"><span id="cufon2-'.$cufon2.'" class="koment">[ '.$ilosc_koment.' ]</span></td> </tr> </tbody> </table> <div class="clr"></div> <p class="createdby" >Napisano <strong>'.$wiersz['data'].'</strong> przez <strong>'.$wiersz['autor'].'</strong>.</p> <p>'.$txt.'</p> <p><br><a href="blog.php?body=artykul&id='.$wiersz['id'].'"><input class="submit" type="submit" value="Czytaj dalej.."></a></p> </div>'; } } } } ?>
i każdy GET type który wybiore ma znaleźć mi artykuł do którego pasuje z tagów w bazie danych:
Artykuł 1 | Tagi:
Kod
,tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,
ja sami widzicie muszę zaczynać od przecinka i kończyć przecinkiem co nie jest wygodne. a problem leży w tym że skrypt zadziała tylko dla GET['type'] === tag1, dla każdego innego już to się nie sprawdzi.
Czy jest ktoś łaskaw przeanalizować kod i wspomóc?
Z góry dziękuje za fatygę w czytaniu tego "czegoś" co stworzyłem :-)
Sory że w nowym poście ale jak znam życie to temat by się znacznie poszerzył.
Rozwiązałem problem.
$licznik++; for ($i=0; $i<=$licznik; $i++) { if ($tagi[$i]==$tag) {
na
for ($i=0; $i<=$licznik; $i++) { if ($tagi[$i]==$tag) {