powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php) php+firebird, соединение с бд
52 сообщений из 52, показаны все 3 страниц
(php) php+firebird, соединение с бд
    #38428790
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Не получается соединиться с базой данных фаерберда.

Постоянно вываливается ошибка нет соединения с бд:
Warning: ibase_connect(): in D:\XAMPP\htdocs\FB\fb.php on line 5
failed to connect -902

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    <?PHP
    $host="localhost:D:\rent2.fdb";
    $username="SYSDBA";
    $password="masterkey";
    $dbh = ibase_connect($host, $username, $password)
         or die("failed to connect ". ibase_errcode());
    $stmt="SELECT NUMBERID FROM CUSTOMERS";
    $result= ibase_query($dbh, $stmt);
       
        if ($result==0)
           echo("<B>Error!</B>");
    ?>



При этом с помощью isql утилиты фаерберда или IBexpert прекрасно соединяется с бд

с пхп буквально пару вечеров. с mysql бд получается легко соединиться(скорее из-за того что XAMPP), а вот с фаербирдом такая засада.

также пытался соединиться с другим компьютером
$host="gkhsrv:C:\Data\Rent\rent2.fdb";

результат тот же!
Статью по ibase_connect просматривал, замечания про gds32(или что-то похожее) тоже выполнил(на локальном компьютере) не помогло.

Подскажите, что я не правильно делаю?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38428880
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Tue, 15 Oct 2013 21:50:01 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm
> or die("failed to connect ". ibase_errcode());

Попробовать ibase_errmsg() для вывода более содержательного текста?..

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38428929
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Warning: ibase_connect(): in D:\XAMPP\htdocs\bal-vod\handler.php on line 5
failed to connect I/O error for file "D: ent2.fdb" Error while trying to open file Синтаксическая ошибка в имени файла, имени папки или метке тома.

Теперь вот такое. мм. как он из

Код: php
1.
$host="localhost:D:\XAMPP\htdocs\bal-vod\rent.fdb";



делает d:\ent2.fdb

я честно слабо представляю.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38428939
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сам php файл:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 <?PHP
$host="localhost:D:\XAMPP\htdocs\bal-vod\rent.fdb";
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
$stmt="SELECT NUMBERID FROM CUSTOMERS";
$result= ibase_query($dbh, $stmt);      
if ($result==0)
echo("<B>Error!</B>");
?>



сама бд находится:
на локальном компьютере: D:\XAMPP\htdocs\bal-vod\rent.fdb
на сервере на работе: gkhsrv:C:\Rent\Data\rent2.fdb
компьютер рабочий: D:\rent2.fdb

(я пытаюсь подключиться к тому что под рукой, т.к. если получится к одной потом вопросов меньше будет.)

для просмотра результатов выполнения кода использую xampp с одним апачем.
строки в пхп.ини ibase и firebird раскомменчены.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38428957
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Wed, 16 Oct 2013 00:59:15 +0400, raziel.kdm <nospam@sql.ru>; wrote:

