Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2011, 23:50   #1
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию выборка из БД при нажатии на кнопку

суть в следующем - есть результат выборки... строится таблица
далее нужна кнопка "Показать подробнее" при ее нажатии выполняется еще один селект и выводиится вторая таблица... но задача, чтобы и первая таблица оставалась на экране, при этом первый селект заново не выполнялся... это возможно без js и ajax?

пробую так... <form><input type="button" value="Показать" onclick="<?php start()?>"></form>

ну и функция
function start() {

$query2 = "SELECT
....
....
";
$result2 = mysql_query($query2) or die("Invalid query: " . mysql_error());
}

пробовал через get, но тогда не выводится первая таблица... спасибо заранее за советы!
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 00:05   #2
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

вы так делали?
первая таблица выводиться по первому параметру GET
т.е. site.php?table=1
после силка <a href="site.php?table=1&all=2">Показ ать подробнее</a>

Код:
при этом первый селект заново не выполнялся
перезагрузка полюбому будет
X@OC вне форума Ответить с цитированием
Старый 31.08.2011, 00:11   #3
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

так да.. должно получиться... щас попробую по скорости - спасибо!
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 00:20   #4
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

ночью уже туплю...
<form method="get" action="munvyborword9.php?tab=1&all =1" name="tab"><input type="submit" value="Показать"></form>

<?php

if (!empty($_GET['all'])){

ничего не происходит при нажатии на кнопку
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 00:29   #5
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

отбой... поставил форму ниже и все ок... спасибо!
но проблемы это не решило, так как все $_POST из формы сбрасываются... и не строится первый селект...

Последний раз редактировалось Dmitry1983; 31.08.2011 в 00:31.
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 00:52   #6
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

а если все передавать через $_POST
может будет неудобно так писать
Код:
<form method="post" action="munvyborword9.php" name="tab">
<input type="hidden" name="table" value="1">
<input type="hidden" name="all" value="2">
<input type="submit" value="Показать"></form>
зато должно работать

Последний раз редактировалось X@OC; 31.08.2011 в 01:01.
X@OC вне форума Ответить с цитированием
Старый 31.08.2011, 20:59   #7
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

к сожалению тож не работает... не сохраняются резултаты первой выборки где присваиваются значения переменным методом POST...
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 21:20   #8
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

сорри за код... ниже исправил
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 21:21   #9
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

PHP код:
<table align="center" border="1">
<?php
if (!empty($_POST['table2'])){
$ot_nas $_POST['ot_nas'];
$do_nas $_POST['do_nas'];
$otms2$_POST['otms2'];
$doms2 $_POST['doms2'];
$otdep2 $_POST['otdep2'];
$dodep2 $_POST['dodep2'];
$ma2=$_POST['ma2'];
$new=$_POST['new'];
$o_status=$_POST['o_status'];
$po_form=$_POST['po_form'];

$kolvo=$_POST['kolvo'];

echo 
"$ma2<br>$new<br>$o_status<br>$po_form";

$go $_POST['go'];
$mr $_POST['mr'];
$gp $_POST['gp'];
$sp $_POST['sp'];
$all=$_POST['all'];

$array = array($go$mr,$gp,$sp);
$IN=implode(","$array);
echo 
"<br>$IN";


if (empty(
$kolvo)) 
{
    
$kolvo=1000;
    }


if (empty(
$ot_nas) and empty( $do_nas)and empty( $otms2)and empty( $doms2)and empty( $otdep2)and empty( $dodep2)and empty( $new)and empty( $o_status))
 { 
    echo 
'Вы не указали критериев';


else 
{
    
$where '1=1';
$text="";
$where2 '';
 if (!empty(
$ot_nas)){
  
$where $where " AND b.nas > $ot_nas";
  
$text=$text"<br> с численностью населения от ".$ot_nas." чел. ";  }
   if (!empty(
$do_nas)){
  
$where $where " AND b.nas < $do_nas";
  
$text=$text"до ".$do_nas." чел.</br>";    }
  
 if (!empty(
$otms2)){
 
$where $where " AND c.kolvo_ms > $otms2";
  
$text=$text"<br> с численностью МС от ".$otms2." чел.";  }
    if (!empty(
$doms2)){
$where $where " AND c.kolvo_ms < $doms2";
$text=$text" до ".$doms2." чел.";     }

if (
$_POST['all']==10){
$IN="2,3,4,5";}
if (empty(
$go) and empty( $mr)and empty( $gp)and empty( $sp))
 { 
    
$IN="2,3,4,5";} 

$_session['where']=$where;
$_SESSION['in']=$IN;

?>
вот тут заканчивается первая выборка из формы... генерируется WHERE для селекта и IN.
</table>
<form method='post' action='' name='tab'>
<input type='hidden' name='table2' value='1'>
<input type='hidden' name='all2' value='2'>
<input type='submit' value='Показать подробнее'></form>

далее кнопка "Показать подробнее" и должна делаться новая выборка, испоользуя WHERE и IN из первой "части"...
<table border="1">
PHP код:
<?

if (!empty($_POST['all2'])){

$query2 "SELECT a.uid,
a.tip,
a.name_rus,
a.namera,
a.namesub,
b.gid,
b.nas,
b.new,
c.kolvo_ms,
c.po_dep,
c.ma_form,
c.po_form
FROM (geo_base AS a INNER JOIN geo_data as b ON b.gid=a.uid) INNER JOIN geo_omsu AS c ON c.gid=a.uid WHERE "
.$_SESSION['where']." AND a.tip IN (".$_SESSION['in'].") ORDER BY b.nas LIMIT $kolvo";
где ошибаюсь? видимо неправильно я почитал про сессии...
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 21:39   #10
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

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

Последний раз редактировалось Dmitry1983; 31.08.2011 в 21:43.
Dmitry1983 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
диалоговое окно при нажатии на кнопку sbury JavaScript, Ajax 5 02.02.2011 15:31
Уничтожить кнопку при нажатии на неё же. NoName_emaNoN Общие вопросы Delphi 28 22.01.2011 15:42
при нажатии на кнопку Delete vik85 Помощь студентам 0 20.12.2009 20:34
Скрытие интерфейса при нажатии на кнопку kostghost Общие вопросы Delphi 3 28.08.2009 11:10
прокрутка при нажатии на кнопку neformat JavaScript, Ajax 0 20.06.2008 20:40