PDA

Просмотр полной версии : Бухгалтерские проводки на PHP(Знание Бухучета не надо)


blednii
16.06.2009, 18:09
Смотрите есть вот такой код.


<?php
class Bill {
var $rez;
var $number;
var $type;
var $number1;
var $type1;
var $typeofinformation;
function display() {
print("Дебет: $this->number ");
print("Кредит: $this->number1 ");
if ($this->type == "active") {
if($this->type1 == "active") {
$typeofinformation = "1";
}

}
if ($this->type == "passive") {
if($this->type1 == "passive") {
$typeofinformation = "2";
}

}
if ($this->type == "active") {
if($this->type1 == "passive") {
$typeofinformation = "3 или 4";
}

}
}

$rez->display();
print("$rez");
}
?>


Вот смотрите надо на эту страницу как-то из списка передавать 4 переменных по 2 на каждый счет.
К примеру:
необходимо переменным number и type передать такие данные number 30 а type active
А значениям number1 и type1 передать значения 31 и active соответственно.
Все это должно выбераться из списков(таких как при реге даты к примеру).
И функция должна работать,а у меня что-тоне выходит.

FireFenix
16.06.2009, 18:23
Вот смотрите надо на эту страницу как-то из списка передавать 4 переменных по 2 на каждый счет.
К примеру:
необходимо переменным number и type передать такие данные number 30 а type active
А значениям number1 и type1 передать значения 31 и active соответственно.
Все это должно выбераться из списков(таких как при реге даты к примеру).
И функция должна работать,а у меня что-тоне выходит.
Сформулируйте правильно задачу.

Для передачи переменных/значений в функцию, нужно использовать формальные параметры

//Объявление
function name_function($var1, $var2, ..., $varN)
{
}

//Вызов
name_function($var1, $var2, ..., $varN);

Для передачи переменных/значений в класс

//Вне класса
$class = new Bill();
$class->var1 = "var1";
$class->varN = "varN";

//Из класса
$this->var1 = "var1";
$this->varN = "varN";

blednii
16.06.2009, 18:29
Есть 2 страницы, на первой находяться 2 формы выбора которые передают информацию на страницу с классом.
Как при помощи

<option selected="selected" value="0">Выберите счет:</option>
<option value="1">Касса</option>

Передать значения на следующую страницу и присвоить их переменным number и type.

В итоге класс должен выводить какая проводка получилась, дебет и кредит счетов и тип проводки.

FireFenix
16.06.2009, 18:51
Думаю вы хотели как-то так

<form id="form" name="form" method="post" action="?">
<select id="type_1" name="type_1">
<option value="0" selected="selected">Выберите счет:</option>
<option value="1">Касса</option>
</select>
<select id="number_1" name="number_1">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<br>
<select id="type_2" name="type_2">
<option value="0" selected="selected">Выберите счет:</option>
<option value="1">Касса</option>
</select>
<select id="number_2" name="number_2">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<br>
<input type="submit" value="Отправить">
</form>

<?php

class Bill
{
var $number;
var $type;
var $number1;
var $type1;
var $typeofinformation;

function display()
{
echo('Дебет: ' . $this->number . '<br>');
echo('Кредит: ' . $this->number1 . '<br>');

if ($this->type == 'active')
{
if($this->type1 == 'active')
{
$typeofinformation = '1';
}
}

if ($this->type == 'passive')
{
if($this->type1 == 'passive')
{
$typeofinformation = '2';
}
}

if ($this->type == 'active')
{
if($this->type1 == 'passive')
{
$typeofinformation = '3 или 4';
}
}
}
}

if (isset($_POST['type_1']) && isset($_POST['type_2']) && isset($_POST['number_1']) && isset($_POST['number_2']))
{
$bill = new Bill();

switch ($_POST['type_1'])
{
case '0':
$bill->type = 'passive';
break;

case '1':
$bill->type = 'active';
break;
}

switch ($_POST['type_2'])
{
case '0':
$bill->type1 = 'passive';
break;

case '1':
$bill->type1 = 'active';
break;
}

$bill->number = $_POST['number_1'];
$bill->number1 = $_POST['number_2'];

$bill->display();

echo('<hr>' . $bill->type . ' - ' . $bill->number . '<br>' . $bill->type1 . ' - ' . $bill->number1 . '<br>' . $typeofinformation . '<hr>');
}

?>

blednii
16.06.2009, 19:26
Уже ближе только в поле когда выбрали касса больше ничегоне должно добавляться а должно сразу передаваться значение number 30 и type active этот счет всегда активный. А во втором должно быть значение Текущий счет и должно передаваться 31 и актив. По категориям Дебет и кредит должно выводить переменные number в дебете то значение которое у счета выбранного в первом поле. А по кредиту значение выбранно во втором поле.

FireFenix
16.06.2009, 19:38
Уже ближе только в поле когда выбрали касса больше ничегоне должно добавляться а должно сразу передаваться значение number 30 и type active этот счет всегда активный. А во втором должно быть значение Текущий счет и должно передаваться 31 и актив. По категориям Дебет и кредит должно выводить переменные number в дебете то значение которое у счета выбранного в первом поле. А по кредиту значение выбранно во втором поле.
Сформулируйте правильно задачу!
Какие точно поля используются? Какие данные хранят? Куда, куда и при каких условиях передаются значения?