Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с индексами (или ключами?)
 
 автор: Arkanum   (24.08.2005 в 20:10)   письмо автору
 
 

Некоторое время решил плотненько занятся изучением пхп. Развить себя хоть немного.
Так вот застрял на воплощении индексов в реальность.
Я говорю про урлы типа http://.../index.php?id=1..?=id2..?id=3
Читаю книжку. В ней описан настолько громоздкий пример, что сориентироваться на то что мне нужно из этой статьи и что абсолютно не входит в мои нынешнии планы изучения.

Хочется на простом примере понять внутреннюю работу.
Просто перспектива вручную вписывать через ".$row[0,1...n ]." на каждый *.php меня не прельщает. Уже хочется более удобного метода.

   
 
 автор: cheops   (24.08.2005 в 20:31)   письмо автору
 
   для: Arkanum   (24.08.2005 в 20:10)
 

А какова цель - параметры командной строки можно использовать для решения многих задач. Какую задачу решаете вы?

   
 
 автор: Arkanum   (24.08.2005 в 20:48)   письмо автору
 
   для: cheops   (24.08.2005 в 20:31)
 

Моя цель носит характер выборки данных из БД и внос их в шаблон кода типа:

<?php
include (''header.php');

...код...

include ('
footer.php');
?>


...и так для каждой странице.

   
 
 автор: cheops   (24.08.2005 в 21:09)   письмо автору
 
   для: Arkanum   (24.08.2005 в 20:48)
 

А в чём затруднения:
1) Динамическом формировании SQL-запроса при передаче странице параметров http://.../index.php?id=1..?=id2..?id=3
2) Организация постраничной навигации
3) Передаче странице нескольких параметров?

   
 
 автор: Arkanum   (24.08.2005 в 21:14)   письмо автору
 
   для: cheops   (24.08.2005 в 21:09)
 

1) Динамическом формировании SQL-запроса при передаче странице параметров http://.../index.php?id=1..?=id2..?id=3

и метод распознавания этих параметров.

   
 
 автор: Киналь   (24.08.2005 в 22:00)   письмо автору
 
   для: Arkanum   (24.08.2005 в 21:14)
 

Наверное, речь о $_GET.

Если урл такой: index.php?id=1, то

$id=$_GET['id'];
echo $id; //выведет 1

   
 
 автор: Arkanum   (24.08.2005 в 22:13)   письмо автору
 
   для: Киналь   (24.08.2005 в 22:00)
 

Да нет, мне надо чтобы, пусть в ручную, при подставлении цифры после равенства, т.е. index.php?id=1 или index.php?id=2, выводилась соответствующие строке индекса пункты.

Допустим таблица. В ней строка, в которой пункты:
- - -
id, subj, text, date.
- - -
1, Тема-1, Текст-1, Дата-1.
2, Тема-2, Текст-2, Дата-2.
- - -

При указании ../index.php?id=1 выводилась страница с row['subj'], row['text'].
А при указании ../index.php?id=2 выводилась информация, соответствующая указанному ID.

   
 
 автор: Киналь   (24.08.2005 в 22:21)   письмо автору
 
   для: Arkanum   (24.08.2005 в 22:13)
 

Дык, об том и речь... Но это уже другая задача, для мускула. Вот у вас есть $id, как описано выше. Тогда

mysql_query("SELECT * FROM tbl_name WHERE id='$id'");

tbl_name - имя таблицы.
НО! Так делать нельзя. Сначала нужно эту самую $id проверить на безопасность. В принципе, здесь достаточно

<?
if (!is_int($id)) die("Гы-гы, хацкер!");
?>

Но можно и еще как-нибудь, для верности.

   
 
 автор: Arkanum   (25.08.2005 в 13:05)   письмо автору
 
   для: Киналь   (24.08.2005 в 22:21)
 

А каким образом производится вывод этого id в коде?
Чтобы при вводе в строке броузера /?id=1 строка шла в БД, там обрабатывалась и возвращала нужные данные уже в echo.

$request = "SELECT * FROM tbl_name WHERE id='$id'";
$result = mysql_query($request);
$row = mysql_fetch_array($result);

   
 
 автор: Киналь   (25.08.2005 в 13:10)   письмо автору
 
   для: Arkanum   (25.08.2005 в 13:05)
 

.

   
 
 автор: Киналь   (25.08.2005 в 13:11)   письмо автору
 
   для: Arkanum   (25.08.2005 в 13:05)
 

Так вы уже все и написали. Теперь у вас есть массив $row с индексами, совпадающими с именами столбцов, т.е. id, subj, text, date.

echo $row['id'].'<br>'.$row['subj'].'<br>'.$row['text'].'<br>'.$row['date'];

   
 
 автор: Arkanum   (25.08.2005 в 13:41)   письмо автору
 
   для: Киналь   (25.08.2005 в 13:11)
 

чёт трабла.
Выписывается на строку $request = "SELECT * FROM news WHERE id='$id'";
ошибка: Undefined variable: id

   
 
 автор: Киналь   (25.08.2005 в 16:07)   письмо автору
 
   для: Arkanum   (25.08.2005 в 13:41)
 

Не определена переменная $id. Для ее определения нужно:
- вызвать скрипт как index.php?id=4
- записать $id=$_GET['id'];
Что-то из этого не выполнено.

   
 
 автор: Arkanum   (26.08.2005 в 14:45)   письмо автору
 
   для: Киналь   (25.08.2005 в 16:07)
 

С меня ящик водки!
Спасибо огромное. Всё работает :)

   
 
 автор: Киналь   (26.08.2005 в 18:00)   письмо автору
 
   для: Arkanum   (26.08.2005 в 14:45)
 

Хе=) Не за что)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования