HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2461  
Старый 28.03.2008, 12:24
anakreon
Познающий
Регистрация: 19.03.2006
Сообщений: 37
Провел на форуме:
400363

Репутация: 11
По умолчанию

Здравствуйте уважаемые. Есть база Oracle. В ней есть 2 таблицы
в первой таблице находятся столбцы ID и SNAME
во второй находятся FIN, DEAL и т.д.
такого плана:
1-я таблица
| ID | SNAME |
| 173 | Intel |
| 432 | AMD |
| 324 | core2duo|
| 321 | phenom |
| .......| ...............|
| .......| ...............|
| .......| ...............|
| 532 | centrino |

2-я таблица
| FIN | DEAL |
| 200 | 302.432 |
| 127 | 7324.21 |
|173 | 212.454 |
| 432 | 4342.21 |
| .........| ..............|
| .........| ..............|
| .........| ..............|
| 321 | 32432.2 |

Смысл этих 2-х таблиц состоит в том что должна выводиться 2-я таблица и вместо FIN подставлять SNAME из таблицы 1
т.е. должно получаться в итоге
| наименование | цена |
| intel | 212.454 |
| AMD | 4342.21 |
| phenom | 32432.2 |
|...............| ......................|
|...............| ......................|
|...............| ......................|

Собственно вопрос как сделать это сопоставления
На данный момент код такой
Код:
<HTML>
<BODY>
<?php
$c = OCILogon (  );
if ( ! $c ) {
echo "not connected: " . var_dump ( OCIError () );
die();
}
$x = OCIParse ( $c , "select * from fin" );
OCIExecute ( $x , OCI_DEFAULT );
while ($row1 = oci_fetch_array ($x, OCI_ASSOC)) {
echo "<td>", $row1['ID'], "&nbsp;&nbsp;&nbsp;&nbsp;", "</td>";
echo "<td>", $row1['SNAME'], "</td><BR>";
}
echo "<table border=1>";
echo "<tr><th>FIN</th><th>L_PRICE</th><th>BEST_BUY</th><th>DEAL_MIN</th><th>DEAL_MAX</th></tr>";

$s = OCIParse ( $c , "select * from inf_ac" );
OCIExecute ( $s , OCI_DEFAULT );

echo "<tr>";

while ($row = oci_fetch_array ($s, OCI_ASSOC)) {
echo "<td>", $row['FIN'], "</td>";
echo "<td>", $row['L_PRICE'], "</td>";
echo "<td>", $row['BEST_BUY'], "</td>";
echo "<td>", $row['DEAL_MIN'], "</td>";
echo "<td>", $row['DEAL_MAX'], "</td>";
echo "</tr>";
}

echo "</table>";

OCICommit ( $c );


?>
</BODY>
</HTML>

Последний раз редактировалось anakreon; 28.03.2008 в 12:36..
 
Ответить с цитированием

  #2462  
Старый 28.03.2008, 13:00
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

А в оракле возможно сделать так?
Код:
select t1.sname, t2.deal from table1 t1 
left join table2 t2 on t1.id = t2.fin
 
Ответить с цитированием

  #2463  
Старый 28.03.2008, 13:44
SeGaLWS
Познающий
Регистрация: 13.01.2008
Сообщений: 82
Провел на форуме:
247944

Репутация: 22
По умолчанию

как сделать что бы $models["1"] выводился через запятую(1,2,3,4)
while ($models = mysql_fetch_array($model))
{
echo $models["1"];
}
 
Ответить с цитированием

  #2464  
Старый 28.03.2008, 13:56
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

Цитата:
Сообщение от SeGaLWS  
как сделать что бы $models["1"] выводился через запятую(1,2,3,4)
while ($models = mysql_fetch_array($model))
{
echo $models["1"];
}
PHP код:
while ($models mysql_fetch_array($model))
     echo 
$models[1].','
 
Ответить с цитированием

  #2465  
Старый 28.03.2008, 13:56
anakreon
Познающий
Регистрация: 19.03.2006
Сообщений: 37
Провел на форуме:
400363

