исходные данные:
есть страница, на которой происходит вывод всех строк БД (автор, работа, дата публикации), которые являются ссылками (по ссылке должна открываться страница, где будет выведена именно эта строка из БД)
вопрос:
как это реализовать, как передать переменную на страницу, чтоб потом сделать запрос по этой переменной, скорее всего по ключевому полю?
1. 23Rus - 14 Июня, 2007 - 01:21:55 - перейти к сообщению
2. Furax - 14 Июня, 2007 - 03:47:36 - перейти к сообщению
23Rus
Ну, насколько я понимаю, надо делать что-то в этом роде:
Ну, насколько я понимаю, надо делать что-то в этом роде:
CODE:
По крайней мере, я бы сделал что-нибудь в этом роде. Только не уверен, что нигде не ошибся - ещё недостаточно хорошо знаю синтаксис PHP...
<?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 '<...>';
}
}
$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 '<...>';
}
}
3. 23Rus - 15 Июня, 2007 - 04:23:39 - перейти к сообщению
вот ведь незадача - вертел и так и сяк - уже и ошибок не выдает, но не выводит ничего
а можно ли привязать твой код к моему?
(Добавление)
ключевое поле number - оно автозаполняемое, пол дня уже потратил на это, вот ведь что значит не программер, а туда же лезет )))
а можно ли привязать твой код к моему?
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>';
}
?>
$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 - оно автозаполняемое, пол дня уже потратил на это, вот ведь что значит не программер, а туда же лезет )))
4. Furax - 17 Июня, 2007 - 00:08:08 - перейти к сообщению
Если я правильно понял, поле 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>';
}
?>
$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>';
}
?>
5. 23Rus - 18 Июня, 2007 - 03:19:12 - перейти к сообщению
все бы ничего, но только он не понимает ссылку, вот что пишет
в строке вот что:
я чет разбивал ее уже на части и тремя эхами выводил, но не получается вывести ((( он ее вспринимать как переменную не хочет ((
Цитата:
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>";
я чет разбивал ее уже на части и тремя эхами выводил, но не получается вывести ((( он ее вспринимать как переменную не хочет ((
6. Furax - 18 Июня, 2007 - 10:22:41 - перейти к сообщению
Извиняюсь... Одинарные кавычки вокруг слова "PHP_SELF" убрать надобно...
Вот что значит - новичок, а туда же лезу...
Вот что значит - новичок, а туда же лезу...
7. 23Rus - 19 Июня, 2007 - 02:03:19 - перейти к сообщению
пасибо, все работает )))