Allora, io in poche parole faccio questo:
All'inizio dello script ho:
Codice PHP:
$sql = 'SELECT * FROM ' . BANDS_GENRES_TABLE;
if (!($result = $db->sql_query($sql, false, 'bands_genres_')))
{
message_die(GENERAL_ERROR, 'Could not query bands genre', '', __LINE__, __FILE__, $sql);
}
while($row = $db->sql_fetchrow($result))
{
$genre[$row['id']] = $row['name'];
}
Poi, faccio la seguente query:
Codice PHP:
$sql = "SELECT * FROM " . BANDS_TABLE . " WHERE band_id = '" . $bands_id . "'";
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't retrieve band data", '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$genre_array = explode(' ', $row['band_genre']);
foreach($genre_array as $id => $value)
{
$name = $genre[$value];
$u_genre = ($board_config['url_rw'] == '1') || (($board_config['url_rw_guests'] == '1') && ($userdata['user_id'] == ANONYMOUS)) ? append_sid(str_replace ('--', '-', 'band-genre-' . make_url_friendly($name) . '.html')) : append_sid('' . U_BANDS . '?genre=' . make_url_friendly($name));
$template->assign_block_vars('list_band_genre', array(
'URL' => $u_genre,
'NAME' => $name,
));
}
Quindi genero un link in base al value della'array $genre.
Siccome devo fare il motore di ricerca, dovrà fare (per svariati motivi) una query in base al valore passato via GET, che in questo caso è un valore dell'array.
Però, dato che nella seconda query che faccio (dove faccio l'explode()) il record è tipo:
Devo fare una LIKE con la key del valore passato via GET.
Capito ragazzi?