Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: вывод отределенной строки из БД через ссылку
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: как передать переменную
23Rus
Отправлено: 14 Июня, 2007 - 01:21:55
Post Id



Смотрящий


Покинул форум
Сообщений всего: 582
Дата рег-ции: Апр. 2005  
Откуда: Дивный

Карма 1




исходные данные:

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

вопрос:

как это реализовать, как передать переменную на страницу, чтоб потом сделать запрос по этой переменной, скорее всего по ключевому полю?
 
 Top
Furax
Отправлено: 14 Июня, 2007 - 03:47:36
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




23Rus
Ну, насколько я понимаю, надо делать что-то в этом роде:
CODE:
<?php
$preview=TRUE;
$query='select * from tableName';

if (iSet($_GET['id']))
{
$id=(int)$_GET['id];
if (!is_NaN($id))
{
$query.=' where id='.$id;
$preview=FALSE;
}
$result=mysql_query($query);

if (mysql_error($result) || (mysql_num_rows($result)==0))
print 'По вашему запросу ничего не найдено!';
else
{
if ($preview)
while ($row=mysql_fetch_assoc($result))
print '<a href="'.$_SERVER['PHP_SELF'].'?id='.$row['id]'.'">'.$row[description].'</a><br>';
else
{
$row=mysql_fetch_assoc($result);
print '<...>';
}
}
По крайней мере, я бы сделал что-нибудь в этом роде. Только не уверен, что нигде не ошибся - ещё недостаточно хорошо знаю синтаксис PHP...
 
 Top
23Rus
Отправлено: 15 Июня, 2007 - 04:23:39
Post Id



Смотрящий


Покинул форум
Сообщений всего: 582
Дата рег-ции: Апр. 2005  
Откуда: Дивный

Карма 1




вот ведь незадача - вертел и так и сяк - уже и ошибок не выдает, но не выводит ничего

а можно ли привязать твой код к моему?

CODE:
<?php
$bd = mysql_pconnect('localhost', 'divnru_brend', '***') or die("Не соединилось!!!");
mysql_select_db('divnru_brend')or die("Не найдена БД");
$query = "select * from main where number > 0";
$result = mysql_query($query) or die("Запрос ошибочный");
$num_results = mysql_num_rows($result);

for ($i=0; $i < $num_results; $i++)
{
$row = mysql_fetch_array($result);
echo '<b><a href='.htmlspecialchars(stripslashes($row['number'])).'>';
echo htmlspecialchars(stripslashes($row['number']));
echo '.</b> ';
echo htmlspecialchars(stripslashes($row['name']));
echo ', ';
echo htmlspecialchars(stripslashes($row['author']));
echo ', ';
echo htmlspecialchars(stripslashes($row['public']));
echo '</a><br>';
}
?>

(Добавление)
ключевое поле number - оно автозаполняемое, пол дня уже потратил на это, вот ведь что значит не программер, а туда же лезет )))
 
 Top
Furax
Отправлено: 17 Июня, 2007 - 00:08:08
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Если я правильно понял, поле number - это AUTO_INCREMENT INT? Тогда stripslashes и т. д. для него совершенно излишни... Я бы сделал так:

CODE:
<?php
$bd = mysql_pconnect('localhost', 'divnru_brend', '***') or die("Не соединилось!!!");
mysql_select_db('divnru_brend')or die("Не найдена БД");

$query = "select * from main";

$id_specified=FALSE;

if (isSet($_GET['id']))
{
$id=(int)$_GET['id'];
if ($id)
{
$id_specified=TRUE;
$query.=' where number = '.$id;
}
else
$query.=' where number > 0';
}
else
$query.=' where number > 0';

$result = mysql_query($query) or die("Запрос ошибочный");

if ($id_specified)
{
if (mysql_num_rows($result)!=1)
echo "Ошибка: не найдена работа!";
else
{
$row = mysql_fetch_array($result);
echo '<b>'.$row['number']);
echo '.</b> ';
echo htmlspecialchars(stripslashes($row['name']));
echo ', ';
echo htmlspecialchars(stripslashes($row['author']));
echo ', ';
echo htmlspecialchars(stripslashes($row['public']));
echo '</a><br>';
}
}
else
while ($row = mysql_fetch_array($result))
{
echo "<a href=\"$_SERVER['PHP_SELF']?id=$row[number]\"><b>";
echo $row['number'];
echo '.</b> ';
echo htmlspecialchars(stripslashes($row['name']));
echo ', ';
echo htmlspecialchars(stripslashes($row['author']));
echo ', ';
echo htmlspecialchars(stripslashes($row['public']));
echo '</a><br>';
}
?>
 
 Top
23Rus
Отправлено: 18 Июня, 2007 - 03:19:12
Post Id



Смотрящий


Покинул форум
Сообщений всего: 582
Дата рег-ции: Апр. 2005  
Откуда: Дивный

Карма 1




все бы ничего, но только он не понимает ссылку, вот что пишет

Цитата:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/divnru/public_html/brend/3.php on line 52


в строке вот что:
CODE:
echo "<a href=\"$_SERVER['PHP_SELF']?id=$row[number]\"><b>";


я чет разбивал ее уже на части и тремя эхами выводил, но не получается вывести ((( он ее вспринимать как переменную не хочет ((
 
 Top
Furax
Отправлено: 18 Июня, 2007 - 10:22:41
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Извиняюсь... Одинарные кавычки вокруг слова "PHP_SELF" убрать надобно...

Вот что значит - новичок, а туда же лезу...
 
 Top
23Rus
Отправлено: 19 Июня, 2007 - 02:03:19
Post Id



Смотрящий


Покинул форум
Сообщений всего: 582
Дата рег-ции: Апр. 2005  
Откуда: Дивный

Карма 1




пасибо, все работает )))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0435]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33