顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - alucardc

頁: [1]
1
網頁技術 / [jsp] 請問從網址列接收參數
« 於: 2012-09-26 08:51 »
  String provider_id;
  provider_id = request.getParameter("provider_id").toString();


我是學php的,對jsp不了解 公司有一個jsp的檔有問題

這兩行程式碼是用來接收網址列的參數

但是傳到這個jsp的來源網址 有些時候是有傳provider_id

有些時候是沒有傳的,只有其他參數

請問我要怎麼改寫才能讓 網址沒傳此參數給這個jsp時 不會出錯

是不是像php那樣用 isset() 之類的 ?    謝謝

2
這個問題解決了 應該是選出來union的 欄位的資料型態要完全一樣
Varchar(20) 跟 varchar(50) 就不行

現在想問另一個問題
=======================================================
SELECT a.CUST_ID, a.CUST_NAME,sum(b.total_money) AS AMT

FROM CUSTOMER a,SAL_MASTER b
where a.CUST_ID=b.CUST_ID and b.BILL_DATE like '2012/09%'
group by a.CUST_ID, a.CUST_NAME

UNION

SELECT C.MEMBER_ID, C.MEMBER_NAME,sum(D.SAL_AMT) AS AMT

FROM MEMBER C,POS_MASTER D
where C.MEMBER_ID=D.MEMBER_ID and D.SAL_DATE like '2012/09%'
group by C.MEMBER_ID, C.MEMBER_NAME

order by 3 desc
=======================================================

這段語法已經ok了
但卡在要如何再從這個選出來 union的 table 再選出前十名

我用 select first 10 from ( 上述一卡車 )
會出錯

3
資料庫為 firebird 1.5

我總共有四個table
其中 CUSTOMER 跟 MEMBER 是類似的table
SAL_MASTER 跟 POS_MASTER 是類似的table

第一個語法
======================================================
SELECT first 10 a.CUST_ID as CUST_ID, a.CUST_NAME as CUST_NAME,sum(b.total_money) AS AMT
FROM CUSTOMER a,SAL_MASTER b

where a.CUST_ID=b.CUST_ID and b.BILL_DATE like '2012/09%'
group by a.CUST_ID, a.CUST_NAME
order by 3 desc
======================================================

第二個語法
======================================================
SELECT first 10 c.MEMBER_ID as CUST_ID, c.MEMBER_NAME as CUST_NAME,sum(d.SAL_AMT) AS AMT
FROM MEMBER c,POS_MASTER d

where c.MEMBER_ID=d.MEMBER_ID and d.SAL_DATE like '2012/09%'
group by c.MEMBER_ID, c.MEMBER_NAME
order by 3 desc
======================================================
第一個語法選出的table



第二個語法選出的table




這兩個語法都是可以run的

但是union在一起就不行了

我的目標是要把這兩個選出來的 union在一起 然後再以AMT這個欄位排序

選出前三名 不知道怎麼寫比較好? SQL我不太熟

似乎是 union 跟 group by 跟 order by 有些衝突?

4

先利用  alert() 去判斷 .

credit = document.getElementById('credit')

的 credit 有沒有抓到東西.

alert(credit) ;

把 JS 的位置放在 ELEMENT 上指定 OBJECT ID 的 HTML CODE 下.


看看 credit 用 ALERT 吐出來的是什麼內容.




可以了 非常感謝你

我把 credit = document.getElementById('credit') 這行 拉到

function show_credit(obj){ }  上面就 可以了

雖然IE還是有錯誤  但可以正常隱藏跟顯示

然後我把 credit = 都去掉 只剩下

document.getElementById('credit') 就 ok了

(不知道原本這語法是有啥問題 把getElement到的東西存到credit變數不行嗎?)

5
IE8 會先載入 ELEMENT 才可以 在 JS 上 認的出 你指定的 OBJECT ID

很王八蛋的設計. ( SORRY 我是超級排軟派 )

解法 :

1. 在 MINE TYPE 上 下 :
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

2. 直接把 JS 放在 ELEMENT 下面

