2013-09-10 3 views
-4

Я хотел бы передать информацию с одной страницы на другую, используя динамические ссылки. Например, когда человек нажимаетДинамические ссылки в php и mysql

<a href ="glossary.php>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, определение, идентификатор пользователя).

Вот пример информации, которая будет храниться: Glossaryid => 01, Letter => B, Word => Ball, Definition => Круглые вещи, с которыми люди играют, но некоторым платят за игру ,

У меня есть страница, содержащая HTML со ссылками в алфавитном порядке, т.е. ABCDEFGHI и т.д. Когда человек нажимает на ссылку, я хотел бы, чтобы отобразить все слова, начинающиеся с буквы кликнули на страницу под названием глоссарий. PHP.

+2

Google ["HTTP GET parameters"] (http://en.wikipedia.org/wiki/Query_string). И ["переменные запроса PHP"] (http://php.net/manual/en/reserved.variables.request.php). И ["SQL Injection"] (http://en.wikipedia.org/wiki/SQL_injection) – ppeterka

+0

найдите базовое руководство по работе с HTTP и PHP, это базовое знание, которое вам нужно будет начать программировать ... Do не начинайте с баз данных SQL, если вы даже не можете создать правильный тег HTML-ссылки. – NDM

ответ

2

В этой связи, A не очень годный к употреблению значение. Это отображается только содержание:

<a href ="glossary.php">A</a> 

Однако, вы можете также сделать его в работоспособное значение на самом URL:

<a href ="glossary.php?letter=A">A</a> 

Теперь при загрузке glossary.php страницу, значение будет доступно что страница в качестве параметра строки запроса здесь:

$_GET["letter"] 

поставив значения на строку запроса вместо того, чтобы пытаться сохранить их внутри, это имеет дополнительное преимущество increas портативность. Все, что можно связать с тем же самым URL с тем же самым значением с минимальными усилиями, даже с внесайта (там, где у него иначе не было бы доступа к сохранению значения в вашем коде), пользователи могут даже пометить ссылку, если захотят.

Примечание: Перед использованием значения непосредственно в SQL-запросе убедитесь, что вы знакомы с SQL injection. Этот параметр URL-адреса может быть подделан пользователем, чтобы иметь любое значение, которое им бы хотелось в нем, включая сам код SQL. Вы должны убедиться, что он был дезинфицирован, прежде чем использовать его в запросе базы данных.

+0

Я бы упомянул о безопасности, поскольку ОП, похоже, не знает знаний об этом поле. – ppeterka

+0

@ ppeterka66: Хороший звонок. Я добавил его к ответу. Мое знание PHP немного устарело (например, у меня нет опыта PDO), поэтому, надеюсь, он может по крайней мере следовать некоторым советам по исследованиям, чтобы понять эту тему. – David

-1

Try:

<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); 
+1

Nice [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection)! Он должен сказать ** Не ** попробовать в первой строке. Кроме того, ответ без объяснений ничего не стоит. – ppeterka

+1

OP явно не хватает базового knowlegde, просто давая ему код, он ему не поможет. Если вы хотите, чтобы его запустили, по крайней мере, дайте * некоторую * информацию о том, что происходит, и почему этот фрагмент кода работает ... – NDM

Смежные вопросы