101

Re: Выпадающий список

павелsimon сказал:

возможно ли это упростить без перезагрузки страницы?

Не уверен, что смог все понять. Рассмотрите возможность использовать Ajax, возможно это то что надо.
Документация с примерами есть здесь: http://api.jquery.com/jQuery.ajax/

102

Re: Выпадающий список

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

103

Re: Выпадающий список

павелsimon сказал:

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

Если я правильно понял, то просто уберите у списков обработку события:
onchange="this.form.submit();"

Затем добавьте внутри формы <form> кнопку:
<input type="submit" value="Название кнопки" />

104 (изменено: павелsimon, 2012-03-14 17:37:25)

Re: Выпадающий список

как правильно вставить кнопку?  событие onchange="this.form.submit();" можно убрать только у паследнего списка так как без него не будут работать остальные.    код формы

<?php    
echo '<form method="post" action="">';
$ck = "<p><select id='id_ciklovKomis' name='nazv_ciklovKomis' size='1' onchange=\"this.form.submit();\">;
        <option value='vse'>Выберите цикловую комисию</option>";
          $query = mysql_query("SELECT * FROM CiklovKomis ORDER BY id_ciklovKomis");
              $result = mysql_fetch_array($query);
                do
                {
                    $ck .= "<option value='".$result['id_ciklovKomis']."'";
                    if (!empty($_POST['nazv_ciklovKomis']) && $_POST['nazv_ciklovKomis'] == $result['id_ciklovKomis']) {
                        $ck .= ' selected="selected"';
                    }
                    $ck .= ">".$result['nazv_ciklovKomis']."</option>";
                }
               while($result = mysql_fetch_array($query));
$ck.= "</select>";
echo $ck."<br>";
if (!empty($_POST['nazv_ciklovKomis'])) {
     
     $spec = "<p><select id='id_specialnost' name='nazv_specialnosti' size='1' onchange=\"this.form.submit();\">;
                <option value='vse'>Выберите cпециальность</option>";
      $query = mysql_query("SELECT * FROM specialnost
WHERE id_ciklovKomis = '" . addslashes($_POST['nazv_ciklovKomis']) . "' ORDER BY id_specialnost");
                $result = mysql_fetch_array($query);
                 do
                {
                    $spec .= "<option value='".$result['id_specialnost']."'";
                    if (!empty($_POST['nazv_specialnosti']) && $_POST['nazv_specialnosti'] == $result['id_specialnost']) {
                        $spec .= ' selected="selected"';
                    }
                    $spec .= ">".$result['nazv_specialnosti']."</option>";
                }
                while($result = mysql_fetch_array($query));
$spec .= "</select>";
echo $spec."<br>"."<br>";
}
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti'])) {
    
$grupa = "<p><select id='id_groups' name='nazv_groups' size='1'  onchange=\"this.form.submit();\">;
                <option value='vse'>Выберите группу</option>";
                $query = mysql_query("SELECT * FROM Groups
WHERE id_specialnost='" . addslashes($_POST['nazv_specialnosti']) . "'    ORDER BY id_groups");
                $result = mysql_fetch_array($query);
                 do
                {
                    $grupa .= "<option value='".$result['id_groups']."'";
                    if (!empty($_POST['nazv_groups']) && $_POST['nazv_groups'] == $result['id_groups']) {
                        $grupa .= ' selected="selected"';
                    }
                    $grupa .= ">".$result['nazv_groups']."</option>";
                }
                while($result = mysql_fetch_array($query));
$grupa .= "</select>";
echo $grupa."<br>"."<br>";
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti']) && !empty($_POST['nazv_groups'])); {
}
$st = "<p><select id='id_student' name='lastname' size='1' >;
                <option value='vse'>Выберите студента</option>";
                $query = mysql_query("SELECT * FROM Students
WHERE id_groups='" . addslashes($_POST['nazv_groups']) . "' ORDER BY id_student");
                $result = mysql_fetch_array($query);
                do
                {
                    $st .= "<option value='".$result['id_student']."'";
                    if (!empty($_POST['lastname']) && $_POST['lastname'] == $result['id_student']) {
                        $st .= ' selected="selected"';
                    }
                    $st .= ">".$result['lastname']."</option>";
                }
                while($result = mysql_fetch_array($query));
$st .= "</select>";
echo $st."<br>"."<br>";
}
if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti']) && !empty($_POST['nazv_groups'])&& !empty($_POST['lastname'])); {
}


