Перейти к содержимому

Фото
- - - - -

Скрипт/код PHP


  • Вы не можете создать новую тему
  • Please log in to reply
29 ответов в этой теме

#1 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 13 сентября 2008 - 00:14

Ребята, подкиньте кусочек кода на пхп, такой, чтобы при выборе определенных товаров с определенной ценой, внизу на странице складывалась общая цена на товар. Хотбы с двумя товарами, а дальше у уже сам доделаю...
Спасибо.

Сообщение изменено: Жорж (13 сентября 2008 - 00:14 )

  • 0

#2 еть.

еть.
  • Постоялец
  • 2 655 сообщений

Отправлено 13 сентября 2008 - 01:36

это к javascript
  • 0

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


#3 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 13 сентября 2008 - 02:50

это к javascript

+1
такие вещи делаются на клиентской стороне
  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#4 Guest_Клошар_*

Guest_Клошар_*
  • Гость

Отправлено 13 сентября 2008 - 08:30

За 50 крон могу помочь :)

#5 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 13 сентября 2008 - 09:20

Сделай как корзину да и не парься )
  • 0

#6 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 13 сентября 2008 - 11:06

это к javascript

можно и на яве

смотрю, тут скупые все какие-то :)

Сообщение изменено: Жорж (13 сентября 2008 - 11:07 )

  • 0

#7 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 13 сентября 2008 - 11:42

Жорж, Берешь в сессию записываешь массив в виде item => price и потом в конце просто суммируешь price и всё.
  • 0

#8 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 13 сентября 2008 - 11:44

Otacon, можешь написать это? я не кул проггер :)
  • 0

#9 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 13 сентября 2008 - 11:50

Секунду
Update: всё-таки массивы я не люблю :)

Сообщение изменено: Otacon (13 сентября 2008 - 12:13 )

  • 0

#10 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 13 сентября 2008 - 12:27

всё-таки массивы я не люблю

жаль...
может кто-то остался, кто любит их ещё? :)
  • 0

#11 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 13 сентября 2008 - 12:35

<?php
session_start();

//session_unset();
//session_destroy();

function AddToCard($item, $price){

	$_SESSION['card']['items'][]  = $item;
	$_SESSION['card']['price'][]  = $price;
	$_SESSION['card']['itemid'][] = md5(uniqid(rand(), true));

}

function Checkout() {
	if(!count($_SESSION['card']['items'])) {
		return 'Ваша корзина пуста';
	} else {
		return array_sum($_SESSION['card']['price']);
	}
}

addToCard('semki', 40);
addToCard('kepka', 300);

echo Checkout();

?>
Альфа-версия ) Работает )

Сообщение изменено: Otacon (13 сентября 2008 - 12:48 )

  • 0

#12 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 13 сентября 2008 - 17:32

Otacon, да не ты что-то недопонял ситуацию, тут что ты дал выдяёт какое-то одно число только, а мне надо чтоб был какбы выбор товаров и когда их отмечаешь то внизу меняется цена...
Хотя может и я что-то недопонял :)
  • 0

#13 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 13 сентября 2008 - 18:05

Жорж, А. Значит я неправильно понял ;) Если тебе только показать - то да, это Яваскрипт ;)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <title>Checkout</title>
  <script>
  var sum = 0;

  function Add(int) {
	sum += int;
	document.getElementById('summa').value = sum;
  }

  </script>
</head>

<body>
<p><input type="checkbox" name="" onclick=Add(50); /> Кепка</p>
<p><input type="checkbox" name="" onclick=Add(40); /> Семки</p>
<p>Общая сумма: <input id="summa" value="0" disabled="disabled" /></p>
</body>

</html>

Тут уж сам, я Яваскрипт ваще терпеть не могу ))) 

Сообщение изменено: Otacon (13 сентября 2008 - 18:12 )

  • 0

#14 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 13 сентября 2008 - 20:06

Вот так я думаю будет посимпатишнее

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>Checkout</title>
<script>
	var amount = new Number(0);

	function updateAmount() {
		document.getElementById('amount').innerHTML = amount + ' EEK';
	}

	function attachEventToCheckboxes() {
	  var cbList=document.getElementsByTagName('input');
	  for (var i=0;i<cbList.length;i++) cbList[i].onclick =  doCheck;
	}
	
	function doCheck(e) {
		var el = (e&&e.target) || (event&&event.srcElement);
		if (el.tagName != "INPUT") return;
		var trElem = el.parentNode.parentNode;
		var summa = Number(trElem.childNodes[trElem.childNodes.length-2].innerText);
		amount = amount + ((el.checked)?summa:-summa);
		updateAmount();
	} 

	updateAmount();
