Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Замена значений ячеек таблицы. (https://javascript.ru/forum/events/2692-zamena-znachenijj-yacheek-tablicy.html)

q--b 04.02.2009 15:09

Цитата:

Может быть еще как то можно решить эту же задачу ?
сама таблица с данными формируется php скриптом.
вот именно php скриптом её и надо решать,а иначе говоря - серверными силами. Это будет намного практичнее и эффективнее. . .

Zibba 04.02.2009 15:41

q--b,
Если Вы не заметили, то топикстартеру нужно чтобы значения в таблице перестчитывались и заменялись если стоит определенный флаг или действие, и возвращались обратно, по отмене этого действие (чекбокс).
Цитата:

Сообщение от q--b
вот именно php скриптом её и надо решать,а иначе говоря - серверными силами. Это будет намного практичнее и эффективнее. . .

Не рентабельно каждый раз грузить новую страницу и грузить этими вычислениями сервер, если их можно выполнить на строне клиента!

q--b 04.02.2009 18:13

Цитата:

Сообщение от Zibba (Сообщение 12049)
q--b,
Если Вы не заметили...

bla bla bla и все такое - вы становитесь предсказуемым да и вообще тут не того масштаба операции чтобы переживать за сервер другое дело если бы я тоннами числа с плавающей точкой умножал тогда может быть . . .и кстати если вы заметили

Цитата:

Сообщение от madgals
Может быть еще как то можно решить эту же задачу ?

впрочем все это снова никчёмный трёп,а по факту серверный вариант нужен в первую очередь, а уж на него сверху всякие js финтифлюшки накручивайте и прочее. . .или вы всегда одеваете сначала шапку,пальто,а потом только туфли ?


вот готовый пример...http://club.dyndns.biz/dom/tab.php

создадим файл header.inc с кодом

Код:

<?php
echo
"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' lang='en' xml:lang='en'>
<head>
<title>tab</title>
</head>
<body bgcolor='#C4C5B1'>
<form action='check.php' method='POST'>
<center>
<br/><h3>введите значение согласно курсу валюты</h3><br/>
<input type='text' name='val' size='2' maxlength='2'/><input type='submit' name='calc' value='calc'/><br/><br/>
</center>
<table style=height:50%;width:100%;>
<tr><th width='30%'><h1>товар</h1></th><th width='40%'>&nbsp;</th><th width='30%'><h1>цена</h1></th></tr>
</table>
<table style=height:50%;width:100%;>";
?>

создадим файл tab.php с кодом

Код:

<?php
include('header.inc');
$prise=array(1000,2000,3000,4000,5000,6000,7000,8000,9000,10000);
$items=array('car','ball','doll','stone','matches','cup','cap','spoon','bottle','pen');
$a=sizeof($prise);
for($i=0;$i<$a;$i++){
        echo"\n".'<tr><th width=30%>'.$items[$i]."<th width=40%><img src=\"images/".$i.".gif\" width=50 height=50 alt=\"?\"/></th></th><th id=\"a".$i."\" width=30%>".$prise[$i]."</th></tr>";
        }
include('footer.inc');
?>


создадим файл сценария check.php с кодом

Код:

<?php
include('header.inc');
$prise=array(1000,2000,3000,4000,5000,6000,7000,8000,9000,10000);
$items=array('car','ball','doll','stone','matches','cup','cap','spoon','bottle','pen');
$pat="/[1-9]/";
if(preg_match($pat,$_POST['val'])){
        $a=sizeof($prise);
        for($i=0;$i<$a;$i++){
                echo"\n".'<tr><th width=30%>'.$items[$i]."<th width=40%><img src=\"images/".$i.".gif\" width=50 height=50 alt=\"?\"/></th></th><th id=\"a".$i."\" width=30%>".$prise[$i]/$_POST['val']."</th></tr>";
                }
            }
        else{
                echo"<center><font color='red'>некорректное значение</font></center>";
                $a=sizeof($prise);
                for($i=0;$i<$a;$i++){
                        echo"\n".'<tr><th width=30%>'.$items[$i]."<th width=40%><img src=\"images/".$i.".gif\" width=50 height=50 alt=\"?\"/></th></th><th id=\"a".$i."\" width=30%>".$prise[$i]."</th></tr>";
                        }
                    }
include('footer.inc');
?>

создадим файл footer.inc с кодом

Код:

<?php
echo
"\n</table>
</body>
</html>";
?>

p.s.
Для корректной работы все должно лежать в одной папке на сервере! Оговорка - много хтмл ошибок,но хтмл можно менять не трогая скрипт! Ячейкам с ценой присвоены id чтобы вам было удобно потом работать с js. Есть дырка и может не одна,но если пива поставите - напишу патч! Возможен вариант, что напишу все полностью вместе с javascript обновлением цены,но это уже за денежку, хотя. . .может и так напишу если время будет ,ибо мне это тоже пригодится. . .:)

