Jump to content
  • 0

Вывод конкретной информации


necro
 Share

Question

Доброго времени суток. Возник вопрос. Есть страница, на которой выводится инфа обо всех зарегистрированных пользователях:

echo "<center><H3>Просмотр всех зарегистрированных</H3></center>";
$result=mysql_query("SELECT * FROM user");
$myrow=mysql_fetch_array($result);
do
{
printf("<center><h3>Пользователь:<br/> %s<br/>%s<br/><a href='userinfo.php' style='margin-left:40px;'>Вся инфа</a><hr/></h3></center>",$myrow['site'],$myrow['email']);
}
while ($myrow =mysql_fetch_array($result));
}

Ну и там есть ссылка, которая открывает новую пхп страницу, как мне на этой странице вывести данные именно об этом пользователе. Только начал изучение пхп и mysql поэтому затрудняюсь в решении этого вопроса.

Edited by necro
Link to comment
Share on other sites

21 answers to this question

Recommended Posts

  • 0


if(isset($_GET['uid'])
{
$result=mysql_query("SELECT * FROM user WHERE id='".$_GET['uid']."'");
if($myrow=mysql_fetch_array($result))
{
print('<center><h3>Пользователь:<br/>'.$myrow['site'].'<br />'.$myrow['email'].'<br /><br/><a href="userinfo.php?uid='.$myrow['id'].'" style="margin-left:40px;">Вся инфа</a><hr/></h3></center>');
}
}
else
{
$result=mysql_query("SELECT * FROM user");
while ($myrow=mysql_fetch_array($result))
{
print('<center><h3>Пользователь:<br/>'.$myrow['site'].'<br />'.$myrow['email'].'<br /><br/><a href="userinfo.php?uid='.$myrow['id'].'" style="margin-left:40px;">Вся инфа</a><hr/></h3></center>');
}
}

Это если на пальцах. Не забудьте о фильтрации входных данных + вёрстка, конечно, оставляет желать лучшего

Edited by br3t
Link to comment
Share on other sites

  • 0

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

upd:

это конечно глупо, но

syntax error, unexpected '{'

там все нормально или есть ещё что-то чего я не знаю или же я просто слеп, но там же нет ничего лишнего и хватает так же всего. Почему ругается.

Edited by necro
Link to comment
Share on other sites

  • 0

Ну, мне трудно судить, что у вас в исходнике

В любом случае в ошибке должен быть указан номер строки в файле

Выложите свой исходник на http://jsfiddle.net/ , попробую разобраться, что у вас там

Link to comment
Share on other sites

  • 0

Вот весь текст этого файла

<?session_start();
require_once('connect.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Регистрация</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" href="styles/registration.css" type="text/css" media="screen, projection" />
<head>
<body>
<?
if($_SESSION['type'] =='admin')
{
echo "<center><h1>Здравствуйте, ".$_SESSION['login']."</center></h1>";
echo "<center><H3>Просмотр всех зарегистрированных</H3></center>";
$result=mysql_query("SELECT * FROM user");
$myrow=mysql_fetch_array($result);
do
{
printf("<center><h3>Пользователь:<br/> %s<br/>%s<br/><a href='' style='margin-left:40px;'>Вся инфа</a><hr/></h3></center>",$myrow['site'],$myrow['email']);
}
while ($myrow =mysql_fetch_array($result));
}
else
{
echo "<center><h3>Извините, но вы не имеете доступа к админ-панели</h3></center>";
}
?>
</body>
</html>

А когда пробую с вашим кодом ошибку дает после первой строки, т.е.

if(isset($_GET['uid'])

Link to comment
Share on other sites

  • 0

а) Код http://jsfiddle.net/br3t/bBe95/1/

б) Какую ошибку?

в) Я не знаю, что в вашей таблице user, возможно, у вас там нет id - тогда вместо него нужно подставить уникальный идентификатор юзера

Edited by br3t
  • Like 1
Link to comment
Share on other sites

  • 0

syntax error, unexpected '{'

вот эта ошибка, но вроде все нормально, поэтому и написал тут.

таблица