Требуется прочитать про разницу в строках '' и ""...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434034
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
о! Исправил. Всё получилось. По крайней мере коннект.
теперь надо сравнить то, что ввел пользователь с тем, что есть в бд.
Получится ли вот так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 <?PHP
$host='localhost:D:/XAMPP/htdocs/bal-vod/rent.fdb';
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
$sel1="SELECT NUMBERID FROM CUSTOMER WHERE NUMBERID = " . $_GET["nid"];
$result= ibase_query($dbh, $sel1);
if ($result==0)
	{
        echo("Error!");
	{
else ($result==1)
	{
	// выбираем ID,LODGINSID из бд который находится в одной строке с тем, что ввел пользователь.
	$sel2="SELECT ID,LODGINSID FROM CUSTOMER WHERE NUMBERID = '$sel1'";
	}
?> 



И тут у меня возник вопрос.
Я выбираю из бд два значения. ID и LODGINSID. как мне их разделить? потому что мне надо в два разных места залезть и по ID я найду одну информацию, а по LODGINSID другую.

Или если я буду делать так:
Код: php
1.
$sel2="SELECT ID,LODGINSID FROM CUSTOMER WHERE NUMBERID = '$sel1'"; 


но ссылаться на $sel2 с чем он будет сравнивать. я же два столбика выбрал.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434042
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не нашел как редактировать сообщения.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 <?PHP
    $host='localhost:D:/XAMPP/htdocs/bal-vod/rent.fdb';
    $username="SYSDBA";
    $password="masterkey";
    $dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
    $sel1="SELECT NUMBERID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
    $result = ibase_query($dbh, $sel1);
    if ($result==0)
	{
        echo("Error!");
	}
	else
	{
	echo("working");
	}
?> 



Просто выдает working. НО! я точно знаю что ввел неправильный nid(т.е. тот которого нет в бд)
Подскажите что я неправильно делаю?
Напомню. Нужно сравнить то, что ввел пользователь с тем что есть в бд(столбик numberid). и если он вводит что-то не то отправить его куда подальше.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434043
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sat, 19 Oct 2013 19:11:53 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm
> $result= ibase query($dbh, $sel1);
> if ($result==0)
> else ($result==1)

Что это за эротические фант=
азии???

Почитай д=
оку
всё-таки для начала...

-- =

Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434066
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это я поправил. За ссылку спасибо. т.е. она мне выдает что результат есть(true), но он пустой(вернее я то знаю, что он пустой)?

хорошо. т.е. мне надо сравнивать result identifier c тем, что ввел пользователь?

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 <?PHP
    $host='localhost:D:/XAMPP/htdocs/bal-vod/rent.fdb';
    $username="SYSDBA";
    $password="masterkey";
    $dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
    $sel1="SELECT NUMBERID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
    $result = ibase_query($dbh, $sel1);
	$row1 = ibase_fetch_row ($result);
	print_r ($row1);
?>



С помощью такого на экран выводится numberid = 2(если nid = 2) если он есть и пустота если совпадений не найдено.

т.е. теперь в $row1 находится numberid. верно?

такой вопрос. а как мне проверить есть ли совпадение или нет?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434069
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sat, 19 Oct 2013 20:08:04 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm

Используй что-то вроде:
Код: php
1.
2.
3.
4.
5.
6.
  while ($row categories = ibase fetch object($sth categorie=
s))
   {
     if ($row categories->ID CATEGORY == $cct) $pagetitle .= " :: =
".mb strtolower($row categories->CATEGORY NAME);
   }



-- =

Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434075
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm , блин... Как-то странно строки режет, зараза nntp... :\

Код: php
1.
2.
3.
4.
  while ($row_categories = ibase_fetch_object($sth_categories)) 
  {
    if ($row_categories->ID_CATEGORY == $cct) $pagetitle .= " :: ".mb_strtolower($row_categories->CATEGORY_NAME);
  }
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434123
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zirra, а можно узнать что это такое?

Как это должно работать в плане(на всякий случай чтобы вы поняли чего я хочу достичь в итоге):
пользователь вводит свой id на странице. дальше я ищу такой же в таблице customer.

Дальше мне надо будет пользователю либо выдавать ошибку(если запрос выдал пустоту) либо выдавать ему информацию( там ещё один запрос с поиском его адреса и прочей информации).

Так вот вопрос. как мне определить что выдал запрос(пустоту или какой-то результат, ведь пустота это тоже результат и возвращает 1)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434133
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm , чего узнавать-то???

Код: php
1.
2.
3.
4.
5.
6.
  while ($row_categories = ibase_fetch_object($sth_categories)) 
// пока фетчится объект из датасета, полученного от запроса, выполняем
  {
    if ($row_categories->ID_CATEGORY == $cct) $pagetitle .= " :: ".mb_strtolower($row_categories->CATEGORY_NAME);
// $датасет->ИМЯ_ПОЛЯ
  }


Почитай наконец-то внимательно документацию !.. :(
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434225
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я в принципе понял как эта штука работает.

т.е. она будет перебирать варианты(когда мы обращаемся) пока не будет пустоты и если выйдет пустота при обращении к ней, то она выдаст 0 и можно будет по этому определить совпало ли то, что ввёл пользователь с тем что есть в нашей выборке?

Если смысл мне понятен, то синтаксис нет. Подскажите по синтексу. в приведенной ссылке таких примеров нет.

($row_categories->ID_CATEGORY == $cct) $pagetitle .= " :: ".mb_strtolower($row_categories->CATEGORY_NAME);

в частности эта строка, откуда берется id_category и прочие.
( с sql практически не знаком)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434230
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sat, 19 Oct 2013 23:15:09 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm
> Если смысл мне понятен, то синтаксис нет. Подскажите по синтексу. в приведенной
> ссылке таких примеров нет.
> ($row_categories->ID_CATEGORY == $cct) $pagetitle .= " :: ".mb_strtolower($row_categories->CATEGORY_NAME);
> в частности эта строка, откуда берется id_category и прочие.
> ( с sql практически не знаком)

ID_CATEGORY, CATEGORY_NAME - имена полей в датасете, возвращаемом по запросу...
У тебя, соответственно, что-то типа $row1->NUMBERID...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434433
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zirra,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?PHP
    $host='localhost:D:/XAMPP/htdocs/bal-vod/rent.fdb';
    $username="SYSDBA";
    $password="masterkey";
    $dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
    $sel1="SELECT NUMBERID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
    $result = ibase_query($dbh, $sel1);
	while ($row1 = ibase_fetch_object($result)) 
  {
    if ($row1->NUMBERID == $cct) $pagetitle .= " :: ".mb_strtolower($row1->NUMBERID);
  }
?>



Выдает ошибку на $cct. неопределенная переменная. Может там $result должен быть?

Правда с резалтом там просто белый экран(пустота. т.е. скрипт как бы выполняется(скорее неправильно))

условие там я так понял если row1 равно numberid ==cct(что это?) , то $pagetitle .= " :: ".mb_strtolower($row1->NUMBERID); (это то же не ясно

т.е. мне ещё надо дописать else row1 = пустота, то выдача еррору пользователю?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434691
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sun, 20 Oct 2013 13:32:04 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm

Читай наконец документацию!!!
...
Я тебе привёл ПРИМЕР, из СВОЕГО кода, а ты его к себе фигачишь, не думая!!!

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434909
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
while ($row1 = ibase_fetch_object($result)) 
  {
	if ($row1->NUMBERID)
	{
	echo "working";
	}
	else
	{
	echo "shit";
	}
}



Что-то типа такого?
Если я всё правильно понял, то когда ров1=намберид он мне скажет воркинг, в остальных случаях shit! но когда ров1 пуст, то он выдает пустоту. т.е. я ошибаюсь в своих предположениях?

P.S. спасибо за подсказки.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38434950
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Mon, 21 Oct 2013 01:14:17 +0400, raziel.kdm <nospam@sql.ru>; wrote:

> Автор: raziel.kdm
> while ($row1 = ibase_fetch_object($result))
> Что-то типа такого?
> Если я всё правильно понял, то когда ров1=намберид он мне скажет воркинг, в
> остальных случаях shit! но когда ров1 пуст, то он выдает пустоту. т.е. я
> ошибаюсь в своих предположениях?

Не выдаст, а сразу уйдёт из цикла while, т.к. никакого обжекта оно не отфетчит...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38436601
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже ваш пример для меня пока сложен.

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

http://ru.wikibooks.org/wiki/PHP#While

код написанный на основании учебника:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<?PHP
$host="localhost:D:\rent2.fdb";
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password)
     or die("failed to connect ". ibase_errcode());
$stmt="SELECT NUMBERID FROM CUSTOMERS";
$result= ibase_query($dbh, $stmt);
   
while($row1 = mysql_fetch_assoc($result)){  //Получение данных о пользователе
 
        $table['NUMBERID'] = $row1['NUMBERID'];       // ID Пользователя
}
 
//Проверка
 
if ($_GET['nid'] == $table['NUMBERID']){ //проверка на совпадение
 
                //id true
                // tut poka pusto
 
        }else{  
                //id false
                // tut poka pusto
 
        }

?>



Подскажите пожалуйста. в примере используется md5 шифрование логина\пароля. Важно ли оно для реализации?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38436770
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

MD5 не важно. Ты же что-то числовое проверяешь? И как к тебе MYSQL попал расскажи.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38436890
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример из вики учебника. забыл поменять =)
да. сравниваются числа.
т.е. md5 нужен если сравниваются изображения(капча?)? или текст? интересно)

Там есть функция:
Код: php
1.
2.
3.
4.
while($row1 = ibase_fetch_assoc($result)){  //Получение данных о пользователе
 
        $table['NUMBERID'] = $row1['NUMBERID'];       // ID Пользователя
}



скажите, что лучше использовать row или assoc? assoc я так понял для множественного выбора? а если я выбираю только один столбик, то row?

т.е. я могу эту функцию использовать для получения информации при множественных выборах?
т.е.

$table['zzz'] = $row1['zzz'];
$table['aaa'] = $row1['aaa'];
$table['fff'] = $row1['fff'];

и потом выводить её на страницу?=)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38436903
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

MD5/CRC и прочие хэши - используют для быстрого поиска/сравнения. Например у тебя в БД лежит картинка в blobe и тебе нужно сравнить ее с той, которая на диске. Прикинь что легче - сравнить побайтно файл и блоб или сравнить заранее посчитанный хэш из БД и посчитанный хэш для файла?

По различиям между XXX_fetch_assoc() и XXX_fetch_object() - дело в последующем обращении к возвращаемым данным и внутренней организации хранения результата.

$row=XXX_fetch_assoc();
$fieldvalue=$row['MY_FIELD_VALUE'];

$row=XXX_fetch_object();
$fieldvalue=$row->MY_FIELD_VALUE;

За подробностями - в доку. Благо php.net вполне понятно говорит в том числе и по-русски.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38439351
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
 <?PHP
$host='localhost:D:\XAMPP\htdocs\bal-vod\rent.fdb';
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
$sel1="SELECT NUMBERID,LODGINGSID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
$result1 = ibase_query($dbh, $sel1);

while($row1 = ibase_fetch_assoc($result1)){  //Получение данных о пользователе
 
	$table1['NUMBERID'] = $row1['NUMBERID'];       // ID Пользователя
	$table1['LODGINGSID'] = $row1['LODGINGSID'];
}
 
//Проверка
 
if ($_GET['nid'] == $table1['NUMBERID']) // равно ли get_nid = numberid ?
	{ 
		$sel2="SELECT BUILDINGID,NUMBER FROM LODGINGS WHERE ID = '" . $table1["LODGINGSID"] . "'" ; // ищем здание!
		$result2 = ibase_query($dbh, $sel2);
			while($row2 = ibase_fetch_assoc($result2))
			{
			$table2['BUILDINGID'] = $row2['BUILDINGID'];       // здание пользователя
			$table2['NUMBER'] = $row2['NUMBER']; // номер квартиры
			}
		$sel3="SELECT LOCALITYID,STREETID,NUMBER FROM BUILDING WHERE ID = '" . $table2['BUILDINGID'] . "'" ; // Получаем город, улицу, номер здания!
		$result3 = ibase_query($dbh, $sel3);
			while($row3 = ibase_fetch_assoc($result3))
			{
			$table3['LOCALITYID'] = $row3['LOCALITYID']; // город
			$table3['STREETID'] = $row3['STREETID']; // улица
			$table3['NUMBER'] = $row3['NUMBER']; // номер дома
			}
		echo "wow";
	}
	else
	{  
	echo "nope";
	}
?>



Вот пока такое. вроде работает. подскажите можно ли оптимизировать? всё таки куча запросов. если пользователей будет много справиться ли сам компутер=)
У меня в row1[].row2 и т.д. хранятся теперь данные, верно? подскажите как мне их выдать пользователю?
и как мне их выдать правильно? потому что вряд ли кто-то поймет если я ему скажу, что его улица там 50. мне надо прикрутить справочник в котором будет типа: if (streetid=1) {streetid = Герцена} elseif и так для каждой улицы или есть способ попроще? в бд есть! справочник в котором streetid = нормальной улице =)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38439605
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,


1) Я бы все твои select`ы обернул в одну хранимую процедуру. Которая отдавала бы в возвращаемых значениях нужную тебе информацию или -1 (к примеру), если чего-то не нашла.
2) Зачем сохранять данные в промежуточном массиве - это тебе конечно видней, но если нужно вывести только город, улицу и т.п., то не легче ли:
Код: php
1.
2.
3.
4.
5.
   if ($row=ibase_fetch_assocc($sqlresult))  
      {
        // если нам хоть что-то вернули
        print(sprintf("Город: %s Улица: %s Дом: %s",$row['LOCALTYID'],$row['STREETID'],$row['NUMBER']));
      }


3)
Код: php
1.
 While

, который ты распихал везьде можно заменить
Код: php
1.
 if()

(ну это если ты действительно хочешь вывести первое значение, а не последнее) - это я насчет возможных проблем с пользователями с одинаковыми логинами и т.п.
4) Вместо вывода ID улицы (дома, города) - нужно сделать выборку "Названия" из справочника. Т.е. выполнить:
Код: plsql
1.
  $sqltext=sprintf("select NAIMENOVANIE_DOMA from SPAVOCHNIK_DOMOV where ID=%s",$row['NUMBER']);


Если не знаешь, как такое организовать - welcome в соседний форум по Interbase/Firebird.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38439615
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А. дошло. что-то я затупил что если запросом вытащить улицу из того справочника и потом выдать пользователю всё норм будет.
Вопрос. До этого из бд я числа доставал. Но название улицы то текст. есть ли какие хитрости при вытаскивании текста? тот же мд5 или что-то такое.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38439636
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

Да нету никаких хитростей. Можешь вообще тупо использовать:
Код: php
1.
   print("$row->VALUE_1 $row->VALUE_2 $row->VALUE_3"); 


PHP - язык без жесткой типизации. Т.е. $a у тебя может быть числом,а через пару строк превратится в строку.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38440513
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Окей. С этим я разобрался!

Код: php
1.
2.
3.
4.
5.
6.
7.
	sel5="SELECT DAY_READOUT,NIGHT_READOUT FROM CUSTOMERUTILITIES_VALUES WHERE CUSTOMERUTILITIES_COUNTER_ID = '" . $table4['ID'] . "'" ;
		$result5 = ibase_query($dbh, $sel5);
			while($row5 = ibase_fetch_assoc($result5))
			{
			$table5['DAY_READOUT'] = $row5['DAY_READOUT']; // Дневное показание
			$table5['NIGHT_READOUT'] = $row5['NIGHT_READOUT']; // Ночное показание
			}



Вот такой отрывок кода. подскажите. благодаря этому селекту у меня куча данных вылезает(DAY_R + CUS_UT_C порядка 10+ записей на каждую) как мне выбрать самое последнее которое есть в данной таблице? (есть праймари кей. может по нему? ну там искать самое большое значение праймари кей для данной записи)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38440967
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

Код: plsql
1.
2.
3.
4.
/*Самое последнее значение, ориентируемся на PK*/
SELECT FIRST 1  xxx FROM yyyy WHERE zzzz  ORDER BY PK_FIELD DESC;
/*Самое первое значение*/
SELECT FIRST 1  xxx FROM yyyy WHERE zzzz  ORDER BY PK_FIELD;


P.S. Сходи в форум по IB/FB - у тебя вопросы больше по SQL, чем по PHP пошли.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441159
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну в одном месте всё держать проще =)

1. А если мне нужно выбрать, скажем, 2ую строку(из 4 которые мне запрос выдает)

2. Хорошо. Вопрос по пхп. я с помощью handler.php получаю данные из бд. как мне их вставить в форму3? вернее как мне их передать из хандлера на страницу обратно(там в конце хандлера перенаправление, так что в теории оно не должно быть заметно, что куда-то там переходит.)
handler.php

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
<?PHP
$host='localhost:D:\XAMPP\htdocs\bal-vod\rent.fdb';
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password) or die("failed to connect ". ibase_errmsg());
$sel1="SELECT NUMBERID,LODGINGSID,ID FROM CUSTOMER WHERE NUMBERID = '" . $_GET["nid"] . "'" ;
$result1 = ibase_query($dbh, $sel1);

while($row1 = ibase_fetch_assoc($result1)){  //Получение данных о пользователе
 
	$table1['NUMBERID'] = $row1['NUMBERID'];       // ID Пользователя
	$table1['LODGINGSID'] = $row1['LODGINGSID']; // квартира в системе
	$table1['ID'] = $row1['ID']; // ID для счетчика
}
 
//Проверка
 
if ($_GET['nid'] == $table1['NUMBERID']) // равно ли get_nid = numberid ?
	{ 
		$sel2="SELECT BUILDINGID,NUMBER FROM LODGINGS WHERE ID = '" . $table1["LODGINGSID"] . "'" ; // ищем здание!
		$result2 = ibase_query($dbh, $sel2);
			while($row2 = ibase_fetch_assoc($result2))
			{
			$table2['BUILDINGID'] = $row2['BUILDINGID'];       // здание пользователя
			$table2['NUMBER'] = $row2['NUMBER']; // номер квартиры
			}
		$sel3="SELECT LOCALITYID,STREETID,NUMBER FROM BUILDING WHERE ID = '" . $table2['BUILDINGID'] . "'" ; // Получаем город, улицу, номер здания!
		$result3 = ibase_query($dbh, $sel3);
			while($row3 = ibase_fetch_assoc($result3))
			{
			$table3['LOCALITYID'] = $row3['LOCALITYID']; // город
			$table3['STREETID'] = $row3['STREETID']; // улица
			$table3['NUMBER'] = $row3['NUMBER']; // номер дома
			}
		$sel4="SELECT ID,IS_TWO_TARIFF,DESCRIPTION FROM CUSTOMERUTILITIES_COUNTER WHERE CUSTOMER_ID = '" . $table1['ID'] . "'" ;
		$result4 = ibase_query($dbh, $sel4);
			while($row4 = ibase_fetch_assoc($result4))
			{
			$table4['ID'] = $row4['ID']; // уникальный ID cчетчика в системе
			$table4['IS_TWO_TARIFF'] = $row4['IS_TWO_TARIFF']; // является ли счетчик двухтарифным?
			$table4['DESCRIPTION'] = $row4['DESCRIPTION']; // описание счетчика
			}
		$sel5="SELECT DAY_READOUT,NIGHT_READOUT FROM CUSTOMERUTILITIES_VALUES WHERE CUSTOMERUTILITIES_COUNTER_ID = '" . $table4['ID'] . "'" ;
		$result5 = ibase_query($dbh, $sel5);
			while($row5 = ibase_fetch_assoc($result5))
			{
			$table5['DAY_READOUT'] = $row5['DAY_READOUT']; // Дневное показание
			$table5['NIGHT_READOUT'] = $row5['NIGHT_READOUT']; // Ночное показание
			}
		$sel6="SELECT NAME FROM STREET WHERE ID = '" . $table3['STREETID'] . "'" ; // ищем улицу в справочнике!
		$result6 = ibase_query($dbh, $sel6);
			while($row6 = ibase_fetch_assoc($result6))
			{
			$table6['NAME'] = $row6['NAME']; // Нормальное название улицы
			}
		// $_POST[COUNTID]=$table4['ID'];
		// $_POST[IS_TWO_TARIFF]=$table4['IS_TWO_TARIFF'];
		// $_POST[DAYPOKAZ]=$table5['DAY_READOUT'];
		// $_POST[NIGHTPOKAZ]=$table5['NIGHT_READOUT'];
		// $_POST[STREET]=$table6['NAME'];
		// $_POST[DOM]=$table3['NUMBER'];
		// $_SESSION[KVARTIRA]=$table2['NUMBER'];
		// print iconv("cp1251", "UTF-8", "{$table6['NAME']}, &#366;&#52896;{$table3['NUMBER']}, &#738;&#7282;&#40032;: {$table2['NUMBER']} ");
	}
	else
	{  
	echo "wrong numberid";
	}
header('Location: http://localhost/bal-vod/pokaz.php');
?>



В самом низу хандлера я закомментил всё, что мне нужно вытащить на страницу на которой пользователь вводит NID.
HTML:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<form action="handler.php" method="get" name="form1">
	<p><label>Введите номер лицевого счета:
<input type="text" name="nid" /></label></p>
	<p><input type="submit" value="Получить данные" /></p>
</form>
<form name="form3">
	Проверьте правильность полученных данных:

	<input type="text" name="text1" size="20" maxlength="50" value="<?php echo "????" ?> readonly>
</form>
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441206
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё вопрос по sql!

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$result4 = ibase_query($dbh, $sel4);
while($row4 = ibase_fetch_assoc($result4))
{
$table4['ID'] = $row4['ID']; // уникальный ID cчетчика в системе
$table4['IS_TWO_TARIFF'] = $row4['IS_TWO_TARIFF']; // является ли счетчик двухтарифным?
$table4['DESCRIPTION'] = $row4['DESCRIPTION']; // описание счетчика
}
$sel5="SELECT DAY_READOUT,NIGHT_READOUT FROM CUSTOMERUTILITIES_VALUES WHERE CUSTOMERUTILITIES_COUNTER_ID = '" . $table4['ID'] . "' ORDER BY ID DESC";
$result5 = ibase_query($dbh, $sel5);
while($row5 = ibase_fetch_assoc($result5))
{
$table5['DAY_READOUT'] = $row5['DAY_READOUT']; // Дневное показание
$table5['NIGHT_READOUT'] = $row5['NIGHT_READOUT']; // Ночное показание
}



Я точно знаю, что $table4['ID'] может иметь от 1го до 4х (конкретно в нашей бд) значений. Скажите какое из них выбирается? или каждое из этих возможных значений используется в качестве фильтра для sel5 ? и в итоге он мне выдаст X наборов данных типа: $table4['ID'] + $table5['DAY_READOUT'] + $table5['NIGHT_READOUT']
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441313
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

Отрой для себя, что параметры можно передать в ссылке, без формы:

Код: php
1.
 header("Location: page.php?param1=My_Param1&param2=My_Param2");



В page.php:

Код: php
1.
2.
3.
  
$param1=$_GET['param1'];
print("<form .....> <input type='text' name='param1' value=$param1>");
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441321
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

Не используй запросы, которые тебе возвращают набор данных, если тебе нужна только 1 строка. У тебя везде while => ты всегда выбираешь ПОСЛЕДНЮЮ запись из набора. Зачем перебирать все, если можно получить только 1 нужную тебе запись?

Это не относится к PHP - это общий подход.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441332
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

Кстати, в header() лучше использовать относительные пути. Когда скриптов станет много - замучаешся переписывать.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441365
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMasterraziel.kdm,
Не используй запросы, которые тебе возвращают набор данных, если тебе нужна только 1 строка. У тебя везде while => ты всегда выбираешь ПОСЛЕДНЮЮ запись из набора. Зачем перебирать все, если можно получить только 1 нужную тебе запись?
Это не относится к PHP - это общий подход.
Хорошо. Там есть запросы в которых мне действительно нужна лишь одна строка!
Как мне с ними поступить? (как лучше?)
while потому что он работает)
А если мне нужно сохранить несколько наборов данных. т.е. выбрать должно там 4 варианта. как их сохранить?)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441397
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

Никто, кроме тебя не знает, как лучше ;)

Код: php
1.
2.
while ($row=ibase_fetch_object()) // перебираем все....
if ($row=ibase_fetch_object()) // проверяем, что нам что-то вернули и берем только одну запись.



Зачем тебе получать все значения - мне неизвестно. Но можно и так:

Код: php
1.
2.
3.
4.
5.
$my_array=array();
while ($row=ibase_fetch_object())
 {
   $my_array[]=$row->MY_FIELD;   // сохраним все в массив
 }


А можно и в комбик засунуть, чтобы пользователь выбрал, что ему надо:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
  function incombo($d,$name,$value,$sqltext,$fieldname,$idfieldname)
  {
    $combotext='';
    if ($d!=0)
      {
      $combotext=sprintf("<SELECT style='width: 100%%' NAME='%s'>",$name);
      $sql2=ibase_query($d,$sqltext);
      while ($row2=ibase_fetch_assoc($sql2))
        {
         if ($row2[$idfieldname]==$value)
             $combotext=$combotext.sprintf('<OPTION VALUE="%s" SELECTED>%s</OPTION>',$row2[$idfieldname],$row2[$fieldname]);
         else
             $combotext=$combotext.sprintf('<OPTION VALUE="%s">%s</OPTION>',$row2[$idfieldname],$row2[$fieldname]);
        }
      $combotext=$combotext."</SELECT>";
      ibase_free_result($sql2);
     }
    return ($combotext);
  }

  $current_value=1;  // предопределенное значение, которое будет выбрано в комбобоксе
  // выбрать все из таблицы и запихнуть в комбик для выбора на странице
  $combotext=incombo($database_connection,$current_value,"SELECT ID,CAPTION FROM CAPSTABLE","CAPTION","ID");
  // собственно рисуем комбик
  print("$combotext");
  
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441429
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

Блин, в функцию наименование комбика передать забыл, ну да ладно ;)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441479
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Т.е. если мне от запроса нужен только один результат(и я точно знаю, что выдаст он мне только 1 результат) можно смело использовать if?
Можно пример? Чтобы я понял как оно будет выглядеть.
Комбик врядли стоит давать.. люди понятия не имеют, что им нужно. (но информация полезная, пригодится)
А вот массив:
Код: php
1.
2.
3.
4.
5.
$my_array=array();
while ($row=ibase_fetch_object())
 {
   $my_array[]=$row->MY_FIELD;   // сохраним все в массив
 }


Очень полезен! Если мне нужно все выбранные значения сохранить буду пихать в массив?

А как мне потом из массива вытащить какой-либо отдельный результат? Например, выбралось 2 значения. нужно каждому из значений присвоить опр. переменную, чтобы потом выдать их пользователю.

Есть ли ещё способы передать кроме строки адреса? Там целая куча параметров. Может это можно скрытно сделать?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441490
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ibase_fetch_assoc($result))
попробуй
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441555
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

Получение 1-й строки можно сделать так:
Код: php
1.
2.
3.
4.
 $sqltext="SELECT 1 AS ID FROM RDB\$DATABASE";  // этот запрос всегда вернет 1 строку
 $sql=ibase_query($database_connection, $sqltext);
 if ($row=ibase_fetch_object($sql)) $my_id_value=$row->ID;
 else showerrormessage("Oop!");



В массив можно сохранять самыми разными способами. A можно и многомерный массив сделать ;)
Код: php
1.
2.
3.
 $my_array[]=$row->ID;   
 $my_array['ID'.$row->ID]=$row->ID;
 print_r($my_array);  //- посмотрим, что там у нас в массиве получилось


Ну а вытаскивать значения обратно - по индексу вестимо.

По поводу передачи данных между страницами/скриптами:

$_POST[] - передаем из формы
page.php?param=param1 - передаем в URL ($_GET[])
setcookie() - передаем через $_COOKIE[]
session_start() + $_SESSION['MY_VALUE_FOR_SEND']=$my_value_for_send - передаем через сессию.

Всякую экзотику типа временных файлов пока рассматривать не будем ;)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441862
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то до меня ни как не может дойти.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
$sel4="SELECT ID,IS_TWO_TARIFF,DESCRIPTION FROM CUSTOMERUTILITIES_COUNTER WHERE CUSTOMER_ID = '" . $table1['ID'] . "'" ;
$result4 = ibase_query($dbh, $sel4);
while($row4 = ibase_fetch_assoc($result4))
{
$table4['ID'] = $row4['ID']; // уникальный ID cчетчика в системе
$table4['IS_TWO_TARIFF'] = $row4['IS_TWO_TARIFF']; // является ли счетчик двухтарифным?
$table4['DESCRIPTION'] = $row4['DESCRIPTION']; // описание счетчика
}


По сути это массив же? массив в котором ключ ID и значение $row['ID']
Вот как мне в этот массив добавить ещё один массив который бы складывал все результаты полученные из запроса(конкретно по ключу ID), а не только последний.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441882
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может мне просто вытащить запрос с ID в отдельный селект и обрабатывать его ibase_fetch_row ( в остальных случаях меня устраивает assoc)

Насчет ORDER BY праймари кей похоже не пригодится. ибо assoc выбирает итак самый последний вариант.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441887
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя там про колонки, а не про строки. Ошибся!
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38441932
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
$sel7="SELECT ID FROM CUSTOMERUTILITIES_COUNTER WHERE CUSTOMER_ID = '" . $table1['ID'] . "'" ;
$result7 = ibase_query($dbh, $sel7);
while ( $row7 = ibase_fetch_row($result7) ) $mas[] = $row7;
print_r($mas[0]);



Вот такое с ключами 0,1,2 выводит те данные которые мне надо.
Вопрос.
1 Можно ли лучше?(мне нужно иметь доступ к каждому значению, оно позже будет использоваться.)
2 Как мне посчитать сколько всего строк в массиве? (от этого значения будет зависеть количество форм. к каждой форме будет привязан свой ключ $mas[] + для каждого значения $mas[] запрос:
Код: php
1.
$sel5="SELECT DAY_READOUT,NIGHT_READOUT FROM CUSTOMERUTILITIES_VALUES WHERE CUSTOMERUTILITIES_COUNTER_ID = '" . $mas[] . "' ORDER BY ID DESC" ;

)
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38442247
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Количество строк в запрос я посчитал с помощью count.
Можно ли генерировать sql запросы с помощью цикла?
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$sel7="SELECT ID FROM CUSTOMERUTILITIES_COUNTER WHERE CUSTOMER_ID = '" . $table1['ID'] . "' AND END_DATE IS NULL" ;
$result7 = ibase_query($dbh, $sel7);
while ($row7 = ibase_fetch_row($result7))
{
$mas[] = $row7;
}
$res=count($mas);
for ($x=0; $x<$res; $x=$x+1) 
{
тут в теории сгенерированные циклы 
}


в $res у меня количество счетчиков на лицевом счете который ввел пользователь. теперь надо с помощью цикла генерировать $res запросов вида:
Код: php
1.
2.
3.
$sel_$resx="SELECT IS_TWO_TARIFF FROM CUSTOMERUTILITIES_COUNTER WHERE ID = '" . $mas['$x'] . "' AND END_DATE IS NULL" ;
$sel_$resx+1=
и тп
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38442607
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMasterПо поводу передачи данных между страницами/скриптами:
$_POST[] - передаем из формы
page.php?param=param1 - передаем в URL ($_GET[])
setcookie() - передаем через $_COOKIE[]
session_start() + $_SESSION['MY_VALUE_FOR_SEND']=$my_value_for_send - передаем через сессию.
Всякую экзотику типа временных файлов пока рассматривать не будем ;)

Вообщем осталось только передать значения полученные на страницу откуда идет обращение к хандлеру =)

Вопросы:
1. Если я поставлю в handler.php (файл который получает всю информацию из бд) перенаправление на страницу в которой пользователь вводит свой NID(типа нажал кнопку и сразу получил все данные, на этой же странице)
какой из способов передачи данных мне подойдет лучше?
2. Можно ли рисовать с помощью php html формы?
я себе представляю это так:
у меня есть переменная $res в которой число форм которые надо отрисовать. код:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
if ($res==1)
{
echo 
<form action="insert.php" method="post" name="form3">
<p><label>Ваши показания:
<input type="text" name="value1" /></label></p>
<p><input type="submit" value="Save" /></p>
</form>
}
elseif ($res==2)
{
echo 
<form action="insert.php" method="post" name="form3">
<p><label>Ваши показания:
<input type="text" name="value1" /></label></p>
p><label>Ваши показания:
<input type="text" name="value2" /></label></p>
<p><input type="submit" value="Save" /></p>
</form>
}
и т.д.
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38442697
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Формы рисовать можно. Но это оказалось сложнее, чем я предполагал!
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php
if ($_SESSION['RES']==1)
{
echo '<form action="insert.php" method="post" name="form3">
<p>Последнее показание:<input type="text" name="CV1" value="сюда" readonly /></p>
<p><label>Текущее показание:<input type="text" name="value1" /></label></p>
<p><input type="submit" value="Передать" /></p></form>';
}
?>



Подскажите. Как мне в value запихнуть $_SESSION['CV1'] ?

если использовать

value="<?php echo htmlspecialchars($_SESSION['CV1']); ?>"

то ругается на CV1
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38442721
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdmругается на CV1Текст ошибки можно показать?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38442757
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да. конечно.

Parse error: syntax error, unexpected 'CV1' (T_STRING), expecting ',' or ';' in D:\XAMPP\htdocs\bal-vod\pokaz.php on line 38

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php
if ($_SESSION['RES']==1)
{
echo '<form action="insert.php" method="post" name="form3">
<p>Последнее показание: <input type="text" name="CV1" value="<?php echo $_SESSION['CV1']; ?>" readonly /></p>
<p><label>Текущее показание:<input type="text" name="value1" /></label></p>
<p><input type="submit" value="Передать" /></p></form>';
}
?>
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38442805
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raziel.kdm,

Внимательно следим за синтаксисом. Сначала идет echo, потом строка в одинарных кавычках, потом сразу какая-то ерунда вроде константы CV1, а потом еще строка в одинарных кавычках. Вам не кажется это странным?
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38442833
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Mon, 28 Oct 2013 00:05:09 +0400, vkle <nospam@sql.ru>; wrote:

> Автор: vkle
> Вам не кажется это странным?

Третьим будешь... ;)

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
(php) php+firebird, соединение с бд
    #38443028
raziel.kdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хихи. хаха. хихи.

С утра всё заработало.

Спасибо zirre за загадки, DarkMaster'у за подсказки!
...
Рейтинг: 0 / 0
52 сообщений из 52, показаны все 3 страниц
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php) php+firebird, соединение с бд
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]