Ситуация следующая имеется БД с одной таблицей и с одним полем : Table1 поле Name. В ней хранятся имена людей. Идем даьбше... При запуске сценария появляется рубрикатор. По моей задумке по нажатии любой гиперссылки в броузер должно выписаться имена людей , которые начинается с буквы нажатой мной гиперсылки. Ну например я нажал на 'A' и в броузер выпишется такое :Аня, Антон, Андрей и т.д. Чтобы реализовать то, что я хочу я написал сценарий, он ниже... Код (Text): <?php function MakeQuery($Sel) { if(isset($_GET["Sel"])) { if (!mysql_connect("localhost", "root",'1111')) echo "Невозможно подключиться к серверу."; $BaseName="test"; mysql_select_db($BaseName); mysql_query("SET NAMES cp1251"); $result=mysql_query("Select Otrasl from table1 where Name like '$Sel%'"); while ($s=mysql_fetch_array($result)) echo "<a href=1.html>$s[Otrasl]</a><br>"; } }; ?> <HTML> <Head> <Title> Главная </Title> </Head> <BODY> <?php MakeQuery($Selected) ?> <div class> <a href="myscript.php?Selected=А">А</a> <a href="myscript.php?Selected=Б">Б</a> <a href="myscript.php?Selected=В">В</a> <a href="myscript.php?Selected=Г">Г</a> </div> </BODY> </HTML> Но ничего не происходит ,и что-то мне говорит потому что в функцию MyQuery не попадает параметр. Или , может по какой - нибудь другой причине.. В общем помогите мне плз.
Вот подправил все: Код (Text): <?php function MakeQuery($Selected) { if(isset($_GET["Selected"])) { if (!mysql_connect("localhost", "root",'1111')) echo "Невозможно подключиться к серверу."; $BaseName="Names"; mysql_select_db($BaseName); mysql_query("SET NAMES cp1251"); $result=mysql_query("Select Name from table1 where Name like '" . mysql_escape_string($Selected) . "%'"); while ($s=mysql_fetch_array($result)) echo "$s[Name]<br>"; } }; ?> //------------------------------------------------------------------------------------------- <HTML> <Head> <Title> Главная </Title> </Head> <BODY> <?php MakeQuery($Selected) ?> <a href="Query.php?Selected=А">А</a><br> <a href="Query.php?Selected=Б">Б</a><br> <a href="Query.php?Selected=В">В</a><br> </BODY> </HTML> При нажатии на гиперссылку ничего не происходит.Что я не так сделал? У меня вот еще такой вот вопрос: Положим есть такая функция на C++ Код (Text): void ShowValue (int a) { printf("%d\n",a); } //----------------------- Вызов данной функции: Код (Text): void Main () { int My_var=10; ShowValue(My_var); } //---------------------------- Все работает. Вопрос у меня в том что , обязательно ли при описании функции называть входной параметр также как и переменную которая будет передаваться по ссылке. В моем случае это будет выглядеть так Код (Text): function MakeQuery($Selected) . Просто если обязательно , то функция какая-то не универсальная , она зависит от имени параметра.Как сделать так чтобы она не зависела от имени входной переменной(например, как в примере на C++), если это вообще возможно?
PHP: <?php function MakeQuery($Sel) { if(isset($Sel)) { $Sel=rawurldecode($Sel); if (!mysql_connect("localhost", "root",'1111')) die("Невозможно подключиться к серверу."); $Sel=mysql_real_escape_string($Sel); $BaseName="test"; mysql_select_db($BaseName); mysql_query("SET NAMES cp1251"); $result=mysql_query("Select Otrasl from table1 where Name like '$Sel%'"); while ($s=mysql_fetch_array($result)) echo "<a href=1.html>".$s['Otrasl']."</a><br>"; } }; ?> <HTML> <Head> <Title> Главная </Title> </Head> <BODY> <?php MakeQuery($_GET['Sel']) ?> <div class> <a href="myscript.php?Sel=<?=rawurlencode('А');?>">А</a> <a href="myscript.php?Sel=<?=rawurlencode('Б');?>">Б</a> <a href="myscript.php?Sel=<?=rawurlencode('В');?>">В</a> <a href="myscript.php?Sel=<?=rawurlencode('Г');?>">Г</a> </div> </BODY> </HTML> upd/ исправилсо
Код (Text): mysql_real_escape_string Я переместил эту строчку, ниже , после подключения к БД и все заработало. Спасибо. Дак а вы не могли бы ответить на вопрос который я задавал выше : обязательно ли при описании функции называть входной параметр также как и переменную которая будет передаваться по ссылке............................. И еще у меня вопрос: Положим я зашел на сайт музыки и вижу рубрикотор, нажимаю на букву, появляются исполнители на заданную букву. Вопрос: На таких сайтах используется механизм похожий на мои-совместные труды или проблема такого рода решаются как то по другому?