<select name="city">
<?
$result = mysql_query("SELECT DISTINCT city FROM catalog ORDER BY city");
$myrow = mysql_fetch_array($result);
echo "<option>Все</option>";
echo "<option "; if ($city=="Все") {echo "selected";} echo " value='Все'>Все</option>";
do {
if ($myrow[city]!="") { echo "<option "; if ($myrow[city]==$city) {echo "selected";} echo" value='".$myrow[city]."'>".$myrow[city]."</option>"; }
}
while ($myrow = mysql_fetch_array($result));
?>
</select>
ЗАДАЧА!!! при каждом изменении значения в селект передавать это значение переменной $city без перезагрузки страницы. я понимаю, что для опытных товарищей это не сложно реализовать. и должно использоваться js. таких селектов несколько. потом они все собираются и идет поиск по каталогу. помогите пожалуйста.
Спустя 2 минуты, 21 секунда (26.07.2010 - 11:11) Basili4 написал(а):
Без перегрузки страницы только Ajax
Спустя 7 минут, 38 секунд (26.07.2010 - 11:19) titovff написал(а):
пусть Ajax, но только можно рабочий пимер. типа
<!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>
</head>
<body>
<select name="city">
<?
$result = mysql_query("SELECT DISTINCT city FROM catalog ORDER BY city");
$myrow = mysql_fetch_array($result);
echo "<option>Все</option>";
echo "<option "; if ($city=="Все") {echo "selected";} echo " value='Все'>Все</option>";
do {
if ($myrow[city]!="") { echo "<option "; if ($myrow[city]==$city) {echo "selected";} echo" value='".$myrow[city]."'>".$myrow[city]."</option>"; }
}
while ($myrow = mysql_fetch_array($result));
?>
</select>
<? echo $city?>
</body>
</html>
помогите с Ajax и как и куда поставить, чтобы выводилась переменная
<!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>
</head>
<body>
<select name="city">
<?
$result = mysql_query("SELECT DISTINCT city FROM catalog ORDER BY city");
$myrow = mysql_fetch_array($result);
echo "<option>Все</option>";
echo "<option "; if ($city=="Все") {echo "selected";} echo " value='Все'>Все</option>";
do {
if ($myrow[city]!="") { echo "<option "; if ($myrow[city]==$city) {echo "selected";} echo" value='".$myrow[city]."'>".$myrow[city]."</option>"; }
}
while ($myrow = mysql_fetch_array($result));
?>
</select>
<? echo $city?>
</body>
</html>
помогите с Ajax и как и куда поставить, чтобы выводилась переменная
Спустя 4 минуты, 39 секунд (26.07.2010 - 11:24) Basili4 написал(а):
Спустя 5 минут, 13 секунд (26.07.2010 - 11:29) Joker написал(а):
titovff еще раз не обромишь код тегами бан дам. и так первый пост правил за тебя.
Спустя 3 минуты, 30 секунд (26.07.2010 - 11:32) Joker написал(а):
тоже относиться к названию темы.
Спустя 12 минут, 4 секунды (26.07.2010 - 11:44) titovff написал(а):
Basili4 вам огромное спасибо за ссылочку. ща буду разбираться, но вроде там все доступно и то что надо!
извиняюсь за неграмотное оформление темы и вопроса.
извиняюсь за неграмотное оформление темы и вопроса.
Спустя 1 час, 31 минута, 5 секунд (26.07.2010 - 13:16) titovff написал(а):
вознинк еще вопрос. с примером разобрался, но в отличии от примера у меня при выводе переменной вместо русского текста карябли. помогите.
Спустя 3 минуты, 12 секунд (26.07.2010 - 13:19) Basili4 написал(а):
Это потому что AJAX работает с кодировкой утф8 а твой код скорее всего в win1251
Спустя 1 минута, 37 секунд (26.07.2010 - 13:20) titovff написал(а):
я об этом догадался, но как исправить?
Спустя 2 минуты, 24 секунды (26.07.2010 - 13:23) Basili4 написал(а):
Самый простой и логичный способ использовать утф на странице
Спустя 3 минуты, 5 секунд (26.07.2010 - 13:26) titovff написал(а):
а есть еще варианты? просто я на чужом сайте исправляю поиск и боюсь, что если поменяю кодировку, (а там куча ссылок на разные таблицы и страницы) то полезет куча ошибок, а хочется меньшей крови.
Спустя 51 минута, 59 секунд (26.07.2010 - 14:18) titovff написал(а):
Basili4 еще раз огромное спасибо!
для тех кому интересно вопрос с кодировкой решил
для тех кому интересно вопрос с кодировкой решил
$txt=iconv('utf-8','windows-1251',$txt);
Спустя 1 час, 46 минут, 50 секунд (26.07.2010 - 16:05) titovff написал(а):
возник новый вопрос. вот рабочий код
ajax.php
а мне нужно, чтоб я мог пользоваться значением переменной $txt
т,е я пишу после дива
<!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>
<script type="text/javascript" language="javascript">
var req = Create();
function ge(id)
{
return document.getElementById(id);
}
function Create(){
if(navigator.appName == "Microsoft Internet Explorer"){
req = new ActiveXObject("Microsoft.XMLHTTP");
}else{
req = new XMLHttpRequest();
}
return req;
}
function Request(query)
{
req.open('post', 'ajax.php' , true );
req.onreadystatechange = Refresh;
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
req.send(query);
}
function Refresh()
{
if( req.readyState == 4 )
ge('ajax').innerHTML = req.responseText;
else
ge('ajax').innerHTML = '<img src="prel.gif" />';
}
function Pusk()
{
var query;
query ='txt='+encodeURIComponent(ge('kat1').value);
Request(query);
}
</script>
</head>
<body>
<select id="kat1" onChange="Pusk()">
<option value="Все">Все</option>
<option value="Мужская обувь">Мужская обувь</option>
<option value="Женская обувь">Женская обувь</option>
<option value="Детская обувь">Детская обувь</option>
<option value="Спортивная обувь">Спортивная обувь</option>
<option value="Другая обувь">Другая обувь</option>
</select><br>
<div id="ajax"></div> <br>
<br>
</body>
</html>
ajax.php
<?php
$txt = isset($_POST['txt'])?$_POST['txt']:NULL;
$txt=iconv('utf-8','windows-1251',$txt);
echo "<br>";
echo $txt;
?>
а мне нужно, чтоб я мог пользоваться значением переменной $txt
т,е я пишу после дива
<? echo $txt ?>а переменная пустая
Спустя 3 минуты, 22 секунды (26.07.2010 - 16:08) Lenarfate написал(а):
твоя переменная txt - это то,что ты отправил ajax'ом в твой див.
вот это
вот это
Цитата |
<?php $txt = isset($_POST['txt'])?$_POST['txt']:NULL; $txt=iconv('utf-8','windows-1251',$txt); echo "<br>"; echo $txt; ?> |
только внутри дива!
Спустя 26 секунд (26.07.2010 - 16:08) Basili4 написал(а):
<?php
session_start()
$txt = isset($_POST['txt'])?$_POST['txt']:NULL;
$txt=iconv('utf-8','windows-1251',$txt);
echo "<br>";
$_SESSION['txt']=$txt;
echo $txt;
?>
втом же скрипте где див
перовой строчкой
<?php session_start() ?>
После дива
<?php echo($_SESSION['txt']) ?>
Спустя 17 минут, 16 секунд (26.07.2010 - 16:26) titovff написал(а):
в этом то и вопросссс. как ее из дива выдернуть.
может кто делал, попробую объяснить более доступно.
есть страница выбора по каталогу каталог не устраивает то, что нужно пошагово идти и до конца, только потом появиться кнопка.
вот то, что я набросал мое там есть возможность открыть доп поля для поиска если надо. нужно сделать так, чтоб можно было ввести данные в любые поля по желанию нажать на кнопку найти и тогда откроится товар. нужно как то присвоить переменным данные из селекта. в конце кода все обрабатывается вот так
может кто делал, попробую объяснить более доступно.
есть страница выбора по каталогу каталог не устраивает то, что нужно пошагово идти и до конца, только потом появиться кнопка.
вот то, что я набросал мое там есть возможность открыть доп поля для поиска если надо. нужно сделать так, чтоб можно было ввести данные в любые поля по желанию нажать на кнопку найти и тогда откроится товар. нужно как то присвоить переменным данные из селекта. в конце кода все обрабатывается вот так
<form method="POST">
<? print '<input type="hidden" name="city" id="city" value="'.$city.'">';
print '<input type="hidden" name="cat1" id="cat1" value="'.$cat1.'">';
print '<input type="hidden" name="cat2_select" id="cat2_select" value="'.$cat2_select.'">';
print '<input type="hidden" name="cat3" id="cat3" value="'.$cat3.'">';
print '<input type="hidden" name="brend" id="brend" value="'.$brend.'">';
print '<input type="hidden" name="country" id="country" value="'.$country.'">';
print '<input type="hidden" name="color" id="color" value="'.$color.'">';
print '<input type="hidden" name="material_verxa" id="material_verxa" value="'.$material_verxa.'">';
print '<input type="hidden" name="material_podkladka" id="material_podkladka" value="'.$material_podkladka.'">';
print '<input type="hidden" name="material_podoshva" id="material_podoshva" value="'.$material_podoshva.'">';
if ($material_verxa=="Все") {echo "<input type='image' src='img/btn/naiti.gif' alt='Найти' />";}
elseif ($material_podkladka=="Все") {echo "<input type='image' src='img/btn/naiti.gif' alt='Найти' />";}
elseif ($material_podoshva=="Все") {echo "<input type='image' src='img/btn/naiti.gif' alt='Найти' />";}
elseif (isset($material_podoshva)) {echo "<input type='image' src='img/btn/naiti.gif' alt='Найти' />";}
echo '<input type="hidden" name="submit_select" id="submit_select" value="submit_select">';
?>
</form>
Спустя 3 минуты, 39 секунд (26.07.2010 - 16:29) Basili4 написал(а):
titovff
В сессии храни я же тебе написал
В сессии храни я же тебе написал
Спустя 22 минуты, 3 секунды (26.07.2010 - 16:51) titovff написал(а):
Basili4 да сработало - спасибо, и хочется прыгать, да только т.к в селект грузятся данные из базы (другой причины я не вижу)
переменная все время равна "Все" хотя от куда берет не понятно
<form method="POST" id="tSearchrrr">
Цвет: <select name="kat1" onChange="Pusk()">
<?
$res2 = mysql_query("SELECT DISTINCT color FROM catalog ORDER BY color");
$myr2 = mysql_fetch_array($res2);
do {
if ($myr2[color]!="") echo "<option "; if ($myr2[color]==$color) {echo "selected";} echo" value='".$myr2[color]."'>".$myr2[color]."</option>";
}
while ($myr2 = mysql_fetch_array($res2));
?>
</select>
</form></td>
</tr>
<tr>
<td><br>
<div id="ajax"></div> <br>
<br>
<?php echo($_SESSION['txt']) ?></td>
</tr>
<tr>
<td>
<form method="post">
<? print '<input type="hidden" name="city" id="city" value="Все">';
print '<input type="hidden" name="cat1" id="cat1" value="Все">';
print '<input type="hidden" name="cat2_select" id="cat2_select" value="Все">';
print '<input type="hidden" name="cat3" id="cat3" value="Все">';
print '<input type="hidden" name="brend" id="brend" value="Все">';
print '<input type="hidden" name="country" id="country" value="Все">';
print '<input type="hidden" name="color" id="color" value="'.$_SESSION['txt'].'">';
print '<input type="hidden" name="material_verxa" id="material_verxa" value="Все">';
print '<input type="hidden" name="material_podkladka" id="material_podkladka" value="Все">';
print '<input type="hidden" name="material_podoshva" id="material_podoshva" value="Все">';
echo "<input type='image' src='img/btn/naiti.gif' alt='Найти' />";
echo '<input type="hidden" name="submit_select" id="submit_select" value="submit_select">';
?>
</form>
переменная все время равна "Все" хотя от куда берет не понятно
Спустя 2 минуты, 5 секунд (26.07.2010 - 16:53) titovff написал(а):
она и поумолчанию, без выбора селекта= все, новерное где то цепляет, буду проверять код
Спустя 16 часов, 59 минут, 12 секунд (27.07.2010 - 09:53) titovff написал(а):
Basili4 спасибо. заработало. вчера под вечер просто я уже тупил. совпадало имя у селекта и данные брались из первого, а я там не менял и поэтому было все время =все .
думаю, что эта тема закрыта.
думаю, что эта тема закрыта.