CREATE TABLE IF NOT EXISTS `user` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`naimenovanie` varchar(40) DEFAULT NULL,
`fioruk` varchar(100) DEFAULT NULL,
`email` varchar(40) DEFAULT NULL,
`site` varchar(40) NOT NULL,
`naspunkt` varchar(40) NOT NULL,
`oblast` varchar(40) NOT NULL,
`postindex` varchar(20) NOT NULL,
`ulica` varchar(40) NOT NULL,
`dom` varchar(10) NOT NULL,
`numberofis` varchar(10) NOT NULL,
`telefon` varchar(20) NOT NULL,
`regorgan` varchar(40) DEFAULT NULL,
`regdata` varchar(20) DEFAULT NULL,
`login` varchar(20) NOT NULL,
`pass` varchar(40) NOT NULL,
`type` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=16 ;

upd:

Вроде нормально работает, но когда нажимаю инфа о пользователе, то выдает.

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

Именно когда уже нажимаю "вся инфа"

upd2:

в userinfo поменял кодировку вроде все заработало, только выводит пустую страницу, так и должно быть? Теперь в файле userinfo строчить запрос? Или что-то должно выводить по идее?

Edited by necro
Link to comment
Share on other sites

  • 0

Нет это дело в кодировке, я уже исправил, все работает, все выводит, со всем разобрался, большое спасибо.

И ещё небольшой вопрос. У меня идет 3 вида регистрации, в каждом виде какие то пункты есть каких то нету. Вот я вывожу инфу:

 print('<center><h3>Пользователь:<br/>'.$ myrow['site'].'<br />'.$myrow['email'].'<br /><br/><a href="userinfo.php?uid='.$myrow['id'].'" style="margin-left:40px;">Вся инфа</a><hr/></h3></center>');     }

Ну тут только два пункта, но на деле их куда больше.

Туда я запишу вообще все поля, которые будут в таблице, если я буду выводить данные о пользователе, а у него каких-то полей нету, можно ли сделать так, чтобы это поле просто не выводилось?

Link to comment
Share on other sites

  • 0

лучше уж тогда

echo '<center><h3>Пользователь:<br/>'.(empty($myrow['site']) ? '' : $myrow['site']).'<br />'.(empty($myrow['email']) ? '' : $myrow['email']).'<br /><br/><a href="userinfo.php?uid='.(empty($myrow['id']) ? '' : $myrow['id']).'" style="margin-left:40px;">Вся инфа</a><hr/></h3></center>';

Link to comment
Share on other sites

  • 0

$myrow=mysql_fetch_array($result);
do
{

}
while ($myrow =mysql_fetch_array($result));

Объясните мне смысл такого странного поведения автора

while ($myrow = mysql_fetch_array($result))
{

}

Чем такой код хуже?

Макс, это не хуже и не лучше - это Попов.

Link to comment
Share on other sites

  • 0

$myrow=mysql_fetch_array($result);
do
{

}
while ($myrow =mysql_fetch_array($result));

Объясните мне смысл такого странного поведения автора

while ($myrow = mysql_fetch_array($result))
{

}

Чем такой код хуже?

do{
...
}while()

заставляет обязательно совершить цикл как минимум 1 раз

while () {
...
}

выполняется только если условия в while равны true

можно предположить, что вся верстка может навернуться, если не вывести этот код хотя-бы без имени пользователя :)

Edited by NeoXidizer
Link to comment
Share on other sites

  • 0
можно предположить, что вся верстка может навернуться, если не вывести этот код хотя-бы без имени пользователя :)
знатная, видать, вёрстка, с <center>. Наверное, там ещё <body bgcolor=> и <font>. И конструкции типа <td valign="top" border="0" style="color:#000;">
Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

Подскажите пожалуйста, кодировка php файлов стоит utf без bom, в базе utf8_general_ci. В базу заносились иероглифы,если писал русские буквы, написал

mysql_query('SET NAMES UTF8');

стало все нормально, но при выводе данных непосредственно на сайте, вижу только вопросы ?? вот такие. Как исправить?

Link to comment
Share on other sites

  • 0

Подскажите пожалуйста, кодировка php файлов стоит utf без bom, в базе utf8_general_ci. В базу заносились иероглифы,если писал русские буквы, написал

mysql_query('SET NAMES UTF8');

стало все нормально, но при выводе данных непосредственно на сайте, вижу только вопросы ?? вот такие. Как исправить?

А при выводе указываете 'SET NAMES UTF8'?

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy