вывод из бд в выпадающий список select

panda

Новичок
не могу решить вопрос - необходимо, сделать форму с выпадающим списком, который формируется из значений из бд. например, пользователь выбирает из списка нужное значение, кликает отправить и уходит на страницу, где ему выводится из бд то, что надо.

делаю запрос, все выводится в список, но не могу передать id по которому потом будет сделан запрос на другой странице, в общем в моем коде этот id не передается.

<?
$action="index3.php?id_catalog=".$_GET['id_catalog'].""; ?>

<table class=admin width=600 align=center cellpadding=5 cellspacing=0>
<tr><td>
<form action=<? echo $action; ?> method=post ENCTYPE=multipart/form-data>

<?
$query = 'SELECT * FROM bmcatalog';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

echo "<select>";

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '<option selected value="'.$line['name'].'" >'.$line['name'];
}
echo "</select>\n";

?>
<INPUT TYPE=submit class=button VALUE="отправить">
</form>


помогите разобраться
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
моем коде этот id не передается
А ничего, что
1. форма с методом пост, а у тебя $_GET['id_catalog']. Не насторожило?
2. Но это фигня по стравнению с тем, что дропдаун должен иметь имя.

Буквать по html не мешало-бы почитать.
 

panda

Новичок
PHP:
<?

$action="index3.php?id_catalog=".$_POST['id_catalog']."";

?>


<form action=<? echo $action; ?> method=post ENCTYPE=multipart/form-data>

<?
$query = 'SELECT * FROM bmcatalog';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

	echo "<select type=text name='name'>";

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo '<option selected value="'.$line['name'].'" >'.$line['name'];
          }
	echo "</select>\n";

?>
<INPUT TYPE=submit class=button VALUE="отправить">
</form>


здесь код исправлен, но не суть


по прежнему есть ошибка, переходит на страницу index3 не передает id_catalog. В чем ошибка??
 

С.

Продвинутый новичок
Неужели за тебя весь форум должен вести отладку? Не надо тыкать пальцем в небо. Где у тебя выдача, что вообще он "передает"?
 

KorP

Новичок
1. форма с методом пост, а у тебя $_GET['id_catalog']. Не насторожило?
я видать тупею - какая связь с формой то?

PHP:
<?

$action="index3.php?id_catalog=".$_POST['id_catalog']."";

?>
вот это полюбому бред, имхо в начале было всё верно, но не зная что и как - сказать 100% сложно

ты б блин хтмл генерируемый посмотрел и увидел - что, где откуда и куда

в общем в моем коде этот id не передается.
аналогично - print_r($_POST); в "принимающем" скрипте и в хтмле генерируемом смотреть что и куда у тебя не подставилось если данных нет
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
внимание, вопрос.
как назван селект?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
>>>связь с формой то
я не вижу редиректа.
а код походу вставлен весь
 

Bardak

Новичок
1) $_POST['id_catalog'] - у вас всегда будет пустым
2) <select type=text name='name'> - у тега select нет атрибута type
3) Чтобы получить значение $_POST['id_catalog'] вам нужно чтобы у select'а было имя id_catalog
4) Так как вам нужен id каталога, а не его имя то в option'ах в атрибуте value вы должны указывать именно id (value="'.$line['id'].'")
5) После того как пользователь выберет нужный ему каталог и нажмет кнопочку, то он попадет на страницу index3.php?id_catalog=
6) Чтобы передать значение id_catalog в скрипт index3.php, вам нужно у формы action указать именно его (index3.php), а метод передачи
данных использовать GET (method="get")
7) Вам нужно прочитать о том как вообще работают формы, о том что такое POST и GET
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
method=post ENCTYPE=multipart/form-data
Мне вот интересно, нафига здесь multipart?
Решение простое, быстрое и тупое.
1. поставить форме метод гет.
2. разобраться с селектом.
 

Bardak

Новичок
Ну здесь все таки проблема не в отладке, а в полном непонимании вопроса.
 

baev

‹°°¬•
Команда форума
iceman
— какой тут «debug», если очевидно, что тредстартер не понимает, что именно надо отлаживать?
 

panda

Новичок
вопрос- есть таблица в бд bmcatalog в ней хранятся разделы в поле name, ключ id_catalog, и description. Естественно у каждого name свой id_catalog и свой description.

выпадающий список состоит из значений поля name. при выборе из выпадающего списка одного значения и нажатии баттон, должен уходить на другой файл 33.php, и передовать id_catalog, description выбранного name в файл 33.php

как это реализовать

код такой, подскажите как дальше


PHP:
<?php
include "../admin/config.php";
$action="33.php";
?>

<form action=<? echo $action; ?> method=GET >

<?
   $query = "SELECT * FROM bmcatalog";
   $result = mysql_query($query);

   $prt=mysql_query($query);
  			if(!$prt) puterror("Ошибка при запросе");

  echo ("<select name=name>");

  if (mysql_num_rows($prt)>0)
   {

  	    while($par = mysql_fetch_array($prt)){
 		      echo('<option>'.$par['name'].'</option>');
 		}
     echo "</select>\n";
   }
?>
<INPUT TYPE=submit class=button VALUE="отправить">
</form>


PHP:
<?php
include "../admin/config.php";

 $a=$_GET['name'];
 echo $a;

 ?>
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Ну как-бы where id =
 

panda

Новичок
подправьте пожалуста, вэлью, где то ошибка

while($par = mysql_fetch_array($prt)){
echo('<option value='.$par['id_catalog']'>'.$par['name'].'</option>');
 

panda

Новичок
так и ошибку не пишет и не передает

PHP:
<?
   $query = "SELECT * FROM bmcatalog";
   $result = mysql_query($query);

   $prt=mysql_query($query);
  			if(!$prt) puterror("Ошибка при запросе");

  echo ("<select name=name");

  if (mysql_num_rows($prt)>0)
   {

  	    while($par = mysql_fetch_array($prt)){
 		      echo('<option value='.$par['id_catalog'].'>'.$par['name'].'</option>');
 		}
     echo "</select>\n";
   }
?>
<INPUT TYPE=submit class=button VALUE="отправить">
</form>
 
Сверху