[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: генерация страниц по id
philcrosoft
Привет всем! прошу помощи! как сделать генерацию страницы по id, к примеру чтобы ввести в url id и получить из базы данные его имени, фото и другие! как пример так http://www.mysite.net/user_id=1
ну и скажем там и отображаются все данные первого пользователя баззы данных mysql
спасибо!



Спустя 6 минут, 52 секунды (11.01.2011 - 22:40) Игорь_Vasinsky написал(а):
для этого тебе ужно иметь БД с таблицей типа:

id | name | login | pass | year |

считываешь из GET id - и по нему выводишь днные из БД

Спустя 11 минут, 51 секунда (11.01.2011 - 22:52) philcrosoft написал(а):
Базу данных уже сделал! можно примерчик как через get id это организовать?

Спустя 17 минут, 19 секунд (11.01.2011 - 23:09) Игорь_Vasinsky написал(а):
допустим - у тя есть вывод всех пользователей по нику:

andrew
user
superpuper

естественно - это ты получил из базы по, напримр $row['user'] (ячейка user в строчке из БД)

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

<a href="user.php?id=1">andrew</a>
<a href="user.php?id=2">user</a>
<a href="user.php?id=3">superpuper</a>

т.е. - если ты знаешь ник юзера - ты так же легко - узнаёшь его id (а он у тя должен быть уникальным - auto_increment)

следовательно в цикле ты формируешь вывод:

echo "<a href='user.php?id=".$row['id']."'>".$row['user']."</a>";


и при этом формируется линк: user.php?id=1, например

ссылка ведёт на user.php:

//Если кто то сразу прыгнул на user.php (GET - же не отправлен)
if(!isset($_GET['id'])){echo "Не определён id пользователя";}
//в id - целое число - проверь на соостветствие int
elseif(!(int)($_GET['id'])){echo "Не верный id пользователя";}
else{
//потом буде запрос в БД - назначим и обезопасим переменную
$id = mysql_real_escape_string($_GET['id']);
}
теперь у тя есть $id - по которому ты и будешь делать запрс в БД для вывода инфы по юзеру.

по GET -можно отправлять несколько переменных за один раз:

пи этом -первая через ? - все последующие через &

user.php?nick=admin&name=Алексей&city=moskow

Спустя 9 минут, 46 секунд (11.01.2011 - 23:19) Игорь_Vasinsky написал(а):
вообщем - с админами покончено, решил занят себя AJAX чатом - чёт прям загарелось, потом вернусь к php.

тем более чо при входе админа - автоматом отсылаетсясообщение:

"Здрасте господин, что новый хозяин хочет?"

а для этого чат уже должен фунциклировать.

Спустя 1 минута, 24 секунды (11.01.2011 - 23:20) Игорь_Vasinsky написал(а):
кстати - ты чё тему забросил ????

http://phpforum.ru/index.php?showtopic=38845&st=15&hl=

Спустя 39 секунд (11.01.2011 - 23:21) philcrosoft написал(а):
спасибо попробую пару вопросиков ещё
а дальше вывод данных того же имени фамилии телефона идёт через функцию echo?
и всё так вот в социальных сетях человека можно найти по id в url там как это реализовывается?

Спустя 2 минуты, 35 секунд (11.01.2011 - 23:24) Игорь_Vasinsky написал(а):
Цитата

а дальше вывод данных того же имени фамилии телефона идёт через функцию echo?


ну да. тока тебе нужно в цикле прогонять всю таблицу для поиска нужного id
прочитай об этом "Вывод данный из БД mysql php"


Цитата
и всё так вот в социальных сетях человека можно найти по id в url там как это реализовывается?


тоже да + там критерии поиска ещё отсылаются, как я писал ранее

Спустя 2 минуты, 3 секунды (11.01.2011 - 23:26) philcrosoft написал(а):
стыдно спросить как дальше прописать вывод этих данных ... только учусь )))

Спустя 4 минуты, 4 секунды (11.01.2011 - 23:30) Игорь_Vasinsky написал(а):
на это вот ответь