echo '<p><table border = "1">
          <tr>
          <th>Название дисциплины</th>
          <th>Вид контроля</th>
          <th>Оценка</th>
          <th>Дата сдачи</th>
          </tr>';
          $result = mysql_query ("SELECT nazv_discipline, vid_kontrolya, otsenka, date_sdachi 
FROM Students
WHERE Students.id_student= '" . addslashes($_POST['lastname']) . "' 
",$db);

while ($myrow = mysql_fetch_array ($result)){
    $nazv_discipline = $myrow["nazv_discipline"];
    $vid_kontrolya = $myrow["vid_kontrolya"];
    $otsenka = $myrow["otsenka"];
    $date_sdachi = $myrow["date_sdachi"];
    echo "<tr>";
    echo "<td>$nazv_discipline</td>";
    echo "<td>$vid_kontrolya</td>";
    echo "<td>$otsenka</td>";
    echo "<td>$date_sdachi</td>";
    echo "</tr>";
}

 if (!empty($_POST['nazv_ciklovKomis']) && !empty($_POST['nazv_specialnosti']) && !empty($_POST['nazv_groups'])&& !empty($_POST['lastname']) && !empty($_POST['nazv_discipline'])); {
}
mysql_close($db);
echo '</table>';

echo "</form>";
?>

да и еще если можно подскажите как дописать два чекбокса параметры которых должны передаваться по нажатию кнопки. Тоесть например в чек боксе ставим галочку выводить только с оценкой 5. Вывод все с тойже таблицы student

105

Re: Выпадающий список

Я не знаю куда вам надо кнопку поставить. Попробуйте перед закрывающим тегом формы, если что - переместите потом.

echo '<input type="submit" value="Название кнопки" />';
echo "</form>";

Галочки передаются так:
<input type="checkbox" name="chk" value="on" />
В PHP делаете проверку стоит галочка или нет:

<?php
if (isset($_POST['chk']) && $_POST['chk'] == 'on') {
// Галочка стоит.
} else {
// Галочка не стоит.
}
?>

106 (изменено: павелsimon, 2012-03-21 15:28:35)

Re: Выпадающий список

Здравствуйте Hanut подскажите пожалуйста как правильно написать цикл. У меня есть 3 таблицы в базе
первая
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Мар 21 2012 г., 14:15
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
--
-- БД: `shina`
--

-- --------------------------------------------------------

--
-- Структура таблицы `brands`
--

CREATE TABLE `brands` (
  `id` int(255) NOT NULL auto_increment,
  `name` varchar(20) NOT NULL,
  `text` varchar(20) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

--
-- Дамп данных таблицы `brands`
--

INSERT INTO `brands` VALUES (1, 'BARUM', 'Шины BARUM');
INSERT INTO `brands` VALUES (2, 'BRIDGSTONE', 'Шины BRIDGSTONE');
INSERT INTO `brands` VALUES (3, 'BRAND3', '');
       


вторая

-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Мар 21 2012 г., 14:15
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
--
-- БД: `shina`
--

-- --------------------------------------------------------

--
-- Структура таблицы `model`
--

CREATE TABLE `model` (
  `id` int(11) NOT NULL auto_increment,
  `br` varchar(255) default NULL,
  `model` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=6 ;

--
-- Дамп данных таблицы `model`
--

INSERT INTO `model` VALUES (1, '1', 'BARUM BRILLANTIS 2');
INSERT INTO `model` VALUES (2, '1', 'BARUM cargo');
INSERT INTO `model` VALUES (3, '1', 'BArum1');
INSERT INTO `model` VALUES (4, '2', 'BRIDGESTONE B390');

третья

-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Мар 21 2012 г., 14:16
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
--
-- БД: `shina`
--

-- --------------------------------------------------------

--
-- Структура таблицы `razmer`
--

CREATE TABLE `razmer` (
  `id` int(255) NOT NULL auto_increment,
  `rz` varchar(255) NOT NULL,
  `model` varchar(255) default NULL,
  `diametr` varchar(10) default NULL,
  `shirina` varchar(10) default NULL,
  `profil` varchar(10) default NULL,
  `indnag` varchar(20) NOT NULL,
  `indskor` varchar(20) NOT NULL,
  `ostatok` varchar(255) NOT NULL,
  `cena` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=6 ;

--
-- Дамп данных таблицы `razmer`
--

INSERT INTO `razmer` VALUES (1, '1', 'barum1', '20', '25', '2', '', '', '', '');
INSERT INTO `razmer` VALUES (2, '2', 'barum1', '30', '44', '2', '', '', '', '');
INSERT INTO `razmer` VALUES (3, '2', 'barum', '45', '888', '', '', '', '', '');
INSERT INTO `razmer` VALUES (4, '', 'акупу', NULL, NULL, '', '', '', '', '');
INSERT INTO `razmer` VALUES (5, '', 'мвамвам', NULL, NULL, '', '', '', '', '');
       

из первой формируються ссылки по ним формируются ячейки из второй таблицы,  нужно чтоб по нажатию на ссылку сформировались ячейки из второй таблицы а под ними сформировались ячейки из третьей по соответственному id


вот как я вывожу из второй а третью немогу подцепить,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<?php include("blocks/conect.php");
if (isset($_GET['br'])) {$br = $_GET['br'];}
if (!isset($br)) {$br = 1;} 
$result = mysql_query("select * from brands where id='$br'",$db);
if (!$result)
{
echo"<p>Запрос на выборку данных из базы не прошол</p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$row = mysql_fetch_array($result);
}
else
{
echo "<p>Информация по запросу не прошла в таблице нет данных</p>";
exit();
}
 ?>   

<?php 
$result = mysql_query("select * from model where br='$br'",$db);
if(!$result)
{
echo "<p>Запрос на вывод данных из базы не прошол. Напишите об этом
администратору: mironchuk.pavel@mail.ru<br><strong>Код ошибки: </strong>></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$row = mysql_fetch_array($result);

do
{
printf("<table width='400' border='1'>
  <tr>
    <td colspan='9'>%s</td>
  </tr>
  <tr>
    <td colspan='2'>фото</td>
    <td colspan='7' rowspan='2'>текст</td>
  </tr>
  <tr>
    <td>сезон</td>
    <td>тип</td>
  </tr>
  <tr>
    <td colspan='2'>ширина</td>
    <td>профиль</td>
    <td>%s</td>
    <td>инд.нагр</td>
    <td>инд.скор</td>
    <td>количество</td>
    <td>цена </td>
    <td><a href='view_rz.php?rz=%s'>подробнее</a></td>
  </tr>
</table><br>",$row["model"],$row["diam"],$row["id"]);
}
while ($row = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлеченв, в таблице нет записей.</p>";
exit();
}
?>

</body>
</html>



вот блок который выводит ссылки

<table ><td   width="200" height="600" align="left" valign="top" class="left" scope="col"><div>Подобрать шин по бренду</div>
<?php 
$result2 = mysql_query("select * from brands",$db);
if(!$result2)
{
echo "<p>Запрос на вывод данных из базы не прошол. Напишите об этом
администратору: mironchuk.pavel@mail.ru<br><strong>Код ошибки: </strong>></p>";
exit (mysql_error());
}
if (mysql_num_rows($result2) > 0)
{
$row2 = mysql_fetch_array($result2);
}
else
{
echo "<p>Информация по запросу не может быть извлеченв, в таблице нет записей.</p>";
exit();
}
do
{
printf
("<p><a href='view_br.php?br=%s'>%s</a></p>",$row2["id"],$row2["name"]);
}
while ($row2 = mysql_fetch_array($result2));
?></td>
</table>

107

Re: Выпадающий список

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

По сути, вы все правильно сделали. Не хватает еще одного запроса. Примерно такого:
$result = mysql_query("select * from `razmer` where `model`='" . $row['model'] . "'",$db);

108 (изменено: павелsimon, 2012-03-21 19:09:44)

Re: Выпадающий список

Связываю таблицу model поле id с таблицей razmer поле rz вот код запроса,

$result2 = mysql_query("select * from model where id='$rz'",$db);
$result2 = mysql_query("select * from razmer where rz='$rz'",$db);
$row2 = mysql_fetch_array($result2);
do{
printf("<table width='400' border='1'>
  
  <tr>
    <td>ширина</td>
    <td>профиль</td>
    <td>%s</td>
    <td>инд.нагр</td>
    <td>инд.скор</td>
    <td>количество</td>
    <td>цена </td>
    <td>заказать</td>
  </tr>
</table>",$row2["diametr"],$row2["id"]);
}
while ($row2 = mysql_fetch_array($result2));

не получяется всюду выводятся только две строки с id 4 и 5 из таблицы размер

109

Re: Выпадающий список

Попробуйте так сделать.

<?php

function razmer($rz) {
    global $db;
    $result = mysql_query("select * from razmer where rz='$rz'", $db);
    while ($row2 = mysql_fetch_array($result)) {
        printf("<table width='400' border='1'>
          
          <tr>
            <td>ширина</td>
            <td>профиль</td>
            <td>%s</td>
            <td>инд.нагр</td>
            <td>инд.скор</td>
            <td>количество</td>
            <td>цена </td>
            <td>заказать</td>
          </tr>
        </table>",$row2["diametr"],$row2["id"]);
    }
}

$result = mysql_query("select * from model where id='$rz'", $db);
while ($row2 = mysql_fetch_array($result)) {
    razmer($rz);
}

?>

110

Re: Выпадающий список

ничего не выводится, нужно без функции чтоб код простым был

111

Re: Выпадающий список

я думаю проблема в том что не передается параметр rz, например для получения информации из таблицы модели в обработчик передается параметр br

do
{
printf
("<p><a href='view_br.php?br=%s'>%s</a></p>",$row["id"],$row["name"]);
}
while ($row = mysql_fetch_array($result));

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

if (isset($_GET['br'])) {$br = $_GET['br'];}
if (!isset($br)) {$br = 1;} 
$result = mysql_query("select * from brands where id='$br'",$db);

$row = mysql_fetch_array($result);

и соответственно выводится информация из таблицы модели связаная с таблицей бренды по id, br, как правильно дописать в передачу параметр rz,

printf
("<p><a href='view_br.php?br=%s,?rz=%s'>%s</a></p>",$row["id"],$row["name"]);
}
while ($row = mysql_fetch_array($result));

?

112

Re: Выпадающий список

Пометил места изменений.
printf
("<p><a href='view_br.php?br=%s&rz=%s'>%s</a></p>",$row["id"], $rz, $row["name"]);

113

Re: Выпадающий список

я дописал еще один id

("<p><a href='view_br.php?br=%s&rz=%s'>%s</a></p>",$row["id"],[color=red] $row["id"][/color], $row["name"]);

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

if (isset($_GET['rz'])) {$rz = $_GET['rz'];}
if (!isset($rz)) {$rz = 1;} 
$result = mysql_query("select * from model where id='$rz'",$db);

а если берем еще одну выборку из базы то может быть нужно ее обозначать вот так с цыфрой 2

$result2 = mysql_query("select * from razmer where rz='$rz'",$db);
$row2 = mysql_fetch_array($result2);

вот код приема параметров br, rz, должно по параметру br выводится нормально из таблицы модель, но теперь то что из нее вывелось имеет свой id, и по нему из таблицы размер должно вывестись остальное там у меня связь по параметру rz
но не выводится . 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<?php include("blocks/conect.php");
if (isset($_GET['br'])) {$br = $_GET['br'];}
if (!isset($br)) {$br = 1;} 
$result = mysql_query("select * from brands where id='$br'",$db);

$row = mysql_fetch_array($result);

 ?>
 
<table width="100%" class="main_border">
  <tr>
    <td colspan="2" align="center" valign="top"><?php include ("blocks/heder.php");?></td>
  </tr>
  <tr>
    <td colspan="2" align="left"><?php include ("blocks/podbor.php");?></td>
  </tr>
  <tr>
    <td align="left" valign="top"><?php include ("blocks/left.php");?></td>
    <td align="left" valign="top">
    <?php echo $row["text"];?>
        <?php 
$result = mysql_query("select * from model where br='$br'",$db);
$row = mysql_fetch_array($result);
     
do {

printf("<table width='400' border='1'>
  <tr>
    <td colspan='9'>%s</td>
  </tr>
  <tr>
    <td colspan='2'>фото</td>
    <td colspan='7' rowspan='2'>текст</td>
  </tr>
  <tr>
    <td>сезон</td>
    <td>тип</td>
  </tr>
  <tr>
    <td colspan='2'>ширина</td>
    <td>профиль</td>
    <td>ss</td>
    <td>инд.нагр</td>
    <td>инд.скор</td>
    <td>количество</td>
    <td>цена </td>
    <td><a href='view_rz.php?rz=%s'>подробнее</a></td>
  </tr>
</table>",$row["model"],$row["id"]);
}
while ($row = mysql_fetch_array($result));
?>


   <?php 
   
   if (isset($_GET['rz'])) {$rz = $_GET['rz'];}
if (!isset($rz)) {$rz = 1;} 
$result = mysql_query("select * from model where id='$rz'",$db);

$row = mysql_fetch_array($result);

$result = mysql_query("select * from razmer where rz='$rz'",$db);
if(!$result)
{
echo "<p>Запрос на вывод данных из базы не прошол. Напишите об этом
администратору: mironchuk.pavel@mail.ru<br><strong>Код ошибки: </strong>></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$row = mysql_fetch_array($result);


do
{
printf("<table width='400' border='1'>
  <tr>
    <td colspan='2'>ширина</td>
    <td>%s</td>
    <td>%s</td>
    <td>инд наг</td>
    <td>инд.скор</td>
    <td>количество</td>
    <td>цена </td>
    <td><a href='view_form.php?id=%s'>заказать</a></td>
  </tr>
</table>",$row["diametr"],$row2["profil"],$row["id"]);
}
while ($row = mysql_fetch_array($result));

}
else
{
echo "<p>Информация по запросу не может быть извлеченв, в таблице нет записей.</p>";
exit();
}
print "<a href='javascript:history.go(-1);'> <<<Назад </a>"."<br>";
?>

    </td>
  </tr>
  
  <tr>
    <td colspan="2" align="center"> <?php include ("blocks/down.php");?></td>
  </tr>
</table>
</body>
</html>

114

Re: Выпадающий список

павелsimon сказал:

а если берем еще одну выборку из базы то может быть нужно ее обозначать вот так с цыфрой 2

Можно изменять переменные, хотя лучше было бы каждый запрос оформлять в виде отдельной функции. Сейчас у вас код совершенно не читаем. Выполнить его можете только вы, поэтому пробуйте искать ошибки. При необходимости прерывайте работу скрипта и выводите значения переменных, чтобы понять как они работают.

exit($var); // Выведет значение переменной $var

115

Re: Выпадающий список

а как бы вы вывели информацию есть 3 таблицы, бренды модели размер, из брендов ссылки формируются по нажатию выводятся в таблицах в цикле модели а под каждой моделью нужно вывести ее размер уже из таблицы размер у них есть привязки по полям

116

Re: Выпадающий список

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

<?php

function razmer($rz) {
    global $db;
    $result = mysql_query("select * from razmer where rz='$rz'", $db);
    while ($row2 = mysql_fetch_array($result)) {
        printf("<table width='400' border='1'>
          
          <tr>
            <td>ширина</td>
            <td>профиль</td>
            <td>%s</td>
            <td>инд.нагр</td>
            <td>инд.скор</td>
            <td>количество</td>
            <td>цена </td>
            <td>заказать</td>
          </tr>
        </table>",$row2["diametr"],$row2["id"]);
    }
}

$result = mysql_query("select * from model where id='$rz'", $db);
while ($row2 = mysql_fetch_array($result)) {
    razmer($row2['field']); // Здесь field - это имя поля, которое связывает таблицы моделей и размеров.
}

?>

117

Re: Выпадающий список

Я непонял куда вставить ваш код, мне надо чтоб под моделями вывелись размеры соответствующие моделям привязка у них по параметрам id и rz

118

Re: Выпадающий список

павелsimon сказал:

Я непонял куда вставить ваш код, мне надо чтоб под моделями вывелись размеры соответствующие моделям привязка у них по параметрам id и rz

Не вставить, а понять как он работает и использовать этот код в своей наработке. К сожалению я не могу писать скрипт за вас. Пробуйте.

119

Re: Выпадающий список

У меня он никак не работает, какж мне тогда понять как он работает и что либо из етого извлеч, а что в моем коде не так вы не подскажите?

120

Re: Выпадающий список

Вот у вас первый запрос, который выбирает данные из таблицы brands.
$result = mysql_query("select * from brands where id='$br'",$db);

Затем идет второй запрос, который выбирает данные из таблицы model.
$result = mysql_query("select * from model where br='$br'",$db);

Что такое переменная $br и что в ней - это вы сами разберитесь.

Замените второй запрос на это:

<?php

function razmer($rz) {
    global $db;
    $result = mysql_query("select * from razmer where rz='$rz'", $db);
    while ($row2 = mysql_fetch_array($result)) {
        printf("<table width='400' border='1'>
          
          <tr>
            <td>ширина</td>
            <td>профиль</td>
            <td>%s</td>
            <td>инд.нагр</td>
            <td>инд.скор</td>
            <td>количество</td>
            <td>цена </td>
            <td>заказать</td>
          </tr>
        </table>",$row2["diametr"],$row2["id"]);
    }
}

$result = mysql_query("select * from model where id='$rz'", $db);
while ($row2 = mysql_fetch_array($result)) {
    razmer($row2['field']); // Здесь field - это имя поля, которое связывает таблицы моделей и размеров.
}

?>

Только замените переменные $rz на $br, или что-то еще. Просто постарайтесь понять, что функция razmer() выполняется внутри цикла выбирающего данные из таблицы model.

121

Re: Выпадающий список

извините я не могу понять как работает ваша функция,   в сврем коде я дописал,

 <?php 
$result = mysql_query("select * from model where br='$br'",$db);
$row = mysql_fetch_array($result);
     
do {

printf("<table width='400' border='1'>
  <tr>
    <td colspan='9'>%s</td>
  </tr>
  <tr>
    <td colspan='2'>фото</td>
    <td colspan='7' rowspan='2'>текст</td>
  </tr>
  <tr>
    <td>сезон</td>
    <td>тип</td>
  </tr>
  <tr>
    <td colspan='2'>ширина</td>
    <td>профиль</td>
    <td>ss</td>
    <td>инд.нагр</td>
    <td>инд.скор</td>
    <td>количество</td>
    <td>цена </td>
    <td> <a href='view_rz.php?rz=%s'>подробнее</a></td>
    
    
    
  </tr>
</table>",$row["model"],$row["id"]);

$result3 = mysql_query("select * from model where id='$rz' ",$db);
$row3 = mysql_fetch_array($result3);
$result2 = mysql_query("select * from razmer where rz='$rz' ",$db);
$row2 = mysql_fetch_array($result2);
do {
printf ("<table><td>диаметр %s, %s </td>  </table>",$row2["diametr"], $row2["rz"]);

}
while ($row2 = mysql_fetch_array($result2));
}

while ($row = mysql_fetch_array($result));


?>


строки

$result3 = mysql_query("select * from model where id='$rz' ",$db);
$row3 = mysql_fetch_array($result3);
$result2 = mysql_query("select * from razmer where rz='$rz' ",$db);
$row2 = mysql_fetch_array($result2);
do {
printf ("<table><td>диаметр %s, %s </td>  </table>",$row2["diametr"], $row2["rz"]);

}
while ($row2 = mysql_fetch_array($result2));
}

while ($row = mysql_fetch_array($result));

   результат 3 приравнивает id кпеременной $rz,  а результат 2 приравнивает параметр rz к переменной $rz  тоесть если, id из таблицы model, =1, то из таблицы razmer должны вывестись все результаты у которых параметр rz = 1 но в итоге у меня при такм коде ничего не вывелось

122

Re: Выпадающий список

Я уже не в состоянии понять что вы делаете. Пробуйте так.

$result3 = mysql_query("select * from model where id='$rz' ",$db);
while ($row3 = mysql_fetch_array($result3)) {
    $result2 = mysql_query("select * from razmer where rz='$rz' ",$db);
    while ($row2 = mysql_fetch_array($result2)) {
        printf ("<table><td>диаметр %s, %s </td>  </table>",$row2["diametr"], $row2["rz"]);
    }
}

Если не сможете разобраться, то начинайте упрощать. Начните с самого начала, с одного запроса из одной таблицы.

123 (изменено: павелsimon, 2012-03-23 19:21:58)

Re: Выпадающий список

так вообще ничего не выводится


у меня работает до момента вывода из таблицы модель

,  схема вывода

бренд 1,   id=1
бренд 2,    id=2

нажимаю на бренд и обработчик выводит

модель1,  id=1, br=1   где br=1, равен бренд 1,   id=1
модель2,  id=2, br=1    где br=1, равен бренд 1,   id=1
модель3,  id=3, br=1     где br=1, равен бренд 1,   id=1

а нужно чтоб вывело


модель1,  id=1, br=1
    размер1 id=1,  rz=1   сдесь,   rz = модель1,  id=1
    размер2 id=2,  rz=1   сдесь,   rz = модель1,  id=1
    размер3 id=3   rz=1   сдесь,   rz = модель1,  id=1
    размер4 id=4   rz=1   сдесь,   rz = модель1,  id=1
модель2,  id=2, br=1
     размер1 id=1,  rz=2  сдесь,    rz = модель2,  id=2
     размер2 id=2,  rz=2   сдесь,   rz = модель2,  id=2
модель3,  id=3, br=1
     размер1 id=1,  rz=3    сдесь,   rz = модель3,  id=3
     размер2 id=2,  rz=3,   сдесь,   rz = модель3,  id=3
     размер3 id=3   rz=3    сдесь,   rz = модель3,  id=3
     размер4 id=4   rz=3    сдесь,   rz = модель3,  id=3

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


вот код вывода брендов,

<?php include("blocks/conect.php"); ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<?php 
$result = mysql_query("select * from brands",$db);
if(!$result)
{
echo "<p>Запрос на вывод данных из базы не прошол. Напишите об этом
администратору: mironchuk.pavel@mail.ru<br><strong>Код ошибки: </strong>></p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$row = mysql_fetch_array($result);
}
else
{
echo "<p>Информация по запросу не может быть извлеченв, в таблице нет записей.</p>";
exit();
}
do
{
printf
("<p><a href='view_br.php?br=%s'>%s</a></p>",$row["id"], $row["name"]);
}
while ($row = mysql_fetch_array($result));
?>
</body>
</html>

вот обработчик который выводит из таблицы модели

<?php include("blocks/conect.php"); ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<?php include("blocks/conect.php");
if (isset($_GET['br'])) {$br = $_GET['br'];}
if (!isset($br)) {$br = 1;} 
$result = mysql_query("select * from brands where id='$br'  ",$db);
 ?>
  <?php 
$result = mysql_query("select * from model where br='$br'",$db);
$row = mysql_fetch_array($result);
     
do {

printf("<table width='400' border='1'>
  <tr>
    <td colspan='9'>%s</td>
  </tr>
  <tr>
    <td colspan='2'>фото</td>
    <td colspan='7' rowspan='2'>текст</td>
  </tr>
  <tr>
    <td>сезон</td>
    <td>тип</td>
  </tr>
  <tr>
    <td colspan='2'>ширина</td>
    <td>профиль</td>
    <td>ss</td>
    <td>инд.нагр</td>
    <td>инд.скор</td>
    <td>количество</td>
    <td>цена </td>
    <td> <a href='view_rz.php?rz=%s'>подробнее</a></td>
</tr>
</table>",$row["model"],$row["id"]);

$result3 = mysql_query("select * from model where id='$rz' ",$db);
$row3 = mysql_fetch_array($result3);
$result2 = mysql_query("select * from model,razmer   ",$db);
$row2 = mysql_fetch_array($result2);
do {
printf ("<table><td>диаметр %s %s </td>  </table>",$row2["diametr"], $row2["id"]);

}
while ($row2 = mysql_fetch_array($result2));
}

while ($row = mysql_fetch_array($result));


?>
 
 
</body>
</html>

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

$result3 = mysql_query("select * from model where id='$rz' ",$db);
$row3 = mysql_fetch_array($result3);
$result2 = mysql_query("select * from model,razmer   ",$db);
$row2 = mysql_fetch_array($result2);
do {
printf ("<table><td>диаметр %s %s </td>  </table>",$row2["diametr"], $row2["id"]);

}
while ($row2 = mysql_fetch_array($result2));

124

Re: Выпадающий список

В переменной $rz должен быть идентификатор модели.

$result3 = mysql_query("select * from model where id='$rz' ",$db);
while ($row3 = mysql_fetch_array($result3)) {
    print $row3['id']; // Тестовый вывод идентификатора.

    $result2 = mysql_query("select * from razmer where rz='" . $row3['id'] . "' ",$db);
    while ($row2 = mysql_fetch_array($result2)) {
        printf ("<table><td>диаметр %s, %s </td>  </table>",$row2["diametr"], $row2["rz"]);
    }
}

125

Re: Выпадающий список

если вставляю вот так то ничего не выводится только таблицы с моделями

 <?php echo $row["text"];?>
        <?php 
$result = mysql_query("select * from model where br='$br'",$db);
$row = mysql_fetch_array($result);
     
do {

printf("<table width='400' border='1'>
  <tr>
    <td colspan='9'>%s</td>
  </tr>
  <tr>
    <td colspan='2'>фото</td>
    <td colspan='7' rowspan='2'>текст</td>
  </tr>
  <tr>
    <td>сезон</td>
    <td>тип</td>
  </tr>
  <tr>
    <td colspan='2'>ширина</td>
    <td>профиль</td>
    <td>ss</td>
    <td>инд.нагр</td>
    <td>инд.скор</td>
    <td>количество</td>
    <td>цена </td>
    <td> <a href='view_rz.php?rz=%s'>подробнее</a></td>
    
    
    
  </tr>
</table>",$row["model"],$row["id"]);

$result3 = mysql_query("select * from model where id='$rz' ",$db);
while ($row3 = mysql_fetch_array($result3)) {
    print $row3['id']; // Тестовый вывод идентификатора.

    $result2 = mysql_query("select * from razmer where rz='" . $row3['id'] . "' ",$db);
    while ($row2 = mysql_fetch_array($result2)) {
        printf ("<table><td>диаметр %s, %s </td>  </table>",$row2["diametr"], $row2["rz"]);
    }
}
}

while ($row = mysql_fetch_array($result));


?>