Динамические ссылки в php и mysql
Я хотел бы передавать информацию с одной страницы на другую, используя динамические ссылки. Например, когда человек нажимает
<a href ="glossary.php>A</a>
A будет сохранен в переменную и передан в glossary.php. Где следующий Mysql запрос будет на glossary.php
letter_query = "SELECT * FROM Glossary WHERE Letter =$clickedletter;
letter_id = mysql_query($letter_query) or die(mysql_error);
$row = mysql_fetch_assoc($letter_id);
У меня есть следующая таблица MySQL:
Глоссарий (Glossaryid, Letter, Word, Definition, userid).
Вот пример информации, которая будет храниться: Glossaryid => 01, Letter => B, Word => Ball, Definition => Раунд, с которым люди играют, но некоторым платят, чтобы играть с ним.
У меня есть страница, содержащая HTML со ссылками в алфавитном порядке, то есть A B C D E F G H I и т. Д. Когда человек нажимает на ссылку, я хотел бы отобразить все слова, начинающиеся с нажатой буквы, на странице с именем glossary.php.
2 ответа
В этой ссылке A
не совсем полезная ценность. Это просто отображаемый контент:
<a href ="glossary.php">A</a>
Тем не менее, вы также можете превратить его в полезное значение на самом URL:
<a href ="glossary.php?letter=A">A</a>
Теперь, когда вы загружаете glossary.php
страница, значение будет доступно для этой страницы в качестве параметра строки запроса здесь:
$_GET["letter"]
Помещая значения в строку запроса вместо того, чтобы пытаться сохранить их внутренне, это дает дополнительное преимущество повышенной переносимости. Любой может ссылаться на тот же URL с тем же значением с минимальными усилиями, даже с удаленного сайта (где он не имел бы доступа для сохранения значения в вашем коде), пользователи могут даже добавить ссылку в закладки, если захотят.
Примечание. Прежде чем использовать значение непосредственно в запросе SQL, убедитесь, что вы знакомы с внедрением SQL. Этот параметр URL может быть подделан пользователем, чтобы иметь любое значение, которое он хотел бы в нем, включая сам код SQL. Вы должны убедиться, что он был санирован, прежде чем использовать его в запросе к базе данных.
Пытаться:
<a href ="glossary.php?clickedletter=A">A</a>
$clickedletter=$_GET['clickedletter'];
letter_query = "SELECT * FROM Glossary WHERE Letter =$clickedletter;
letter_id = mysql_query($letter_query) or die(mysql_error);
$row = mysql_fetch_assoc($letter_id);