Цитата
кстати - ты чё тему забросил ????

http://phpforum.ru/index.php?showtopic=38845&st=15&hl=




про вывод вот почитай

http://phpforum.ru/index.php?showtopic=21916

Спустя 14 минут, 55 секунд (11.01.2011 - 23:45) philcrosoft написал(а):
Спасибо! но я то что-т по теме ненашёл (((

Спустя 3 минуты, 17 секунд (11.01.2011 - 23:48) Игорь_Vasinsky написал(а):
почему это ??????????

Там про вывод из БД

1. Подключение к БД
2. Формирование запроса в БД
3. Формирование вывода в цикле

как раз то что те и надо.

и чё вопрос игнорируешь ??? огорчусь!

Спустя 3 минуты, 39 секунд (11.01.2011 - 23:51) philcrosoft написал(а):
хех ... это тема не моя? так что это не я ее забрасывал )))

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

Спустя 4 минуты, 26 секунд (11.01.2011 - 23:56) philcrosoft написал(а):
ладно скажу прямо! помогите написать полностью этот user.php )))

Спустя 9 минут, 18 секунд (12.01.2011 - 00:05) Игорь_Vasinsky написал(а):
Цитата
хех ... это тема не моя? так что это не я ее забрасывал )))



пардон... в глазах уже рябит значит.

Ну вот смотри что там:

1. Для начала нужно подключиться к БД:


<?php
// Константы для подключения к СУБД
define("HOST","localhost"); // сервер БД (на денвере по умолчанию)
define("USER","root"); // логин администратора MySQL (по умолчанию)
define("PASS",""); // пароль MySQL (пустой по умолчанию)
define("DB","my_database"); // Имя БД

// Подключение к СУБД

$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());
// Выбираем базу данных
mysql_select_db(DB, $link);


2. Далее нужно сформировать SQL запрос к БД:

// Формируем строку для запроса к нашей базе данных
// Не забывайте обрамлять имена таблиц и полей обратными кавычками`TABLE`
// давай на твоём примере

$sql = "SELECT * FROM `users` WHERE `id` = '".$id."'";
// Скармливаем наш запрос MySQL
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);


3. А делее нужно организовать вывод данных на страницу:

echo "<table>";
//$row - ассициот. массив - куда будуть загружены данные из всей строки с соответствующим $id (ячейка => елемент массива)
while ($row = mysql_fetch_assoc($result)){
<tr>
<
td>".$row['id']."</td>
<
td>".$row['name']."</td>
<
td>".$row['login']."</td>
<
td>".$row['pass']."</td>
</
tr>
}
</table>
?>


вот по этому шаблону и делай

если те нужен вывод всех пользователей из БД - то запрос без условий:

$sql = "SELECT * FROM `users` WHERE `id` = '".$id."'";

т.е.

$sql = "SELECT * FROM `users`";



эксперементируй.

Спустя 56 секунд (12.01.2011 - 00:06) Игорь_Vasinsky написал(а):
не.. так толку нет. ты пробуй писать - будут ошибки - говори, я ещё 1 час в онлайне, и завтра и потом... вообщем - помогу.

Спустя 2 минуты, 43 секунды (12.01.2011 - 00:09) philcrosoft написал(а):
спасибо! нет всех пока не надо! но с этим уже разобрался! твой код попробую )

Спустя 1 минута, 32 секунды (12.01.2011 - 00:10) philcrosoft написал(а):
Цитата (Игорь_Vasinsky @ 11.01.2011 - 21:06)
не.. так толку нет. ты пробуй писать - будут ошибки - говори, я ещё 1 час в онлайне, и завтра и потом... вообщем - помогу.

роектик у меня огромный и столько задач стоит уйма просто! поэжтому ждите моих коварных вопросов )))

Спустя 1 минута, 36 секунд (12.01.2011 - 00:12) Игорь_Vasinsky написал(а):
измени название БД под свою
измени название столбцов под свои
организуй вывод как те нужно.

этот алгоритм - твой, но есть несоответствие по названиям.

