Page 1 of 2

Поставяне на променлива в заявка

Posted: Tue Nov 19, 2013 8:27 am
by Msecurity
Здравейте колеги, мисля да ви досаждам още малко :D
Значи имам един js скрипт който взима "ай-дито" от даден див - в моят случаи товай ай-ди отговаря на дадена категория, и след като се вземе от дива се визуализира във друг див.
Но проблемът идва от там че не мога да го поставя във заявката и да изведа резултати за дадената категория...
Ето и малко код за да не по нагледно всичко:

Code: Select all

Това е дивът във който се визуализира резултата от скрипта - ай-дито на категорията, което сме взели от друг див
<div id="getcat"></div>
- визуализиране само цифра - няма стилове няма нищо.. просто число - например "23"
И за да мога да го поставя във заявката го слагам в променлива:

Code: Select all

$pod_cat = print "<div id='getcat'></div>";
Това си го пробвам и извиквам $pod_cat - и пак няма проблем визуализира си взетото ай-ди "23" в моя примера.
И заявката която вече създава проблема:

Code: Select all

$allproda = mysql_query&#40;"SELECT a.*, b.* FROM categories as a, products as b 
WHERE a.cat_id=b.prod_cat AND b.prod_cat=$pod_cat"&#41;;
- По този начин би трябвало да покаже всички резултати който са с ай-ди "23" - но не ги показва ... не вади нищо ...
В заявката замествам "$pod_cat" с "23" и няма проблем ... работи си, но след като сложа променливата и до там... няма резултати няма нищо
И въпросът ми е как може да бъде решен този проблем?

Posted: Tue Nov 19, 2013 11:34 am
by fbian
Сложи променливата в единични кавички.

Posted: Tue Nov 19, 2013 11:58 am
by joTunkiq
пробвай така:

Code: Select all

"...  b.prod_cat=".$pod_cat&#41;;
:idea:

Posted: Tue Nov 19, 2013 1:33 pm
by Msecurity
И по двата начина не стана - пак не изкарва нищо..да не би този див да бърка нещо... някак си да се поства в заявката..

Posted: Tue Nov 19, 2013 2:33 pm
by fbian
Msecurity wrote:И по двата начина не стана - пак не изкарва нищо..да не би този див да бърка нещо... някак си да се поства в заявката..
Сигурен ли си,че в тази променлива въобще имаш някаква стойност?

Posted: Tue Nov 19, 2013 3:16 pm
by dgeorgiev
Може да пробваш
[php]$allproda = mysql_query("SELECT a.*, b.* FROM categories as a, products as b
WHERE a.cat_id=b.prod_cat AND b.prod_cat=".(int) $pod_cat); [/php]
Ако не стане дай резултат от var_dump($pod_cat) може би <div> и т.н. също са в променливата, но когато й дадеш 'print' просто браузъра ги интепретира.

Posted: Tue Nov 19, 2013 3:46 pm
by Msecurity
dgeorgiev wrote:Може да пробваш
[php]$allproda = mysql_query("SELECT a.*, b.* FROM categories as a, products as b
WHERE a.cat_id=b.prod_cat AND b.prod_cat=".(int) $pod_cat); [/php]
Ако не стане дай резултат от var_dump($pod_cat) може би <div> и т.н. също са в променливата, но когато й дадеш 'print' просто браузъра ги интепретира.
Пак не стана , и ето от резултата от var_dump - resource(12) of type (mysql result)

Posted: Wed Nov 20, 2013 1:39 am
by dgeorgiev
Сигурен ли си че не я презаписваш променливата, понеже не виждам как от горния код ще се получи mysql result :roll:

Posted: Wed Nov 20, 2013 7:59 am
by Msecurity
Ето от началото кода как се взима и т.н:
Извеждам подкатегориите на основната:
[php]<h4>Подкатегории:</h4>
<div id="tab_menu_container">
<ul id="tab_schedule">
<li><a href="#all" class="current" rel="tab-timeline">Всички</a></li>
<?php $podcat = mysql_query("SELECT * FROM categories WHERE cat_par=$catid");
while($cats = mysql_fetch_assoc($podcat))
{
echo '<li><a href="#'.$cats['cat_id'].'" class="" rel="'.$cats['cat_id'].'">'.$cats['cat_name'].'</a></li>';
}
?>
</ul>[/php]

При кликване върху някоя подкатегория чрез JS взимам ID-то:
[js] <script type="text/javascript">
var $tabs = $("#tab_menu_container").tabs();

$("li").click(function(){
$("#getcat").text(getSelectedTabId());
});
function getSelectedTabId() {

$tabIndex = $tabs.tabs('option', 'selected');

var $selected = $("#tab_menu_container li a").eq($tabIndex).attr('rel');

return $selected;
}
</script>[/js]

Тук извеждам резултата от JS:

Code: Select all

<div id="getcat"></div>
И го слагам в променила този резултат:

Code: Select all

$pod_cat = print '<div id="getcat"></div>';
И сега вече искам да я сложа в заявката:

[php] $allproda = mysql_query("SELECT a.*, b.* FROM categories as a, products as b
WHERE a.cat_id=b.prod_cat AND b.prod_cat=$pod_cat");
while($aprda = mysql_fetch_array($allproda))
{
Тук вече би трябвало да се покажат резултатите...
}[/php]

Ето това е всичко за това ID-то от къде идва, как се взима и т.н

Posted: Wed Nov 20, 2013 11:44 am
by dgeorgiev
Ако правилно те разбирам с js задаваш id-то, успяваш ли да върнеш някакси само през php-то числото, понеже ако php-то връща - $pod_cat = print '<div id="getcat"></div>'; т.е. div-a, а js-то го попълва динамично няма как да стане директно през php-то да вземеш id-то.
Варианта който е при кликване с javascript-та да правиш ajax заявка която да взима резултатите от категорията и да замества в съдържанието:

- Показваш подкатегориите
- При натискане правиш ajax повикване към външен php файл който връща резултати от дадената категория
- след това все още с javascript попълваш в страницата където трябва да се показват резултатите (примерно имаш един <div> с id 'results'

Друг начин не се сещам да може да стане както искаш, освен ако не го направиш линковете за категориите да водят директно към примерно bycat.php?category=23 и т.н. вместо с javascript да го задаваш.

P.S. - надявам се да не съм те объркал много :D