<BODY>

ELEMENT .......


JS : GET Object id.

</BODY>

感謝回複

第一個方法我加了還是沒有用

第二個方法 ... 是說把

<script type='text/javascript'>
   function show_credit(obj){
      credit = document.getElementById('credit');
      if(obj.value == '信用卡'){
         credit.style.display = 'inline';
      }
      else{
         credit.style.display = 'none';
      }
   }
</script>

這邊改變位置嗎... 改了還是一樣

6
首先要先說明一下我對javascript與jQuery都是非常非常*n新手 只是copy公司前輩的程式碼來用

所以先說明一下這些程式碼的目的

目的 :  在html做出來的一個下拉式選單裡 若是選中了其中一個選項 (信用卡)

此時畫面中會跑出信用卡卡號、有效日期等等的 input 欄位

若是選了別的選項,這些欄位則不會顯示出來,程式碼如下

html部分
/////////////////////////////////////////////////////////////////////


<span id='credit'>
信用卡號:
<input type='text' name='credid' id='credid' value='<?=$credid?>' size='20' maxlength='19' /></br>

信用卡有效日期:   
<select id='expiry_year' name='expiry_year' onchange='update_expiry()'><?=select_expiry_year();?></select>年

<select id='expiry_mon' name='expiry_mon' onchange='update_expiry()'>
<?=select_expiry_mon()?></select>月

</span>


javascript部分
/////////////////////////////////////////////////////////////////////


<script type='text/javascript'>

function show_credit(obj){
credit = document.getElementById('credit');
if(obj.value == '信用卡'){
credit.style.display = 'inline';
}
else{
credit.style.display = 'none';
}
}

var tooltip = new Array();

$(document).ready(show_credit(document.getElementById('billac_type')));

jQuery(function($){   
$("#credid").mask("9999-9999-9999-9999",{completed:function(){alert("信用卡號格式不符: "+this.val());}});
$("#credit_date").mask("99/99",{completed:function(){alert("信用卡有效日期不符: "+this.val());}}) ;

});


</script>


/////////////////////////////////////////////////////////////////////

IE8 左下角 錯誤三角型 出現的錯誤訊息是

網頁錯誤詳細資料

使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
時間戳記: Wed, 5 Sep 2012 01:24:13 UTC

訊息: 物件不支援此屬性或方法
行: 361
字元: 4
程式碼: 0
URI: http://localhost/WEBERP/000werp/store/index.php?act=shopcar


然後361行 就是
credit = document.getElementById('credit');
 這邊

不知道該怎麼修正這個錯誤?
又或者是有另外可以達成同樣目的的程式寫法,有範例可以給我參考

謝謝各位

7
我從MySql把資料匯出來 觀察它的語法

insert into tableA  ( columnA ,  columnB ,  columnC ) VALUES
('text1', 'aaa', 1),
('text2', 'bbb', 2),
('text3', 'ccc', 3)

這樣MySql是可行的,但是同樣的語法用在firebird資料庫裡就是不行

不知道firebird要新增多筆資料的語法是怎樣的模式?

8

請問關於 firebird資料庫的問題 使用版本是 firebird 1.5

像是MySQL,若是要匯出資料,我會使用phpmyadmin,有一個功能是輸出

選擇完資料庫後,它會輸出一個 .sql的檔案,裡面就是很多sql語法

而我在別的server要還原這個資料庫,就用載入這個功能,載入這個.sql的檔,整個資料庫就還原了

它方便的地方在不只是能create一樣的table,連原本的存在各table裡的每筆資料都能一併還原過去



目前使用管裡firebird的軟體為flamerobin,好像找不到這樣的功能

我只找到其中有個ddl的功能,能幫你產生sql語法,然後到別台機器能直接create一樣的table

但是table裡的資料沒辦法一併輸出


雖然有人複製firebird的資料庫都是直接複製整個.GDB或.FDB檔過去,但是我目前需要的是

舊資料庫跟新資料庫是完全不同的,我只想要把舊資料庫中某幾個table、連同裡面的每筆資料帶過去新資料庫

