|
|
|
| На странице star_z3.php выводится таблица - список заявок на рассмотрение директором.
У каждой заявки есть № и пароль к ней. Хочу, чтобы при нажатии на кнопку (рядом с № заявки) открывалась в новом окне zayavka_na_ras.php именно эта заявка. Вот мой код:
$query = "SELECT * FROM zayavki_na_ras";
$result = mysql_query($query) or die("Запрос ошибочный");
while($row=mysql_fetch_array($result))
{
.................
$log_z = $row["n_zayavki"];
$pas_z = $row["password"];
echo "<tr height=><td colspan='4' align='center' bgcolor='#$tsvet'>
<form name='form_1' action='../admin/izmenenie/zayavka_na_ras.php?log_z=$log_za&pas_z=$pas_z' method='get'>
<span class='catalog_group'>заявка № $log_z </span>
<input type='hidden' name='log_z' value='$log_z'>
<input type='hidden' name='pas_z' value='$pas_z'>
<input type='button' value='Рассмотреть' onClick='openWin1()'>";
?>
<script language="JavaScript">
<!-- hid
function openWin1() {
myWin = open("http://www.root5.ru/admin/izmenenie/zayavka_na_ras.php?log_z=<?=
$log_z?>&pas_z=<?=$pas_z?>","mywindow","");
}
// -->
</script>
<?php
print "</form></td>";
.........................................
|
У меня все кнопки открывают только последнюю заявку, т.к. после вывода всей таблицы конечный результат логина и пароля содержит данные последней заявки. Как это изменить? | |
|
|
|
|
|
|
|
для: Stasycat
(27.03.2008 в 17:49)
| | Естественно, функция js постоянно генерится в цикле. Вынесите ее за пределы цикла | |
|
|
|
|
|
|
|
для: mihdan
(28.03.2008 в 11:06)
| | Да в том-то и дело - куда бы я её не поставила, везде при обращении она будет брать значение из переменной $log_z, а при выводе полной таблицы это, естественно, будет последнее значение. Как сделать так, чтобы в форме запоминалось значение именно текущей строки? | |
|
|
|
|
|
|
|
для: Stasycat
(28.03.2008 в 12:35)
| | Вы бы нарисовали ваш код полностью и поаккуратнее, а то совершенно не видно, где тело цикла
while($row=mysql_fetch_array($result)).
Вполне возможно, что вы делаете в цикле кучу форм с одним и тем же именем name='form_1' и кучу js-функций openWin1()
И после выноса js-функции за тело цикла измените
<input type='button' value='Рассмотреть' onClick='openWin1()'>";
на
<input type='button' value='Рассмотреть' onClick='openWin1(<? print '$log_z, pas_z'?>)'>";
сама функция при этом должна принимать два параметра:
function openWin1(login, pass)
и тело функции тоже надо подкорректировать в соответствие с этим | |
|
|
|
|
|
|
|
для: Хулиган
(28.03.2008 в 13:05)
| | Да, Вы правильно поняли меня - в каждой строчке цикла прописывается одна и та же форма. Вот я и спрашиваю - как сделать так, чтобы они отличались ссылками.
Вот весь код очень боьшой:
Заявка №
<?php
$vybor_zayavki=$_POST['vybor_zayavki'];
$pass= $_POST['pass'];
print "$vybor_zayavki";
$k=0; $k_1=0; $k_2=0;
$m=0; $tsvet='nnn';
$itogo_n=0; $itogo_bn=0;
$data_otr=0; $n_otr=0;
$link = mysql_connect("mysql.root5.ru", "dbu_monyc_2", "werbnm") or die("Не соединилось!!!");
mysql_select_db("db_monyc_3") or die("Не найдена БД");
$query = "SELECT * FROM zayavki";
$result = mysql_query($query) or die("Запрос ошибочный");
while($row=mysql_fetch_array($result))
{
if ($vybor_zayavki=='ras' and $pass=='vse')
{
$query = "SELECT * FROM zayavki_na_ras";
$result = mysql_query($query) or die("Запрос ошибочный");
while($row=mysql_fetch_array($result))
{
if ($row['n_zayavki']>0)
{
if ($k_2==0)
{
$k_2++;
echo "<form name='pechat' action='star_pechat.php' target='_blank' method='post'>
<input type='hidden' name='p_o' value='$vybor_zayavki'>
<input type='hidden' name='p_p' value='$pass'>
<table border='3' cellspacing='1' bordercolor='#666666'>
<tr style='color:#000000' bgcolor='#CCCCCC' class='main_text'>
<th width='2cm'>Снабженец</th>
<th>Покупатель</th>
<th>Объект</th>
<th>Время план.</th>
<th>Продавец</th>
<th>Материал</th>
<th>Ед. изм.</th>
<th>Кол-во</th>
<th>Цена, руб.</th>
<th>Сумма, руб.</th>
<th>нал/ безнал</th>
<th align='center' width='1cm'>Стоимость доставки, руб.</th>
<th>Время доставки</th></tr>";
}
if ($row["data_zayavki"]!=$data_otr)
{
$data_otr = $row["data_zayavki"];
$data = $row["data_zayavki"];
$data_d=substr($data, 8, 2);
$data_m=substr($data, 5, 2);
$data_g=substr($data, 0, 4);
echo "<tr><td colspan='13' align='center' bgcolor='#FFD1BB'><span class='catalog_group'>"
.$data_d.".".$data_m.".".$data_g."</span></td></tr>";
}
if ($row["n_zayavki"]!=$n_otr)
{
$n_otr = $row["n_zayavki"];
$log_z = $row["n_zayavki"];
$pas_z = $row["password"];
if ($tsvet=='nnn')
{
$tsvet = 'CAFEC2';
}
if ($tsvet=='CAFEC2')
{
$tsvet = 'FBFEC5';
echo "<tr height=><td colspan='4' align='center' bgcolor='#$tsvet'>
<form name='form_1' action='../admin/izmenenie/
zayavka_na_ras.php?log_z=$log_za&pas_z=$pas_z' method='get'>
<span class='catalog_group'>заявка № $n_otr </span>
<input type='hidden' name='log_z' value='$log_z'>
<input type='hidden' name='pas_z' value='$pas_z'>
<input type='button' value='Рассмотреть' onClick='openWin1()'>";
?>
<script language="JavaScript">
<!-- hid
unction openWin1() {
myWin = open("http://www.root5.ru/admin/izmenenie/zayavka_na_ras.php?log_z=<?=
$log_z?>&pas_z=<?=$pas_z?>","mywindow","");
}
// -->
</script>
<?php
print "</form></td><td colspan='9'> </td></tr>";
}
else
{
$tsvet = 'CAFEC2';
echo "<tr><td colspan='4' align='center' bgcolor='#$tsvet'>
<form name='form_1' action='../admin/izmenenie/
zayavka_na_ras.php?log_z=$log_za&pas_z=$pas_z' method='get'>
<span class='catalog_group'>заявка № $n_otr </span>
<input type='hidden' name='log_z' value='$log_z'>
<input type='hidden' name='pas_z' value='$pas_z'>
<input type='button' value='Рассмотреть' onClick='openWin1()'>";
?>
<script language="JavaScript">
<!-- hid
function openWin1() {
myWin = open("http://www.root5.ru/admin/izmenenie/zayavka_na_ras.php?log_z=<?=
$log_z?>&pas_z=<?=$pas_z?>","mywindow","");
}
// -->
</script>
<?php
print "</form></td><td colspan='9'> </td></tr>";
}
}
$snabzhenets = mysql_query("SELECT * FROM snabzhentsy") or die("Запрос ошибочный");
while($snab=mysql_fetch_array($snabzhenets))
{
if ($snab["id_snabzhentsa"]==$row["id_snabzhentsa"])
{
$inits=substr($snab["imya_snabzhentsa"],0, 1);
$fam=$snab["familiya_snabzhentsa"];
echo "<tr bgcolor='#$tsvet'><td>$fam $inits.</td>";
}
}
$pokupatel = mysql_query("SELECT * FROM klienty") or die("Запрос ошибочный");
while($pok=mysql_fetch_array($pokupatel))
{
if ($pok["id_klienta"]==$row["id_klienta"])
{
echo "<td>".$pok["klient"]."</td>";
}
}
$obekt = mysql_query("SELECT * FROM obekty") or die("Запрос ошибочный");
while($ob=mysql_fetch_array($obekt))
{
if ($ob["id_obekta"]==$row["id_obekta"])
{
echo "<td>".$ob["poln_nazv_org"]."</td>";
}
}
$v_p=substr($row["vremya_planiruemoe"],0, 5);
print "<td align='center' width='1cm' >$v_p</td>";
$material = mysql_query("SELECT * FROM materialy") or die("Запрос ошибочный");
while($mat=mysql_fetch_array($material))
{
if ($mat["id_materiala"]==$row["id_materiala"])
{
$id_postav = $mat["id_postavschika"];
$postavschik = mysql_query("SELECT * FROM postavschiki") or die("Запрос
ошибочный");
while($post=mysql_fetch_array($postavschik))
{
if ($post["id_postavschika"]==$id_postav)
{
echo "<td>".$post["postavschik"]."</td>";
}
}
echo "<td>".$mat["material"]."</td>";
$ed_izm=$mat["ed_izm"];
print "<td align='center' width='1cm' >$ed_izm</td>";
}
}
$kol_vo=$row["kol_vo"];
print "<td align='center' width='1cm'> $kol_vo</td>";
$tsena=$row["tsena_pokupka"];
print "<td align='center' width='1cm'>$tsena</td>";
$summa=$row["summa_pokupka"];
print "<td align='center' width='1cm' class='text2'>$summa</td>";
$forma=$row["forma_oplaty_pokupka"];
$stoim=$row["stoim_dostavki"];
if ($forma=="нал")
{
$itogo_n += $summa;
$itogo_n += $stoim;
}
else
{
$itogo_bn += $summa;
$itogo_bn += $stoim;
}
print "<td align='center' width='1cm'>$forma</td>";
print "<td align='center' width='1cm'>$stoim</td>";
$v_d=substr($row["vremya_dostavki"],0, 5);
print "<td align='center' width='1cm'>$v_d</td></tr>";
}
}
if ($k_2>0)
{
$itogo=($itogo_n+$itogo_bn);
$itogo=number_format($itogo,2,"."," ");
$itogo_n=number_format($itogo_n,2,"."," ");
$itogo_bn=number_format($itogo_bn,2,"."," ");
echo "</table><BR>ИТОГО: <span class='show_cost'>$itogo руб. </span><BR>нал: <span
class='catalog_group_name'>$itogo_n руб.</span><BR>
безнал: <span class='catalog_group_name'>$itogo_bn руб.</span>";
echo "<div align='right'><input type='submit' value='Версия для печати'></div></form>";
}
}
?>
|
Чтобы наглядно это увидеть заудите на http://www.root5.ru/old/star_z1.php и введите
логин: ras пароль: vse | |
|
|
|
|
|
|
|
для: Stasycat
(27.03.2008 в 17:49)
| | 1. Зачем вам переменные в атрибуте action у формы, если method="get"?
2. Зачем вам вообще здесь форма и ее поля, если в итоге вы сами формируете строку запроса для нового окна?
<?php
$query = "SELECT * FROM zayavki_na_ras";
$result = mysql_query($query) or die("Запрос ошибочный");
while($row=mysql_fetch_array($result))
{
.................
$log_z = $row["n_zayavki"];
$pas_z = $row["password"];
echo "
<tr height=>
<td colspan='4' align='center' bgcolor='#$tsvet'>
<input type='button' value='Рассмотреть' onClick='window.open(\"http://www.root5.ru/admin/izmenenie/zayavka_na_ras.php?log_z=$log_z&pas_z=$pas_z\",\"mywindow\",\"\");
</td>";
?>
|
| |
|
|
|
|
|
|
|
для: Shiva
(28.03.2008 в 14:28)
| | Так Ваши же товарищи посоветовали))) Т.е. с этого сайта.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=50391&page=1
Если есть вариант проще - подскажите, пожалуйста.
Короче, весь вопрос сводится к тому, чтобы:
- открыть новую страницу с заявкой № х,
- открывается она при нажатии на кнопку "Рассмотреть", которая есть для каждого № хаявки.
Как сделать, чтоб они не были одинаковыми? формы эти... | |
|
|
|
|
|
|
|
для: Stasycat
(28.03.2008 в 14:58)
| | Так вот же я вам и привел код. | |
|
|
|
|
|
|
|
для: Shiva
(28.03.2008 в 14:28)
| | . | |
|
|
|
|
|
|
|
для: Shiva
(28.03.2008 в 14:28)
| | Блин, как вот на этом форуме открываются определённые статьи? Ведь они тоже выведены таблицей. | |
|
|
|
|
|
|
|
для: Shiva
(28.03.2008 в 14:28)
| | Ну помогите-е-е!
Я уже форму в ссылку запихнула. Теперь открывается страница с нужными логином и паролем в адресе, но страница не та.
Он теперь ищет страницу http://www.root5.ru/old/zayavka_na_ras.php?log_z=4596&pas_z=3688 , а должен искать страницу http://www.root5.ru/old/zayavka_na_ras.php и передавать туда log_z=4596 и pas_z=3688.
Что изменить в коде, чтобы работало?
<?php
<form action='../admin/izmenenie/zayavka_na_ras.php method='get'>
заявка № $n_otr
<a href=zayavka_na_ras.php?log_z=$log_z&pas_z=$pas_z target='_blank'>
<input type='hidden' name='log_z' value='$log_z'>
<input type='hidden' name='pas_z' value='$pas_z'>
<input type='button' value='Рассмотреть'></a>
</form>
?>
|
| |
|
|
|
|
|
|
|
для: Stasycat
(28.03.2008 в 16:28)
| | Ой, простите... сама сглупила. Адрес неполный задала в ссылке.
Всё работает. | |
|
|
|