Mam taki problem - pobieram z bazy danych wpisy dotyczącego danego tytuły gry (który wpisuję w wyszukiwarce). Dostaję kilka wpisów, jednakże chcę je posegregować na "tipsy i kody" oraz "solucje" - dodam, że w bazie danych każdy wpis ma już dopisaną odpowiednią kategorię w dodatkowym polu.
Mam taki kod:
Kod
<b>$test = trim($_GET['tytulgry']);
mysql_connect(localhost, xxxx, xxxx) or die(mysql_error());
mysql_select_db("wilq") or die(mysql_error());
mysql_query('SET CHARACTER SET utf8');
mysql_query('SET NAMES utf8');
$query = "select * from tnt where tytul='$test';";
$result = mysql_query($query);
$num_result = mysql_num_rows($result);
if (!($test)) { echo 'Nie wpisałeś tytułu gry!';}
elseif ($num_result == 0)
{echo "<p>Niestety, nie ma takiej gry w bazie danych.
Możesz spróbować wyszukać raz jeszcze.
Upewnij się, że wspisałeś poprawny tytuł gry.</p>";}
else { echo "<h6>Liczba znalezionych wpisów: $num_result </h6>";}
while ( $rekord = mysql_fetch_assoc ($result)) {
$numer = $rekord['numer'];
$tytul = stripslashes($rekord['tytul']);
$rodzaj = stripslashes($rekord['rodzaj']);
$komputer = ucwords($rekord['komputer']);
$tresc= stripslashes($rekord['tresc']);
$autor = stripslashes($rekord['autor']);
$zrodlo = stripslashes($rekord['zrodlo']);
if ($rodzaj == "solucja") {echo "Solucje <br> ";
echo "<strong>$tytul</strong>"." - "."$komputer"."<br> ";
echo '<h6 class="extra">'.$autor.", "."$zrodlo".'</h6>';
echo nl2br($tresc)."<br> ";}
else { echo "Tipsy i Kody <br> ";
echo "<strong>$tytul</strong>"." - "."$komputer"."<br> ";
echo '<h6 class="extra">'.$autor.", "."$zrodlo".'</h6>';
echo nl2br($tresc)."<br> ";}
}
Nie wiem jak zrobić aby tekst "Tipsy i kody" oraz "Solucje" pojawiały się tylko raz, niezależnie od liczby rekordów (chyba, że jest ich zero, wtedy nie powinny się pojawiać w ogóle). Czyli jak sprawić, aby ta linijka kodu wykonała się tylko raz, a reszta do oporu.
Wiem, że teoretycznie mógłbym zrobić dwa zapytania do bazy danych, każde z innym "where", ale chyba musi być jakiś inny, prostszy sposób?