不知是否有高人能指點如何做

9
使用此語法

INSERT INTO WEB_POWERSET_MENU
(EMPLOYEE_ID, DEPART, GROUP_ID, MODULES_ID, VIEW_YN, INSERT_YN, EDIT_YN, DELETE_YN)

SELECT EMPLOYEE_ID, 'sysmanager', '02', '08','Y','Y','Y','Y'
FROM EMPLOYEE where CHK_CODE='Y'


好的 成功了 謝謝

10
我有兩個table   甲是EMPLOYEE    乙是WEB_POWERSET_MENU

今天我從甲方select出來一些東西 像這樣

SELECT EMPLOYEE_ID,CHK_CODE
FROM EMPLOYEE
where CHK_CODE='Y'


選出來的表像這樣



然後我想在WEB_POWERSET_MENU這個table insert一些東西 像這樣

INSERT INTO WEB_POWERSET_MENU (EMPLOYEE_ID, DEPART, GROUP_ID, MODULES_ID,
    VIEW_YN, INSERT_YN, EDIT_YN, DELETE_YN)
VALUES (
    '001',
    'sysmanager',
    '02',
    '08',
    'Y',
    'Y',
    'Y',
    'Y'
);



我想在001 就是EMPLOYEE_ID那個地方 是根據 第一個table選出來的結果 比如說有五個

001、002、009、004、010

insert那行指令就會做五次 然後每次EMPLOYEE_ID的值會自動從001換002、009、004、010

請問要如何做呢?不知道有沒有描述的清楚?

11
是不是先在每個input後加個 onblur="checkcode(i)"



function checkcode(i){

if ( $('#sal_barcode'+i).val() == $('#prod_barcode').val() ){
      alert('條碼重複!!!');
      }

}



紅色那邊語法不知道要怎麼寫才對
應該是jQuerry 但我不會

12
今天我有N個input欄位       它們的id分別是
<input type="text" id="sal_barcode" />
<input type="text" id="sal_barcode1" />
<input type="text" id="sal_barcode2" />
.
.
.
<input type="text" id="sal_barcodeN" />


而我有另一個欄位是
<input type="text" id="prod_barcode" />




假設都會先在prod_barcode這邊輸入東西

而我想要在這N個sal_barcode input欄位,用onblur的方式 驗證說 假設任一欄位

輸入的東西跟prod_barcode裡的是一樣的話就跳出alert

請問這樣要怎麼寫???

13
網頁技術 / [javascript]關於focus的問題
« 於: 2012-06-22 08:52 »
function ID1V1(){
var tb = 'PRODUCT';
var cols = 'prod_id,prod_name';
var keycol = 'prod_id';
var val = "'" + $('#prod_id').val() + "'";
var DataSet1 = getrecord(tb, cols, keycol, val);
if (DataSet1 != '') {
alert('編號重複於:' + DataSet1[0].PROD_NAME);
$('#prod_id').val('');
window.setTimeout( function(){ $('#prod_id').focus(); }, 0);
}


}

這個是一段驗證某個編號的function,若使用者在一個欄位輸入的編號在我的資料庫已有的話
它就會alert,並且游標自動回到這個欄位並把欄位清空
(那個input欄位id是prod_id)

我想問的是能否讓游標回到這個欄位但是 不要把欄位清空 這樣使用者重新輸入可以只要改幾個數字就好

