Theres много понятий в вашем вопросе, позволяет работать через него:
Прежде всего, необходимо CREATE TABLE:
CREATE TABLE person (
id SERIAL PRIMARY KEY,
fullname TEXT NOT NULL,
dob DATE,
bio TEXT NOT NULL
);
Вставьте некоторые тестовые данные:
INSERT INTO person (fullname, dob, bio) VALUES
('Steve Jobs', '1955-02-24', 'Steven Paul "Steve" Jobs...'),
('Tutankhamun', NULL, 'Tutankhamun (alternately spelled...');
Чтобы сделать поиск быстрее вы должны создать полный текстовый индекс в столбце, который вы планируете искать:
CREATE INDEX person_fts ON person USING gin(to_tsvector('english', bio));
В вашем PHP скрипт вы должны connect to PostgreSQL:
$dbconn = pg_connect("dbname=mary");
Теперь вы можете сделать полнотекстовый поиск с pg_query():
$words = "steve jobs";
$sql = "SELECT * FROM person WHERE to_tsvector(bio) @@ to_tsquery('$words')";
$query = pg_query($dbconn, $sql);
if(!$query)
die("An error occured.\n");
Если вы хотите вернуть Everthing, как вы видите его в psql затем отнести записи к TABLE:
echo "<table>";
while($row = pg_fetch_row($result)) {
echo "<tr>";
foreach($row as $cell)
echo "<td>{$cell}</td>";
echo "</tr>";
}
echo "</table>";
Да, я ударил, пока я редактировал (woops). –
привет, таблица создания не работает в postgres 8.4, я получаю синтаксическую ошибку в нижней скобке); Мне кажется странным, что я могу создавать другие таблицы с одинаковым синтаксисом. –
Исправлено. Это была дополнительная запятая. –