Zibba 04.02.2009 23:21

Цитата:

Сообщение от q--b
вы становитесь предсказуемым

Это к чему!? O_O Если честно вот в этом месте я Вас вообще не понял :D . Вы так говорите будто я когда то с Вами тут спорил (обращайте внимания на ники, не у всех они бывают такими уникальными как у Вас, у некоторых и на Z начинаются)

Цитата:

Сообщение от q--b
Может быть еще как то можно решить эту же задачу ?

Думаю топикстартер уточнял что не сильно дружит с JS и именно поэтому просит помощи, а если данную задачу нельзя выполнить при помощи оного, то можно ли прибегнуть к каким то другим мерам, и что для этого понадобится.

И давно хотел у Вас спросить уважаемый q--b почему Вы начинаете предлагать свои вселенские варианты решения только после того как топик стартер скажет всем спасибо за помощь и заветные слова "Проблема решена!"!?

P.S. Даже спорить с Вами не хочется больше, извините но если Вам не нравится мое решение данного вопроса, то это не означает что оно не правильно или единственно верное. Если Вы не в курсе, то воду можно пить не только из чашки, но и из бутылки, из под крана, с рук etc, другой вопрос от чего ты останешься доволен.

P.P.S. Просьба к Администрации, удалите этот флуд и флейм на тему "В ИНТЕРНЕТЕ СНОВА КТО ТО НЕ ПРАВ", а то на мой взгляд портит всю картину более менее нормального топика, человек обратился с задачей ему показали как можно сделать. Он попробовал (реально старался, было видно что не просто выпрашивает код, а и сам что то делает. Далее усложнил задачу, ему помогли разобраться, в итоге человек остался доволен. Больше бы таких добродушных топиков). Но под конец пришел Черный властелин в лице анонимуса и начал вершить суд над неверными.

Простите, накипело просто.

q--b 05.02.2009 01:39

Цитата:

Сообщение от Zibba (Сообщение 12080)
Простите, накипело просто.[/i]

гы гы гы - накипело у него ! :D воду можно и из лужи пить только это ни есть хорошо, а решение проблемы мной началось только когда увидел топик и вопрос "Может быть еще как то можно решить эту же задачу ?"
p.s.
продолжаю усовершенствовать код доберусь и до js задумки уже есть ! Пример доступен все так же по адресу http://club.dyndns.biz/tab/tab.php Плохо,что на работу утром :mad: . . .

madgals 05.02.2009 14:44

q--b
посмотрел твой примерчег. все целиком решается на стороне сервера. В моем случае это было неприемлемо. Перезагрузка страницы - это лишнее. Был найден способ с джава скриптом и dhtml'ом.
Если что то предлагать дальше, то AJAX, а никак не чистый пхп.
P.S.И харе флудить. тут не phpclub, тут javascript и вопросы тут по javascript. А если есть желание блеснуть знаниями php то вперед на phpclub.

x-yuri 05.02.2009 14:53

madgals, если ты не рассчитываешь на пользователей с отключенным js, то надо делать на js. Если же ты хочешь сделать страничку более доступной, можно сделать на php, а поверх этого, если js включен, сделать вариант на javascript

madgals 05.02.2009 14:57

x-yuri
Javascript'а на сайте сейчас не так уж и много. Только раскраска строк таблицы, перевод в у.е. и вывод схемы проезда до точки.
Так что не думаю что будут проблемы с отображением.

x-yuri 05.02.2009 15:31

дело не в много/мало, а в том, рассчитываешь ли ты на людей с отключенным js

Zibba 05.02.2009 16:29

Цитата:

Сообщение от x-yuri
рассчитываешь ли ты на людей с отключенным js

Как по мне, так это люди живущие в каменном веке, (что то типа синонимичное DOMlevel0) WEBlevel0 =) .

P.S. Если судить о включенном/не включенном JS и спорить на эту тему, то могу привести как веский аргумент vkontakte.ru, кол-во пользователей этого ресурса, наглядный показатель включенности JS в рунете :) . А для пользователей с PDA делают специальную версию сайта, порой это дешевле/проще/меньше грузит сервер/%еще какой то вариант%, чем выдумывать универсальные способы решения задачи для десятой доли процента, которые порой не оправдают потраченного времени и ресурсов. :) (это так, мысли в слух)


Часовой пояс GMT +3, время: 21:32.