X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Вывод данных из БД через GET
kuperr87
kuperr87
Topic Starter сообщение 21.6.2013, 14:00; Ответить: kuperr87
Сообщение #1


Здравствуйте, в php начал разбираться недавно, поэтому прошу помощи:

есть таблица в БД со столбцами: idd (AUTO_INCREMENT), url(varchar), title(varchar)

есть файл index.php:
[PHP]
<?php
include ("../blocks/dis/begin.php");
header('Content-Type: text/html; charset=windows-1251');
include ("../blocks/connect_db_intresting.php"); //Подключаюсь к базе

$idd = isset($_GET['idd']) ? (int) $_GET['idd'] : 0; //

$res_cat = mysql_query('SELECT * FROM `kartinki` WHERE `idd` = ' . $idd);

mysql_select_db($db_name) || die('Нет базы');
$row = mysql_fetch_array($res_cat);


echo '<title>' .$row['title']. '</title>
<meta name = "description" content = "' .$row['title']. '" />';
include ("../blocks/dis/head.php");
include ("../blocks/dis/menu_top.php");
include ("../blocks/dis/ssilki.php");
echo '
<center>
<table cellspacing=0 class="main_actors">
<tr>
<td colspan="2" class="bottom_border">
<table cellspacing=0 class="first_actors">
<tr>
<td class="first_actors_td">
<img src="http://justclickit.ru/actors/image/logo_small.gif">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="main_actors_left_td">';
include ("../blocks/dis/left_menu_actors.php");
echo '
</td>
<td class="table_actors">
<table class="table_content_actors">
<tr>
<td>
<h1 class="actors">' .$row['title']. '</h1>
</td>
</tr>
<tr>
<td>';
include ('person.php');
echo '
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>';

include ("../blocks/dis/bottom.php");

?>[/PHP]

Сейчас при загрузке страницы вида index.php?idd=34 - выводится всё как надо

Никак не могу разобраться:
1. Можно ли сделать выборку из базы, только не по "idd", а например по столбцу "url", но только, чтобы значение для выборки он брал также через параметр GET (т.е. в строке пишу index.php?url=apple и он из столбца "url" нашёл значение apple и вывел именно эту строку)?
2. И как можно сделать так, чтобы в зависимости от того, что введено в адресную строку, он сразу понимал в каком столбце искать, например: если вводится index.php?idd=34, то он находит этот idd и выводит данную строку, если же вводится index.php?url=apple, то он ищет в столбце "url" и выводит уже эту строку?

Надеюсь, понятно объяснил.. Если что-то непонятно или не хватает информации - постараюсь уточнить
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
сообщение 21.6.2013, 14:13; Ответить: Wins
Сообщение #2


Судя по всему вы хотите чпу ссылки. Для этого, как вариант используется .htaccess и обработка на php
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kuperr87
kuperr87
Topic Starter сообщение 21.6.2013, 14:20; Ответить: kuperr87
Сообщение #3


чпу - это как я понимаю отображение ссылки в браузере, а мне непонятно, как сделать именно сам запрос к базе
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
сообщение 21.6.2013, 14:32; Ответить: Wins
Сообщение #4


Тут не совсем все так просто,одним запросом к базе не обойтись. Перенаправление нужно сделать через .htaccess, в пхп по id вытянуть url. Но это так на словах. В разделе пхп есть темы по чпу, там есть пример реализации, который я приводил. Там впринцепи есть готовый код.

тут посмотрите http://www.html.by/threads/30721-CHPU-ili-...azhdoj-stranicy

И idd измените на id
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kuperr87
kuperr87
Topic Starter сообщение 21.6.2013, 14:39; Ответить: kuperr87
Сообщение #5


хорошо, спасибо, сейчас гляну
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
сообщение 21.6.2013, 14:39; Ответить: Licoric
Сообщение #6


(kuperr87 @ 21.6.2013, 17:20) *
чпу - это как я понимаю отображение ссылки в браузере, а мне непонятно, как сделать именно сам запрос к базе

ЧПУ это человеко-понятный-урл.
http://ru.wikipedia.org/wiki/%D0%A7%D0%9F%...%D0%B5%D1%82%29

Если это прямо таки надо для людей, то подумай, насколько это актуально. Мне, если честно, пофиг на ссылки. Какие они будут по факту.
Если надо для поисковиков, то после ссылки передавай за диезом название. Например:
index.php?id=57#русские поезда самые поездатые поезда на свете

В коде просто подставляй переменную.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
сообщение 21.6.2013, 14:52; Ответить: Wins
Сообщение #7


(Licoric @ 21.6.2013, 17:39) *
Мне, если честно, пофиг на ссылки.


Ну да, по сути от этих чпу уже давно нет никакого толку. Людям абсолютно всерано, какой вид имеет урл, поисковики давно индексируют подобные урл index.php?id=57.

Я когда с этим заморачивался,только из-за красоты урла.А так и без них можно спокойно жить.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kuperr87
kuperr87
Topic Starter сообщение 21.6.2013, 15:02; Ответить: kuperr87
Сообщение #8


Наверное, я не совсем понятно поставил задачу. Отображение самих ссылок мне неважно. Вот представьте, у меня есть таблица с 3 столбцами: id, vid, title. id нумеруется автоматически, vid и title - я задаю сам. Значения в столбце vid будут: vid1 и vid2 (т.е. все записи будут иметь значение либо vid1 либо vid2 ). Как мне теперь, введя в адресную строку ссылку вида index.php?vid=vid1 , вывести на странице все строки, в столбце которых он найдёт vid1 ? Если же ссылка будет index.php?vid=vid2 , то он должен выбрать все строки где есть vid2
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
сообщение 21.6.2013, 15:24; Ответить: Wins
Сообщение #9


Теперь вообще ничего непонятно,что нужно то.

Хотя вроде вам нужно так

[PHP] if (isset($_GET['vid'])) {$vid= $_GET['vid']; }[/PHP]

[PHP]$res_cat = mysql_query('SELECT * FROM `kartinki` WHERE `idd` = '. $vid);[/PHP]

но опять же, я не до конца понял что нужно, поэтому могу ошибаться.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kuperr87
kuperr87
Topic Starter сообщение 21.6.2013, 15:40; Ответить: kuperr87
Сообщение #10


(Wins @ 21.6.2013, 18:24) *
Теперь вообще ничего непонятно,что нужно то.

Хотя вроде вам нужно так

[PHP] if (isset($_GET['vid'])) {$vid= $_GET['vid']; }[/PHP]

[PHP]$res_cat = mysql_query('SELECT * FROM `kartinki` WHERE `idd` = '. $vid);[/PHP]

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


всё поняли правильно, как раз то, что нужно, только я так пробовал и почему-то он не выводит данные. Если в ваш пример вместо vid подставить id, то всё нормально выводится. Вот я никак не пойму где подвох, чем столбец id отличается от другого?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыBropush - Твой бро в монетизации через Push-уведомления
30 bropush 11842 16.4.2024, 18:19
автор: bropush
Открытая тема (нет новых ответов) Интеграция спортивных данных API. Коэффициенты БК, Live результаты
15 yaroslav89 6860 8.4.2024, 17:17
автор: spoyer_ru
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 2357 23.3.2024, 7:41
автор: Room
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 98238 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ
[Чарджбек|Рекавери|Возврат]
9 Leado 3905 9.2.2024, 16:04
автор: baza0013


 



RSS Текстовая версия Сейчас: 23.4.2024, 19:15
Дизайн