Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Interbase + php
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Interbase + php

Страниц (2): [1] 2 »
 

1. Тоня - 05 Октября, 2006 - 11:39:01 - перейти к сообщению
Пытаюсь приконектится к базе interbase, пишу в AceHTML 5 PRO:

$host='\localhostd:1Q1.gdb';
$username='tonya';
$password='tonya';
$db = ibase_connect ($host, $username, $password, "win1251" );

а когда захожу через explorer, он мне пишет:
Call to undefined function: ibase_connect()
2. ARTY - 05 Октября, 2006 - 12:36:37 - перейти к сообщению
PHP не "связан" с сервером баз данных Interbase, а точнее не установлена (или не подключена) библиотека php_interbase.dll в файле конфигурации php.ini

Раскоментуруйте в Вашем php.ini строку:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. extension=php_interbase.dll
  3.  


Должно заработать.
3. Тоня - 05 Октября, 2006 - 15:26:35 - перейти к сообщению
в php.ini эта строчка есть. Может еще какие-нибудь фишки?\n\n(Добавление)
Может какие-нибудь ньюансы при установке interbase?
4. ARTY - 05 Октября, 2006 - 20:43:40 - перейти к сообщению
Нет, такая ошибка появляется, когда библиотека PHP не установлена (не интегрирована в PHP). Либо билиотека битая (как вариант - устаревшая).

Дополнительную инфу по PHP+Interbase можно почитать тут:

http://php.su/functions/?cat=ibase
5. Тоня - 06 Ноября, 2006 - 13:28:46 - перейти к сообщению
Спасибо за советы. Разобралась. Надо было заменить gds32.dll
6. Тоня - 10 Ноября, 2006 - 09:55:47 - перейти к сообщению
У меня еще вопрос. Не знаю как по умному объяснить. Но попробую.
в комбобокс я делаю select с базы, чтоб можно было выбрать, а потом запихнуть в переменную. Так вот если там в строчке больше одного слова, то в переменную запихивается только первое. Я пробовала строку конвертировать в массив,но доходим до пробела и все дальше символов нет.

7. Maksir - 11 Ноября, 2006 - 16:37:46 - перейти к сообщению
Цитата:
делаю select с базы, чтоб можно было выбрать, а потом запихнуть в переменную. Так вот если там в строчке больше одного слова, то в переменную запихивается только первое.

Как-то странно получается...
Попробуй взять простой вариант, какой-нибудь скрипт левый. Посмотри как там функции распределены.

И ещё, при таком вопросе, неплохо было бы выкладывать сам скрипт с проблемой. (что бы умные люди заменяли этот скрипт на другой, со схожими функциями и вполне работоспособный в качестве примера со своими коментариями... Радость )
8. f0rm4t - 14 Ноября, 2006 - 13:24:01 - перейти к сообщению
Без скрипта будет сложновато разобраться с проблемой. Чесно говоря я и вопрос не очень хорошо понял. Плохо сформировано Подмигивание
9. Тоня - 20 Ноября, 2006 - 16:18:57 - перейти к сообщению
вот так
CODE (text):
скопировать код в буфер обмена
  1. <td><select name="td">
  2.         <?
  3. //Подключение к БД
  4. require ("./system/inc/podkl_k_BD.inc");
  5.  
  6. $k1 = ibase_query($db,"select ID_DOK from TIP_DOK order by ID_DOK;");
  7. $k2 = ibase_query($db,"select T_DOK from TIP_DOK order by ID_DOK;");
  8.  
  9. while ($k3 = ibase_fetch_row($k1))
  10. {
  11. $j1=$k3[0];
  12. }
  13. for ($j=1;$j<=$j1;$j++){
  14. while ($k4 = ibase_fetch_row($k2))
  15. {
  16. $j2=$k4[0];
  17. echo "<option value=".$j2." >".$j2."</option>";
  18. }
  19. }
  20. ?>
  21.  </select>
  22.  </td>


Таблица состоит из 2-х столбцов, номер и название. Если название состои из двух слов, то при
echo $td;
на экран выдает только первое слово, а второго как не бывало.
10. f0rm4t - 20 Ноября, 2006 - 16:27:12 - перейти к сообщению
HTML-исходник страницы смотрела? Там тоже урезано?
11. Тоня - 20 Ноября, 2006 - 16:54:50 - перейти к сообщению
выбираю в комбобоксе "служебная записка", это должно запихнуться в переменную kd, а запихиваеться только "служебная"
12. f0rm4t - 20 Ноября, 2006 - 18:10:07 - перейти к сообщению
Мне кажется что ты привела не ту часть скрипта.
13. evgenijj - 20 Ноября, 2006 - 18:37:01 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <td><select name="td">
  3.  <?
  4. //Подключение к БД
  5. require ("./system/inc/podkl_k_BD.inc");
  6.  
  7. $k1 = ibase_query($db,"select ID_DOK from TIP_DOK order by ID_DOK;");
  8. $k2 = ibase_query($db,"select T_DOK from TIP_DOK order by ID_DOK;");
  9.  
  10. while ($k3 = ibase_fetch_row($k1))
  11. {
  12.         $j1=$k3[0];
  13. }
  14. for ($j=1;$j<=$j1;$j++)
  15. {
  16.         while ($k4 = ibase_fetch_row($k2))
  17.         {
  18.                 $j2=$k4[0];
  19.                 echo "<option value=".$j2." >".$j2."</option>";  
  20.         }
  21. }
  22. ?>
  23.  </select>
  24.  </td>
  25.  

Читал - и восхищался! Это же надо было в 10 строчках кода столько ошибок налепить.
PHP:
скопировать код в буфер обмена
  1.  
  2.  Таблица TIP_DOK:
  3.  1;Служебная записка
  4.  3;Заявление об увольнении
  5.  7;Заявление на отпуск
  6.  

После выполнения цикла
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.  while ($k3 = ibase_fetch_row($k1))
  4. {
  5.         $j1=$k3[0];
  6. }
  7. ?>
  8.  

переменная $j1 = 7. Далее семь раз (цикл for) выводим в браузер следующий html:
PHP:
скопировать код в буфер обмена
  1.  
  2. <option value=Служебная записка>Служебная записка</option>
  3. <option value=Заявление об увольнении>Заявление об увольнении</option>
  4. <option value=Заявление на отпуск>Заявление на отпуск</option>
  5. <option value=Служебная записка>Служебная записка</option>
  6. <option value=Заявление об увольнении>Заявление об увольнении</option>
  7. <option value=Заявление на отпуск>Заявление на отпуск</option>
  8. <option value=Служебная записка>Служебная записка</option>
  9. <option value=Заявление об увольнении>Заявление об увольнении</option>
  10. <option value=Заявление на отпуск>Заявление на отпуск</option>
  11. <option value=Служебная записка>Служебная записка</option>
  12. <option value=Заявление об увольнении>Заявление об увольнении</option>
  13. <option value=Заявление на отпуск>Заявление на отпуск</option>
  14. <option value=Служебная записка>Служебная записка</option>
  15. <option value=Заявление об увольнении>Заявление об увольнении</option>
  16. <option value=Заявление на отпуск>Заявление на отпуск</option>
  17. <option value=Служебная записка>Служебная записка</option>
  18. <option value=Заявление об увольнении>Заявление об увольнении</option>
  19. <option value=Заявление на отпуск>Заявление на отпуск</option>
  20. <option value=Служебная записка>Служебная записка</option>
  21. <option value=Заявление об увольнении>Заявление об увольнении</option>
  22. <option value=Заявление на отпуск>Заявление на отпуск</option>
  23. <option value=Служебная записка>Служебная записка</option>
  24. <option value=Заявление об увольнении>Заявление об увольнении</option>
  25. <option value=Заявление на отпуск>Заявление на отпуск</option>
  26.  

Значение value не заключено в кавычки - соответственно второе слово на сервер передаваться не будет (я полагаю, это и есть ответ на вопрос).
Вот так попроще будет:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. //Подключение к БД
  4. require ("./system/inc/podkl_k_BD.inc");
  5.  
  6. $res = ibase_query($db,"select ID_DOK, T_DOK from TIP_DOK order by ID_DOK;");
  7.  
  8. while ($doc = ibase_fetch_row($res))
  9. {
  10.         echo "<option value='".$doc[0]."'>".$doc[1]."</option>";
  11. }
  12. ?>
  13.  

На сервер передаем ID типа документа.
14. Тоня - 04 Декабря, 2006 - 08:48:06 - перейти к сообщению
Большое СПАСИБО. Так намного рациональнее.
15. maximus - 28 Августа, 2007 - 09:14:45 - перейти к сообщению
Разрешите задать вопрос в тему, по поводу кавычек.
Есть у меня форма, в этой форме есть текстовое поле:
<input type="text" name="name" value="$msg" size="16" />
Так вот, если в переменной $msg встретится кавычка ("), то остальная часть текста выводиться не будет. Чего, конечно, не хотелось бы.
Помогите, пожалуйста. Наверняка, вопрос несложный.

П.С. Если сделать замену кода на:
<input type="text" name="name" value='$msg' size="16" />
то таже проблема будет с одинарной кавычкой (')Хм

 

Powered by ExBB FM 1.0 RC1