Официальный сайт студ.городка НГТУ
Программирование и БД » [MySQL] Нипонятно :( 

#1  04.12.07 15:47

M16
Профиль

[MySQL] Нипонятно :(

Первый запрос работает отлично

Код: php:

	if ($db = @mysql_connect('localhost','user','pass'))
		{
			mysql_select_db('bname',$db);
			$result=mysql_query('SELECT * FROM table WHERE table.id=4', $db);		
    				$row = mysql_fetch_assoc($result);		
					$id = $row['id'];
					$author = $row['author'];
					$time = $row['time'];
					$ip = $row['ip'];
 
 
		}
	mysql_close($db);

А вот этот не работает переменная $id передаеться через GET  если index.php?id=4
то данный запрос не сработает подскажите что может быть не так я хз уже (дело не в кавычках (") т.к. пробовал и сними и без них )

Код: php:

	if ($db = @mysql_connect('localhost','user','pass'))
		{
			mysql_select_db('bname',$db);
			$result=mysql_query('SELECT * FROM table WHERE table.id="$id"', $db);		
    				$row = mysql_fetch_assoc($result);		
					$id = $row['id'];
					$author = $row['author'];
					$time = $row['time'];
					$ip = $row['ip'];
 
 
		}
	mysql_close($db);

Исправлено M16 (04.12.07 15:48)

Offline

#2  04.12.07 16:43

Re: [MySQL] Нипонятно :(

register_global off?
$_GET["id"] не пробовал?

Offline

#3  04.12.07 17:34

Re: [MySQL] Нипонятно :(

'SELECT * FROM table WHERE table.id="$id"'
если в апострофах, то переменные не подставляются... попробуй так:

Код: php:

"SELECT * FROM table WHERE table.id='".$id."'"

Offline

#4  04.12.07 17:44

Re: [MySQL] Нипонятно :(

Код::

$id = intval($_GET["id"]);
'SELECT * FROM table WHERE table.id="'.$id.'"'

так лучше

Offline

#5  04.12.07 18:21

M16
Профиль

Re: [MySQL] Нипонятно :(

XuMiX написал(а):

Код::

$id = intval($_GET["id"]);
'SELECT * FROM table WHERE table.id="'.$id.'"'

так лучше

СПАСИБО!!!!! ЗАРАБОТАЛО :)

Offline

#6  04.12.07 19:05

Re: [MySQL] Нипонятно :(

M16, вот тебе еще, плохой стиль, но кратко и наиболее правильно из всего ;)

Код: php:

$id = isset($_GET["id"]) ? intval($_GET["id"]) : 0;

Offline

#7  04.12.07 19:27

Re: [MySQL] Нипонятно :(

а пошто

XuMiX написал(а):

плохой стиль

?

Offline

#8  04.12.07 19:43

Re: [MySQL] Нипонятно :(

iDrum, потому что хороший стиль в данном случае:

Код: php:

$id = 0;
if (isset($_GET["id"]))
    $id = intval($_GET["id"]);

ну, и читаемость хуже

Offline

#9  05.12.07 00:13

M16
Профиль

Re: [MySQL] Нипонятно :(

XuMiX написал(а):

iDrum, потому что хороший стиль в данном случае:

Код: php:

$id = 0;
if (isset($_GET["id"]))
    $id = intval($_GET["id"]);

я так сделал :)

Offline

#10  05.12.07 00:14

M16
Профиль

Re: [MySQL] Нипонятно :(

а вот еще вопросик как выводить данные из этого запроса постранично чтобы небыло бесконечно длинного списка

Offline

#11  05.12.07 09:28

Re: [MySQL] Нипонятно :(

читай мануал по SELECT и его параметры (LIMIT, например)

Offline

#12  05.12.07 22:58

Re: [MySQL] Нипонятно :(

XuMiX написал(а):

$id = isset($_GET["id"]) ? intval($_GET["id"]) : 0;

сложно слишком

$id = (int) $_GET['id'];

Offline

#13  06.12.07 07:56

Re: [MySQL] Нипонятно :(

Antony, если не будет $_GET['id'] — получишь нотис

Offline

#14  06.12.07 08:34

Re: [MySQL] Нипонятно :(

еще можно писать вот так: "SELECT * FROM table WHERE table.id='{$id}'"

Offline

#15  06.12.07 09:44

Re: [MySQL] Нипонятно :(

Matrim написал(а):

еще можно писать вот так

я в книге по ПХП5 читал, что даже предпочтительней...

Offline

#16  06.12.07 10:45

Re: [MySQL] Нипонятно :(

Antony написал(а):

XuMiX написал(а):

$id = isset($_GET["id"]) ? intval($_GET["id"]) : 0;

сложно слишком

$id = (int) $_GET['id'];

А по моему лучше так

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

Offline

#17  06.12.07 11:02

Re: [MySQL] Нипонятно :(

A-Lex, а Хихимик сказал что это муветон :)

Offline

#18  06.12.07 18:40

M16
Профиль

Re: [MySQL] Нипонятно :(

народ подкиньте примерчик с выводом данных постранично
ато ваще ниче не понял что на www.php.net написано :(

Offline

#19  06.12.07 18:59

Re: [MySQL] Нипонятно :(

XuMiX написал(а):

получишь нотис

не смог воспроизвести (при error_reporting  E_ALL)

Offline

#20  06.12.07 19:04

Re: [MySQL] Нипонятно :(

M16,

Код::

SELECT * FROM table LIMIT  0, 30

вроде так.

Исправлено Rastaman (06.12.07 19:04)

Offline

#21  06.12.07 19:08

Re: [MySQL] Нипонятно :(

простой, тупой и небезопасный пример
http://www.softtime.ru/info/articlephp. … article=33

а вообще
http://www.google.ru/search?q=php+%D0%B … 0%B8%D1%8F

Исправлено A-Lex (06.12.07 19:10)

Offline

#22  06.12.07 19:10

Re: [MySQL] Нипонятно :(

Код: php:

$page = (int) $_GET['page'];
if (!$page) $page = 1;
if (!$lines_per_page) $lines_per_page = 20;
 
$start_line = $lines_per_page * ($page - 1);
 
$query = "select count(id) as id from hz_table where id = $id";
$result = $mdb2->query($query);
$row = $result->fetchRow();
 
$total_lines = $row['id'];	
$num_of_pages = ceil($total_lines / $lines_per_page);
 


а потом

Код: php:

$query = "select * from hz_table where id=$id limit $start_line, $lines_per_page";



таким образом имеем все необходимые данные для постраничного разбиения

З.Ы. в коде используется sql запрос при помощи pear модуля mdb2. В твоём случае проще будет напрямую через функции пхп

Offline

#23  07.12.07 00:24

M16
Профиль

Re: [MySQL] Нипонятно :(

спасибо

Offline

#24  07.12.07 09:58

Re: [MySQL] Нипонятно :(

Antony, я вот щас на хостеле сделал

Код: php:

<?php
error_reporting(E_STRICT);
$page = $_GET['page'];
?>

и не получил при этом нотиса, но это же не значит, что его нет ;)

Offline

#25  11.12.07 21:34

M16
Профиль

Re: [MySQL] Нипонятно :(

У меня появился еще 1 вопросик каким образам можно сделать кнопки "следующий"  "преведщий"  если id идут попорядку но! не 1,2,3,4  а допустим 1,4,8,9,27,163,165

в первом случие понятно что будет  '".$id."-1'   '".$id."+1'
но как быть если у меня 2-ая ситуация?

Offline

#26  12.12.07 10:36

Re: [MySQL] Нипонятно :(

Offline

Программирование и БД » [MySQL] Нипонятно :( 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.177 сек.
Выполнено 14 запросов.