1

Тема: Ссылки на странице

Здравствуйте!я хотел поинтересоваться, а по возможности узнать об решении одного вопроса...я разбил страницу на 4 части с помощью css и тегов <div></div>, в одной части страницы я вывел список людей из БД..можно ли сделать так, чтобы нажав на определенного человека, информация по нему отражалась в соседней части страницы?

2

Re: Ссылки на странице

VitoS сказал:

можно ли сделать так, чтобы нажав на определенного человека, информация по нему отражалась в соседней части страницы?

Можно. Если делать с перезагрузкой страницы, то достаточно сформировать урл с идентификатором по которому и выводить из БД данные.

Вид ссылки с параметром name.

<a href="?name=1">Имя №1</a>

Проверка параметра name.

<?php
if (isset($_GET['name'])) {
  // Здесь делаем выборку данных из БД.
}
?>

3

Re: Ссылки на странице

Вид ссылки с параметром name.
<a href="?name=1">Имя №1</a>


echo '<table border="1">';
echo "<tr><th>ФИО Студента</th></tr>";
while($row1=mysql_fetch_array($result1,MYSQL_ASSOC)){
$studs=$row1["Fio"];
echo "<tr>";
echo'<td><a href="$studs">$studs</a></td>';
echo "</tr>";
}

делаю так и у меня выводятся только $studs в таблице..не знаю как сделать ,чтобы студенты были ссылками((

4

Re: Ссылки на странице

Осторожнее с одинарными кавычками, в них переменные не обрабатываются и надо использовать конкатенацию с помощью точки.

echo'<td><a href="' . $studs . '">' . $studs . '</a></td>';

По какому параметру вы будете выводить данные о человеке? Предпочтительно, чтобы это был уникальный числовой идентификатор.

5

Re: Ссылки на странице

заработало)...а чтобы после нажатия на определенного студента информация появилась на другой части страницы нужно работать внутри этой таблицы?..и какую конструкцию лучше всего использовать для этого?

6

Re: Ссылки на странице

VitoS сказал:

а чтобы после нажатия на определенного студента информация появилась на другой части страницы нужно работать внутри этой таблицы?

Если вы сделали отдельный div, то в нем все и следует выводить. Не пытайтесь свести все в одну таблицу - это может быть затруднительно.

VitoS сказал:

и какую конструкцию лучше всего использовать для этого?

Теперь надо сделать ту часть скрипта, которая будет выводить данные по идентификатору. В ссылке вы передаете параметр по которому и надо из БД выбрать дополнительные данные, соответственно вывести их на странице.

Дальше проверьте как скрипт принимает параметр.

<?php
if (isset($_GET['name'])) {
  // Простая проверка.
  echo '<div>Параметр name: ' . $_GET['name'] . '</div>';
}
?>

7

Re: Ссылки на странице

if (isset($_GET['name'])) {
  // Простая проверка.
  echo '<div>Параметр name: ' . $_GET['name'] . '</div>';
}

в этом случае  'name' это имя чего?..и параметр name?..а то я вообще уже запутался(((..и в конце концов в этом условии происходит вывод информации на странице?

8

Re: Ссылки на странице

name - это параметр из ссылки.

echo'<td><a href="?name=' . $studs . '">' . $studs . '</a></td>';

9

Re: Ссылки на странице

спасибо, теперь вроде инфа появляется..но сейчас проблемка...я щелкаю на студента, выводится информация сбоку, но моя таблица  со всеми студентами пропадает

10

Re: Ссылки на странице

подскажите пожалуйста как это можно исправить

11

Re: Ссылки на странице

VitoS сказал:

подскажите пожалуйста как это можно исправить

Без скрипта я ничего подсказать не могу.

12

Re: Ссылки на странице

вот скрип с начала создания таблицы:
echo '<table border="1">';
echo "<tr><th>ФИО Студента</th></tr>";
while($row1=mysql_fetch_array($result1,MYSQL_ASSOC)){
$studs=$row1["Fio"];
echo "<tr>";
echo'<td><a href="?name=' . $studs . '">' . $studs . '</a></td>';

echo "</tr>";
}
}

echo "<input type='submit' value='Показать список' />";
echo "</form>";
echo "</table>";
echo "</div>";

if (isset($_GET['name'])) {
  // Простая проверка.
  echo '<div id=Student><p align=center>Подробно по студенту</p>$studs: ' . $_GET['name'] . '</div>';
}

13

Re: Ссылки на странице

В этом коде нет ничего странного.

14

Re: Ссылки на странице

старнно...

15

Re: Ссылки на странице

я скопирую весь код php, но думаю что там должно быть нормально:
<?php
echo '<div id=SG> <p align=center><br><br>Список группы</p> ';
include('db_login.php');
$connection=mysql_connect($db_host,$db_username,$db_password);
mysql_query('SET NAMES utf8');
if (!$connection)
{
     die('Ошибка подключения к серверу баз данных');
}
$db_select=mysql_select_db($db_database);

if (!$db_select)
{
    die('База данных не найдена или отсутствует доступ');
}

$query="select * from grupps";

$result=mysql_query($query);
if (!$result)
{
  die ("Невозможно исполнить запрос к базе данных:<br/>".mysql_error());
}
echo '<form method="post" action="">';
echo "<SELECT NAME='NomGrup1'>";
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
$nomgrup=$row["NomGrup"];
if (isset($_POST['NomGrup1']) && $_POST['NomGrup1'] == $row["NomGrup"]) {
  echo "<option value='$nomgrup' selected='selected'>$nomgrup</option>";
} else {
  echo "<option value='$nomgrup'>$nomgrup</option>";
}
}
echo"</SELECT>";
if (isset($_POST['NomGrup1'])) {
  $query1 = 'SELECT distinct Fio,stud_grup.Id_stud,NomGrup
from studs,stud_grup,grupps WHERE studs.Id_stud=stud_grup.Id_stud
AND NomGrup = ' . $_POST['NomGrup1'];


$result1=mysql_query($query1);
if (!$result1)
{
  die ("Невозможно исполнить запрос к базе данных:<br/>".mysql_error());
}
echo '<table border="1">';
echo "<tr><th>ФИО Студента</th></tr>";
while($row1=mysql_fetch_array($result1,MYSQL_ASSOC)){
$studs=$row1["Fio"];
echo "<tr>";
echo'<td><a href="?name=' . $studs . '">' . $studs . '</a></td>';

echo "</tr>";
}
}

echo "<input type='submit' value='Показать список' />";
echo "</form>";
echo "</table>";
echo "</div>";

if (isset($_GET['name'])) {
  echo '<div id=Student><p align=center>Подробно по студенту</p> ' . $_GET['name'] . ' родился </div>';
}


mysql_close($connection);
?>

16

Re: Ссылки на странице

таблица как будто сворачивается..потом нажимаешь снова на кнопку и она снова появляется

17

Re: Ссылки на странице

Таблица выводится по условию
if (isset($_POST['NomGrup1'])) {
То есть, только при клике на кнопке "Показать список".

Попробуйте для группы добавить в ссылку новый параметр
echo'<td><a href="?NomGrup1=' . $_POST['NomGrup1'] . '&name=' . $studs . '">' . $studs . '</a></td>';

И проверку делайте уже так:
if (isset($_REQUEST['NomGrup1'])) {

18

Re: Ссылки на странице

Нужно сделать так?:
if (isset($_REQUEST['NomGrup1'])) {
  echo '<div id=Student><p align=center>Подробно по студенту</p> ' . $_GET['name'] . ' родился </div>';
}

а то все по-прежнему...

19

Re: Ссылки на странице

VitoS сказал:

Нужно сделать так?

Верно. Только везде замените $_POST['NomGrup1'] на $_REQUEST['NomGrup1'].

20

Re: Ссылки на странице

if (isset($_POST['NomGrup1'])) {
  $query1 = 'SELECT distinct Fio,stud_grup.Id_stud,NomGrup
from studs,stud_grup,grupps WHERE studs.Id_stud=stud_grup.Id_stud
AND NomGrup = ' . $_POST['NomGrup1'];

в этом моменте возникает ошибка ,если я меняю POST на REQUEST

21

Re: Ссылки на странице

VitoS сказал:

в этом моменте возникает ошибка ,если я меняю POST на REQUEST

Где именно вы меняете и какая ошибка.

22

Re: Ссылки на странице

я меняю здесь:
if (isset($_REQUEST['NomGrup1'])) {
  $query1 = 'SELECT distinct Fio,stud_grup.Id_stud,NomGrup
from studs,stud_grup,grupps WHERE studs.Id_stud=stud_grup.Id_stud
AND NomGrup = ' . $_REQUEST['NomGrup1'];

и выводится ошибка

Невозможно исполнить запрос к базе данных:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

23

Re: Ссылки на странице

А что в переменной $_REQUEST['NomGrup1']? Как выглядит значение по которому из БД делается выборка?

24

Re: Ссылки на странице

В данном условии это номер группы, который в выпадающем списке выбирается

25

Re: Ссылки на странице

VitoS сказал:

В данном условии это номер группы, который в выпадающем списке выбирается

Составьте запрос с этим значением и попробуйте его выполнить в phpMyAdmin.