是不是 function(){ $('#prod_id').focus();這邊要改寫???

14
PHP程式設計討論區 / 請問foreach跟for語法
« 於: 2012-06-12 09:36 »
foreach ($xml as $row){

$prod_id                = $row->prod_id;
$prod_name        = $row->prod_name;
$prod_barcode    = $row->prod_barcode;
$now_qty             = $row->now_qty;

$html    .= "<tr>
<td>$prod_id</td>
<td>$prod_name</td>
<td>$prod_barcode</td>
<td>$now_qty</td>
</tr>";

}


請問我原本程式有一段語法如上 $xml是一個陣列
但因為foreach會把全部資料都取出來

如果我想改寫成只取前15筆資料要怎麼改寫? (目的是要做分頁)
是要改成用for嗎?? 有沒有人能給個方向?

15
我常常在本機上(WIN XP) 編寫一些檔案之後
要把這些檔案丟到公司 Linux server上 (我有這台server的root權限)

但是用samba或winscp的方式丟過去後
還是要chown跟chmod 每次下指令都很麻煩

不知道有沒有什麼解決方案是可以讓我把檔案丟過去後
使用者與群組就是 daemon:daemon
然後權限就是 644


是要寫個script嗎? 我是Linux新手這方面不太懂

16
我這樣做:
Select top 1 teamID From BscDepartmentList Order by teamID desc ,其中teamID 是varChar
是可以把最大的數字(字串)給選擇出來的。

但是這樣是否為最佳解、效能方面的問題又或著有無其他東西可用我就不清楚了。
就如表單名字所示,這個資料表中的數據很少。

PS1:我是在SQL2K 上跑的。
PS2:也許可以試試看用LEN  去找一下是那個資料出錯 ?


感謝 這方法應該不錯

17
字串反向排序後再選TOP 1 呢?

請問這是什麼意思呢?? 什麼叫字串反向排序

18
我在一個資料表裡有兩個欄位 型態都是Varchar 但是裡面存的都是數字


我想要把這兩欄中 數字最大的那一個select出來

於是我用


select max(cast (欄位一 as int)) from table

select max(cast (欄位二 as int)) from table


問題在於第一欄成功 第二欄失敗

錯誤訊息是Arithmetic overflow or division by zero has occured

我猜是第二欄存的數字太大導致溢位

第一欄的數字是10位數 第二欄是13位數

int換成long阿 double什麼的都沒用 而且都是整數換成double會選到不正確的數字


有人能幫忙解決嗎??

19
我是php新手 想請教一個問題

現在有一個資料表如此圖 http://bit.ly/LnpDjn http://bit.ly/LnpKLS (資料庫是firebird 不是MySQL)

我想要以 PARAM_ID欄位 中 remittance_開頭的那三欄 的PARAM_VALUE都select出來

但寫到一半就不會寫了 程式碼如下

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

$sql = "select PARAM_VALUE from PARAM_DEFINE where PARAM_ID like 'remittance_%' ";

$query->sql = $sql;

$query->open();

$rs = $query->rs();   

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

之後要怎麼把select出來的這三個值各存到三個變數???

我用 $test1 = $rs->fields['PARAM_VALUE'];

然後 $test1只有存到 700郵局 也就是存的是remittance_bank拉出來的 PARAM_VALUE 值


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

因為我只學過很基本的 應該是很久以前的寫法 而且是MySQL的寫法   像這種

$result=mysql_query($sql);   
list($test1, $test2)=mysql_fetch_row($result);

如果多筆資料就用for迴圈去跑上面那行 list...mysql_fetch_row


那上面的程式是公司的網站寫法
這種物件導向的我沒學過也看不太懂 adodb的物件我也不會用
上面的程式我是看來網站其他部分模仿寫出來的但是到了怎麼把select的資料存進變數就卡住了

20
PHP程式設計討論區 / 新手請教empty()函數
« 於: 2012-05-22 09:59 »
http://bit.ly/Ln3fa3


http://bit.ly/Ln3jXc
這個大陸文章說 假设 $value = 0; 则empty($value)=false。

可是跟上面那張圖的表好像不一樣

empty()到底是不是只要是0或空值都是true呢? 

還有這些真值表會不會跟php版本4或5 有差別??

21
PHP程式設計討論區 / Re: 新手問題 關於Class
« 於: 2012-05-22 08:34 »
感謝~ 原來如此  :)

22
PHP程式設計討論區 / 新手問題 關於Class
« 於: 2012-05-21 14:06 »
Class中 定義變數
public $propertyName;
private $propertyName;
protected $propertyName;

跟用
var $propertyName;

有什麼不同???

頁: [1]