Репутация: 11
По умолчанию

Не проходит... Пустоту выводит
 
Ответить с цитированием

  #2466  
Старый 28.03.2008, 14:03
SeGaLWS
Познающий
Регистрация: 13.01.2008
Сообщений: 82
Провел на форуме:
247944

Репутация: 22
По умолчанию

Цитата:
Сообщение от nc.STRIEM  
PHP код:
while ($models mysql_fetch_array($model))
     echo 
$models[1].','
специально написал в скобках (1,2,3,4,5) в предложеном варианте выводит (1,2,3,4,5,)
 
Ответить с цитированием

  #2467  
Старый 28.03.2008, 14:28
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

PHP код:
$a='(';
while (
$models mysql_fetch_array($model))
     
$a.=$models[1].',';  
$a.=')';
$a str_replace(',)'')'$a); 
или

PHP код:
$a='';
while (
$models mysql_fetch_array($model))
     
$a.=$models[1].',';  
unset(
$a[strlen($a)-1]); 
 
Ответить с цитированием

  #2468  
Старый 28.03.2008, 14:31
LolFEm
Участник форума
Регистрация: 08.09.2006
Сообщений: 194
Провел на форуме:
1627025

Репутация: 163
По умолчанию

так не проше?

PHP код:
$str="";
while (
$models mysql_fetch_array($model)) 
     
$str $str $models[1].','
$result substr($str,0,strlen($str)-1); 
 
Ответить с цитированием

  #2469  
Старый 29.03.2008, 00:21
X-FRITS
Познающий
Регистрация: 24.06.2007
Сообщений: 84
Провел на форуме:
1348653

Репутация: 192
Отправить сообщение для X-FRITS с помощью ICQ
По умолчанию

Привет всем, я в php полный нуб!!только сегодня начал учить))
читать книги было влом, и потому я на чал искать движки форумов и разбирать их, понял я многое, что не понимал - гуглил.
когда я чуток врубился, написал себе скрипт, который смотрит в онлайне ли моя аси и меняет иконку, там возле названия сайта(_http://creeptor.org(это не реклама))
и вот мне стало интересно сколько людей сидят в icq в даный момент, и я написал скрипт, который должен сам всё подсчитывать.
но скрипт нормально не работает((
если нужно проверить 10 или 50 номеров, работает на ура!! а если больше, то он тупит(( хотя set_time_limit(0); может у меня хост тупой?? если нужно могу выложить скрипт(_http://creeptor.org/chek2.php)

P.S. прошу не судить строго я только сегодня начал его учить

============

я понял, проблема не в set_time_limit(0), а в чем-то другом, так как я свой первый чекер влючил(_http://creeptor.org/chek.php) т он нормально работает... но у него другое предназнаечение

Последний раз редактировалось X-FRITS; 29.03.2008 в 00:41.. Причина: дабавил информации
 
Ответить с цитированием

  #2470  
Старый 29.03.2008, 02:21
X-FRITS
Познающий
Регистрация: 24.06.2007
Сообщений: 84
Провел на форуме:
1348653

Репутация: 192
Отправить сообщение для X-FRITS с помощью ICQ
По умолчанию

PHP код:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>
<?php
$a
=0;
$s=0;
$d=0;
$k=0;
$q=0;
set_time_limit(0);
for(
$i=900000;$i<=900050;$i++){
$f=imagecolorat(imagecreatefromgif("http://status.icq.com/online.gif?icq=$i&img=27"), 57);
$q=$q+1;
if(
$f==52){$a=($a+1);}else{if($f==82){$s=($s+1);}else{if($f==48){$d=($d+1);}else{$k=($k+1);echo "$k ERRORE - $i - $f<br>";}}}}
echo 
"<h1>Проверено: $q<br />В онлайне: $a<br />В офлайне: $s<br />Неизвесно: $d<br />Ошибок: $k</h1></body></html>";
?>

Последний раз редактировалось X-FRITS; 29.03.2008 в 02:24..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