</script>
</head>
<body onload="attachEventToCheckboxes();">
<div class="tableContainer" id="data">
  <table cellspacing="0">
	 <thead>
	  <tr> 
		<td width="70%">Name</td>
		<td width="25%">Price</td>
		<td width="5%">Check</td>
	  </tr>
	</thead>
	<tfoot bgcolor="silver">
	  <tr> 
		<td colspan="1">Total:</td>
		<td colspan="2" name="amount" id="amount">0</td>		
	  </tr>
	</tfoot>
	<tbody>
	  <tr> 
		<td>C++</td>
		<td>12.00</td>
		<td><input type='checkbox' name='sel'  value=''></td>
	  </tr>
	  <tr> 
		<td>Java</td>
		<td>1.00</td>
		<td><input type='checkbox' name='sel'  value=''></td>
	  </tr>
	  <tr> 
		<td>Cobol</td>
		<td>55</td>
		<td><input type='checkbox' name='sel'  value=''></td>
	  </tr>
	  <tr> 
		<td>Delphi</td>
		<td>20</td>
		<td><input type='checkbox' name='sel'  value=''></td>
	  </tr>
	</tbody>
  </table>
</body>
</html>

Сообщение изменено: Incubo (13 сентября 2008 - 20:08 )

  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#15 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 13 сентября 2008 - 20:17

Incubo, Клёво :) Но Яваскрипт я всё равно ненавижу =D xD
  • 0

#16 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 13 сентября 2008 - 20:20

Otacon, очень даже зря ... без него невозможно создать достойное внимания WEB 2 приложение....
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#17 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 13 сентября 2008 - 20:35

Incubo, Да. Нельзя, увы
  • 0

#18 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 13 сентября 2008 - 21:18

Incubo, пасиба за код, всё хорошо, только почемуто вместо того чтобы складывать он пишет NaN... не пойму почему... :)

Сообщение изменено: Жорж (13 сентября 2008 - 21:18 )

  • 0

#19 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 13 сентября 2008 - 21:26

Incubo, пасиба за код, всё хорошо, только почемуто вместо того чтобы складывать он пишет NaN... не пойму почему... :)


Наверно, из-за того что ты изменил структуру таблицы ...
Тебе надо заменить код
var summa = Number(trElem.childNodes[trElem.childNodes.length-2].innerText);
на свой ...
var summa = ....
который будет вытаскивать значение из конкретной нажатой строки ....
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#20 Cryptoboy

Cryptoboy
  • Пользователь
  • 280 сообщений

Отправлено 14 сентября 2008 - 13:43

Otacon, очень даже зря ... без него невозможно создать достойное внимания WEB 2 приложение....

Можно .. сейчас фреймворки пишут весь яваскрипт за тебя :))
  • 0

#21 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 14 сентября 2008 - 15:33

Incubo,

Наверно, из-за того что ты изменил структуру таблицы ...

я ничего не менял...
  • 0

#22 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 14 сентября 2008 - 21:20

Можно .. сейчас фреймворки пишут весь яваскрипт за тебя :))


Весь - да не весь ... если ты программируешь на Delphi это не значит что тебе не надо знать как устроен жизненый цикл приложения. И что значит WndProc(HWND hwnd, UINT Message, WPARAM wparam,LPARAM lparam) ...
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#23 Cryptoboy

Cryptoboy
  • Пользователь
  • 280 сообщений

Отправлено 14 сентября 2008 - 21:40

Это ясно.

Ты говорил, что невозможно создать нормальное веб два ноль приложение без знания яваскрипта.. я ответил , что можно :)
  • 0

#24 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 14 сентября 2008 - 21:49

Но Яваскрипт я всё равно ненавижу

Зря, очень хорошая штука, была бы моя воля я бы почти всё на нём делал. (Но увы есть заказчики у которых на этот счёт своё мнение)
  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#25 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 14 сентября 2008 - 21:53

Vladson, Богу богово, кесарю кесарево ... =D
  • 0

#26 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 14 сентября 2008 - 22:38

Именно так, на вкус и цвет фломастеры разные :D
  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#27 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 14 сентября 2008 - 22:44

Incubo, ты мне не подскажешь, как исправить? :)
  • 0

#28 Cryptoboy

Cryptoboy
  • Пользователь
  • 280 сообщений

Отправлено 15 сентября 2008 - 09:12

Попробуй заменить

var summa = Number(trElem.childNodes[trElem.childNodes.length-2].innerText);

на

var summa = Number(trElem.childNodes[3].firstChild.nodeValue);

  • 0

#29 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 15 сентября 2008 - 13:57

Incubo, ты мне не подскажешь, как исправить? :)


Ты мне код ошибки покажи <_<
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#30 Жорж

Жорж
  • Постоялец
  • 1 019 сообщений
  • Откуда:Estonia

Отправлено 15 сентября 2008 - 14:25

Slаm, спасибо :)
Incubo, тебе тоже респект :)

Сообщение изменено: Жорж (15 сентября 2008 - 14:26 )

  • 0