2013-05-27 54 views
0

我想,對每一個數字,它CALL_COUNT和持續時間都保存在單個陣列..這是我的表:如何從一個數組中的數據庫獲取多個列?

Number Call_count duration 
03455919448 4    14 
03215350700 2    35 

我想somethng這樣的:

foreach($number as $number1) 
{ 
$data=array($row['call_count']<3,$row['duration']<20,1) 
} 

基本上我想對每個數它的計數和持續時間進行檢查的一些值,如果他們符合條件,顯示輸出1 ...實際上我可以做到這一點與簡單的if-else但因爲我必須訓練我的神經網絡implementationaion數據集,所以所有行必須是在一個數組中?任何人都可以請我幫忙嗎?

+0

什麼是'$ number'和/或'$ number1' – Farkie

+0

使用PDO(純MYSQL * funcions提交)和FETCH_TYPE設置爲FETCH_ASSOC哪些會給你一個每行的列聯合數組。[link](http://www.php.net/manual/en/book.pdo.php) – Hanut

+0

$ number是通過sql查詢獲取的數據庫列,$ number1是臨時變量作爲其foreach循環的語法..它像:$ l = 0; $ number = $ row ['number']; \t $ num [$ l] = $ number; $ l ++; @Farkie –

回答

0

也許我不明白相當不錯的代碼,但是:

foreach($number as $number1) 

$ NUMBER1在你的foreach是從未使用過:

$data=array($row['call_count']<3,$row['duration']<20,1) 

所以我想$ NUMBER1是$行。

其次,它會幫助我,如果您提供您正在使用的SQL語句。

+0

$ number是通過SQL查詢獲取的數據庫列和$ number1是臨時變量作爲其foreach循環的語法..它像:$ l = 0; $數= $行[ '數字']; $ NUM [$ 1] = $號碼; $ L ++; –

0

你可以做這樣的查詢:

select Number, if(Call_count<3, if(duration<20, 1, 0), 0) as checked from tablename; 

這使您只有數字,和1如果滿足這兩個條件,否則爲0。

之後,在PHP做一個循環

$data = array(); 
while ($row = mysql_fetch_assoc($result)) { // row will be an array with Number and checked as items 
    $data[] = $row; 
} 
// at this point you will have all rows in one array, with number and corresponding 1/0 in each item 
+0

是的,我可以這樣做,但因爲我早前敘述我需要這些數據來訓練我的神經網絡。爲此,步驟是:1。最初,對於每個屬性,分配一個閾值。 2.將訓練數據集的屬性值與屬性的閾值進行比較,以聲明客戶是否會流失。如果...那麼簡單...其他規則適用於此過程。 3.然後爲訓練數據集構建一個模型。 4.然後將模型應用於測試數據集,並列出結果。 –

相關問題