Я только что осознал свою ошибку! Я дважды использовал таблицу jokecategory ... изучение PHP - это смиряющий опыт ...PHP, повторяющий неоднозначные имена из нескольких таблиц
Благодарим за помощь, пока все хорошо!
Извините, я не вставлял SQL, но ваш совет помог тем не менее. Я изменил SQL-запрос, чтобы использовать «AS», но я думаю, что я что-то перепутал с таблицей «категория». Не могу понять, что, но это не позволяет мне искать по категории сейчас. Есть идеи? Я получаю следующее сообщение об ошибке:
Ошибка: Не уникальный стол/псевдоним: 'jokecategory'
SQL-запрос:
$select = 'SELECT DISTINCT joke.id, joke.joketext, author.id AS author_name, author.name AS author_name, jokecategory.jokeid AS cat_jokeid, jokecategory.categoryid AS joke_catid, category.id AS cat_id, category.name as cat_name';
$from = ' FROM joke, author, jokecategory, category';
$where = ' WHERE joke.authorid = author.id AND joke.id = jokecategory.jokeid AND jokecategory.categoryid = category.id';
$aid = $_POST['aid'];
if ($aid != '') { // An author is selected
$where .= " AND authorid='$aid'";
}
$cid = $_POST['cid'];
if ($cid != '') { // A category is selected
$from .= ', jokecategory';
$where .= " AND joke.id=jokecategory.jokeid AND categoryid='$cid'";
}
$tid = $_POST['tid'];
if ($tid != '') { // A theme is selected
$from .= ', joketheme';
$where .= " AND joke.id=joketheme.jokeid AND themeid='$tid'";
}
$gfid = $_POST['gfid'];
if ($gfid != '') { // A region is selected
$from .= ', jokegeofocus';
$where .= " AND joke.id=jokegeofocus.jokeid AND geofocusid='$gfid'";
}
$searchtext = $_POST['searchtext'];
if ($searchtext != '') { // Some search text was specified
$where .= " AND joketext LIKE '%$searchtext%'";
}
?>