Цитата
роектик у меня огромный и столько задач стоит уйма просто! поэжтому ждите моих коварных вопросов )))


если чё в личку пиши. поможем.

Спустя 22 минуты, 37 секунд (12.01.2011 - 00:35) philcrosoft написал(а):
всё разобрался! в мою небольшую копилку знаний пополнил!

Спустя 1 минута, 54 секунды (12.01.2011 - 00:37) Игорь_Vasinsky написал(а):
молодец.

Спустя 1 день, 21 час, 26 минут, 17 секунд (13.01.2011 - 22:03) philcrosoft написал(а):
Так с выводом по ID разобрался ))) теперь задача такая чтобы сделать рейтинг этого профиля по id, сам рекйтинг сделан, не могу лишь правильно совместить код вывода и вывод рейтинга

вот сам вывод данных по id


<?php

mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("users") or die(mysql_error()) ;
// ...


$id = isset($_GET['id']) ? (int)$_GET['id']: false;
if(!isset($_GET['id'])){echo "Right";}
elseif(!(int)($_GET['id'])){echo "The id does not exist";}else{
$id = mysql_real_escape_string($_GET['id']); }
$sql = "SELECT * FROM `users` WHERE `id` = '$id'";
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
while ($row = mysql_fetch_assoc($result)){

Echo $row['name'];
Echo $row['surname'];
Echo $row['photo'];

}

?>


и код голосовалки с пятью звёздочками


<link rel="stylesheet" type="text/css" href="style.css">
<
script type="text/javascript" src="jquery.js"></script>
<
script type="text/javascript" src="script.js"></script>


<?php

// Connects to your Database

mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("test") or die(mysql_error()) ;

$query = mysql_query("SELECT * FROM test");

while($info = mysql_fetch_array($query)) {
$rating = (int)$info[rating];
?>


<table border="0" width="135" cellspacing="0" cellpadding="0" height="21">
<
tr>
<
td width="1">

<
td id="rating_<?php echo $info[id]; ?>" style="width: 88px; height: 21px">
<
span class="star_1"><img src="star_blank.png" alt="" <?php if($rating > 0) { echo"class='hover'"; } ?> /></span>
<
span class="star_2"><img src="star_blank.png" alt="" <?php if($rating > 1.5) { echo"class='hover'"; } ?> /></span>
<
span class="star_3"><img src="star_blank.png" alt="" <?php if($rating > 2.5) { echo"class='hover'"; } ?> /></span>
<
span class="star_4"><img src="star_blank.png" alt="" <?php if($rating > 3.5) { echo"class='hover'"; } ?> /></span>
<
span class="star_5"><img src="star_blank.png" alt="" <?php if($rating > 4.5) { echo"class='hover'"; } ?> /></span></td>

</
td></td>
<
td class="floatleft" width="46" align="left">(<?echo $info[rating]; ?>)
</
td>

<?
}
?>


в общем прошу помощь объеденить! спасибо )

Спустя 1 день, 1 час, 40 минут (14.01.2011 - 23:43) Игорь_Vasinsky написал(а):
сделать через <a href></a> - по той или иной звезде и отправлять на страницу (с GET ) - на этой странице -добовлять в поле реитинга значение.

т.е. при клике например третьей звезды - те нужно редиректить на страницу по ссылке - take_rating.php?rating=3&id=98

добавить 3 - к рейтингу юзера с id=98 и редирект обратно.


<span class="star_1"><a href='take_rating.php?rating=1&id=".row['id']."
'
><img src="star_blank.png" alt="" <?php if($rating > 0) { echo"class='hover'"; } ?> /></a></span>
...
...
...
<
span class="star_5"><a href='take_rating.php?rating=10&id=".row['id']."
'
><img src="star_blank.png" alt="" <?php if($rating > 4.5) { echo"class='hover'"; } ?> /></span>


а на take_rating.php - считывать GET и писать в базу.

а сортировка при выводе:

$sql = "SELECT * FROM `users` WHERE `id` = '$id' ORDER BY `rating` DESC";
или по в обратном порядке (смени DESC на ASC)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.