Помогите правильно создать ссылки

  • Автор темы Автор темы Citizen
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Citizen

Новичок
Помогите правильно создать ссылки

Здравствуйте! Я столкнулся с проблемой, суть её заключается в следующем: есть база stat в ней содержится таблица customers, вот структура -
|ownerid|owner|person|...|...|
| 827 |urov |юров |...|...|
| 828 |murov|муров |...|...|

Представленный ниже механизм осуществляет поиск и выводит результаты, которые мы и делаем ссылками на страницы: editowner1.php и editcontract.php, используя в качестве параметра значения столбца ownerid (для каждой фамилии свой параметр, т.е. юрову присущ только ownerid равный 827 и никакой другой).
PHP:
<form aсtion="эта же страница.php" method="post">
<select name="searchtype" size=2>
<br>
<option value="Person" selected>Person
<option value="Phone">Phone
</select><br><br>
<input name="searchterm"><br><br>
<input type=submit value="SEARCH">
</form>
Далее идут подключение и обработчик:
PHP:
<?$link = mysql_pconnect ('localhost','','');
if ( !$link ) die ("Can't connect MySQL");
$db = "stat";
mysql_select_db ( $db ) or die ("Can't opened database"); 
trim ( $searchterm );
if (!$searchterm)
die ("Please insert form");
$searchterm = addslashes($searchterm);
$q1 = "SELECT * FROM customers WHERE " .$searchtype." like '%".$searchterm."%'";
$result = mysql_query ($q1);
$n = mysql_num_rows ($result);
for ($i=0; $i<$n; $i++) { 
$row = mysql_fetch_array($result);
echo <a href=editowner1.php?ownerid=$ownerid> $row[owner] </a> ";
echo <a href=editcontract.php?ownerid=$ownerid> $row[person] </a> </td>";
}
if ( $n == 0 ) echo "<b>not result</b>";
?>
С ходу думал, что просто. Однако застрял на этом!
Нужно, чтобы ссылка переходила на страницу с нужным параметром, т.е. у юрова = 827 и тд.
У меня параметры не передаются...
 
В чём собственно проблема?

-~{}~ 24.12.08 14:01:

$ownerid вместо этого никак нельзя подставить значение из бызы ?
 
ок, если на выведенную ссылку навести курсор, то отобразится что-то вроде editcontract.php?ownerid=827 ,только тогда editcontract.php сможет обработать пользователя с фамилией Юров.
 
Citizen
ты скинул кусок кода с ошибками синтаксиса и не можешь сформулировать в чем конкретно твоя проблема.

Скажи, а ты вообще понимаешь, что делает твой код?
например, что такое $ownerid?
 
не горячитесь, ownerid это параметр, который передаётся в ссылку

-~{}~ 24.12.08 15:49:

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

и вместо $ownerid подставь из базы: $row['ownerid']
 
нет, код без ошибок, в том смысле, что поиск корректно осуществляется, выводя необходимые данные. У меня просто ничего не передаётся из оунерид в ссылку.
 
Так откуда у тебя должна взяться переменная $ownerid? Она нигде не задана. Подставь вместо нее значение из базы - $row['ownerid']
 
derickru - $row['ownerid'] передаёт параметр Resourse :)
почти смешно.

-~{}~ 24.12.08 18:09:

смотри откуда переменная $ownerid берётся ---> собственно сам sql-запрос, который мы передаём в $row = mysql_fetch_array($result). получается любой столбец (скажем Person) является переменной в таком виде $row[Person].

-~{}~ 24.12.08 18:39:

был вариант с помощью list в $ownerid передать "SELECT ownerid FROM stat.customers ORDER BY ownerid" , но это приводит к неожиданным результатам
 
Citizen
если ты понимаешь что делает твой код, расставь где только можно var_dump'ы всех переменных, и посмотри соответствует ли ожидаемый результат реальному
 
Citizen
при создании темы пишут "копируйте реальный код" вроде бы.

код, скопированный тобой не может работать. это даже по подсветке видно.
 
Citizen

Во-первых, код как раз с ошибками, если это реальный код, если же у тебя работает поиск, то покрайней мере он у тебя не такой как отображается на форуме:

Parse error: syntax error, unexpected '<' in script.php on line 14

Во-вторых, также как ты вставляешь из базы $row[owner] также вставь в ссылку из базы ownerid, зачем тебе еще какие-то запросы?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху