Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP+Oracle / 10 сообщений из 10, страница 1 из 1
29.09.2015, 12:56
    #39064070
dykee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
Нужно в зависимости от номера отдела вывести имена работников. Отдел вводится с клавы. Я читал есть такая ф-ция как isset но сложно понять как реализовать.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?php
$connection=odbc_connect('DB','scott','tiger');
if($connection==FALSE) 
die('Помилка при підключенні');
$sql=odbc_exec($connection,'select ename from scott.emp where deptno=20 ');
$kol_num=odbc_num_fields($sql); 
echo "<table border=1 align=center><thead><tr>";
for($i=1;$i<=$kol_num;$i++)
{echo "<th>" . odbc_field_name($sql,$i) . "</th>";}                                       

       
echo "</tr></thead>";
echo "<tbody><tr>";
do {
echo "<tr>";    
for($i=1;$i<=$kol_num;$i++) 
{echo"<td>"; if(odbc_result($sql,$i)==NULL) echo "NULL"; else echo  
odbc_result($sql,$i); echo "</td>";}
$next=odbc_fetch_row($sql);
echo "<tr>";
} while($next==true);
echo "</tr></table>";
?> 


То есть по запросу указать все легко, а вот ввести с клавы я не очень понимаю как?(
Код: php
1.
$sql=odbc_exec($connection,'select ename from scott.emp where deptno=20 ');
...
Рейтинг: 0 / 0
29.09.2015, 13:26
    #39064123
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
dykee,
html:

Код: html
1.
2.
3.
4.
<form action="ваш скрипт.php" method='get'>
<input type='text' name='deptno'/>
<input type="submit"/>
</form>



php:

Код: php
1.
2.
3.
4.
if (isset($_GET['deptno'])){
 $deptno=(int)$_GET['deptno'];
// тут ваш код
}



ну и строку sql не забыть изменить:
Код: plsql
1.
"select ename from scott.emp where deptno=$deptno";
...
Рейтинг: 0 / 0
29.09.2015, 19:11
    #39064599
dykee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
kunaksergey,
Спасибо, сейчас попробуем.
...
Рейтинг: 0 / 0
30.09.2015, 10:47
    #39064937
dykee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
kunaksergey,
Вроде сделал как ві говорили, но идут ошибки в строчках 14 и 25...
З.Ы. веб немного не мое :)
Код: html
1.
2.
3.
4.
5.
6.
<html>
<form action="ваш скрипт.php" method='get'>
<input type='text' name='deptno'/>
<input type="submit"/>
</form>
</html>


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?php
$connection=odbc_connect('DB','scott','tiger');
if($connection==FALSE) 
die('Помилка при підключенні');
if (isset($_GET['deptno'])){
$deptno=(int)$_GET['deptno'];
$sql=odbc_exec($connection,'select ename from scott.emp where deptno=$deptno');}
$kol_num=odbc_num_fields($sql); 
echo "<table border=1 align=center><thead><tr>";
for($i=1;$i<=$kol_num;$i++)
{echo "<th>" . odbc_field_name($sql,$i) . "</th>";}                                              
echo "</tr></thead>";
echo "<tbody><tr>";
do {
echo "<tr>";    
for($i=1;$i<=$kol_num;$i++) 
{echo"<td>"; if(odbc_result($sql,$i)==NULL) echo "NULL"; else echo  
odbc_result($sql,$i); echo "</td>";}
$next=odbc_fetch_row($sql);
echo "<tr>";
} while($next==true);
echo "</tr></table>";
?> 
...
Рейтинг: 0 / 0
30.09.2015, 11:09
    #39064975
dykee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
dykee,

Код: html
1.
2.
3.
4.
5.
6.
<html>
<form action="lol.php" method='get'>
<input type='number' name='deptno'/>
<input type="submit"/>
</form>
</html>


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?php
$connection=odbc_connect('DB','scott','tiger');
if($connection==FALSE) 
die('Помилка при підключенні');
if (isset($_GET['dep'])){
$dept=(int)$_GET['dep'];
$sql=odbc_exec($connection,'select ename from scott.emp where deptno=$dept');}
$kol_num=odbc_num_fields($sql); 
echo "<table border=1 align=center><thead><tr>";
for($i=1;$i<=$kol_num;$i++)
{echo "<th>" . odbc_field_name($sql,$i) . "</th>";}                                              
echo "</tr></thead>";
echo "<tbody><tr>";
do {
echo "<tr>";    
for($i=1;$i<=$kol_num;$i++) 
{echo"<td>"; if(odbc_result($sql,$i)==NULL) echo "NULL"; else echo  
odbc_result($sql,$i); echo "</td>";}
$next=odbc_fetch_row($sql);
echo "<tr>";
} while($next==true);
echo "</tr></table>";
?> 


поменял чуть переменные все равно строчку 14 и 25 выдает за ошибку ?? в чем дело?
...
Рейтинг: 0 / 0
30.09.2015, 11:16
    #39064981
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
dykee,
1. у вас в форме поле deptno, а переменная $_GET['dep'];
2. в запросе вообще $dept. И кавычки используйте двойные. т.е:
Код: php
1.
"select ename from scott.emp where deptno=$deptno";

или же
Код: php
1.
 'select ename from scott.emp where deptno='.$deptno;
...
Рейтинг: 0 / 0
30.09.2015, 11:18
    #39064984
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
3. Вам в if надо обернуть весь код до конца.
...
Рейтинг: 0 / 0
30.09.2015, 11:31
    #39064996
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
dykee,

Для начала - SQL запрос закавычь в двойные кавычки. Иначе у тебя он сформируется неправильно (к примеру ты получил $depno=5, а в запрос у тебя так и уйдет $depno в виде строки '$depno', но не как значение 5).

Код: php
1.
 $sql=odbc_exec($connection,"select ename from scott.emp where deptno=$deptno");
...
Рейтинг: 0 / 0
30.09.2015, 13:37
    #39065144
dykee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
DarkMaster,

Спасибо всем:)
...
Рейтинг: 0 / 0
30.09.2015, 13:38
    #39065145
dykee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP+Oracle
kunaksergey,
спасибо большое:)
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP+Oracle / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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