2011-06-13 109 views
1

我一直在尋找正確的格式以從數據庫過濾器創建多維數組。我爲一個項目使用了一個常用的聯繫人php包裝器,它需要一個確切的格式來加載一組電子郵件地址,名字和姓氏。見下面的數組的正確格式的類將接受:從MYSQL過濾器創建動態多維數組

<php? 
$contacts = array(
    array(
     'Email Address' => '[email protected]', 
     'First Name' => 'Mike - TEST API', 
     'Last Name' => 'NULL', 
    ) 

); 

的代碼,因爲我有現在低於:

<form action="<?php echo $PHP_SELF;?>" method="get" name="form" target="_self" id="form"> 
<p> 
<select name="networks[]" size="50" multiple> 
<option value="West Bronx">West Bronx</option> 
<option value="Williamsburg">Williamsburg</option> 
<option value="Turtle Bay">Turtle Bay</option> 
<option value="Times Square">Times Square</option> 
<option value="Southeast Bronx">Southeast Bronx</option> 
<option value="Sutton">Sutton</option> 
<option value="Sunnyside">Sunnyside</option> 
<option value="Sheridan Square">Sheridan Square</option> 
<option value="Sheepshead">Sheepshead</option> 
<option value="Roosevelt">Roosevelt</option> 
<option value="Riverdale">Riverdale</option> 
<option value="Ridgewood">Ridgewood</option> 
<option value="Richmond Hill">Richmond Hill</option> 
<option value="Battery Park City Network">Battery Park City Network</option> 
<option value="Yorkville">Yorkville</option> 
</select> 
<br> 
<input type="submit" name="Submit" value="Submit"> 
</form> 

<? 



// Get the value of the filters and see if there are more then one selection 
$foo = $_GET['networks']; 
$sQuery = ""; 
if (sizeof($foo) > 0) { 
    for ($i=0;$i<sizeof($foo);$i++) { 
    $sQuery .= "Network LIKE '%$foo[$i]%' OR "; 
    } 
} 
else{ 
    $sQuery = "Network LIKE '%$foo[0]%"; 
} 
mysql_select_db($database_conn, $conn); 


$query_Recordset0 = "SELECT * FROM contacts WHERE $sQuery "; 
// Knock the last "OR" off the Query 
$query_Recordset1 = substr($query_Recordset0, 0, -4); 


echo $query_Recordset1; 
$Recordset1 = mysql_query($query_Recordset1, $conn) or die(mysql_error()); 







?> 



<table width="200" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td>Network</td> 
<td>Email</td> 
</tr> 
<?php do { ?> 
<tr> 
<td><?php echo $row_Recordset1['Network']; ?></td> 
<td><?php echo $row_Recordset1['Email']; ?></td> 

<td><?php echo $row_Recordset1['First Name']; ?></td> 
<td><?php echo $row_Recordset1['Last Name']; ?></td> 
</tr> 
<?php 

//BUILD The Multidimensional Array from the database Query and store it appropriately 

$newarray = array(); 
$newarray[]['Email Address']=$row_Recordset1['Email']; 
$newarray[]['First Name']='NULL'; 
$newarray[]['Last Name']='Last Name'; 
print_r($newarray); 

這將產生數組是這樣的:

Array (
[0] => Array ([Email Address] =>) 
[1] => Array ([First Name] => NULL) 
[2] => Array ([Last Name] => Last Name)) 

Array (
[0] => Array ([Email Address] => [email protected]) 
[1] => Array ([First Name] => NULL) 
[2] => Array ([Last Name] => Last Name)) 

Array ( 
[0] => Array ([Email Address] => [email protected]) 
[1] => Array ([First Name] => NULL) 
[2] => Array 

任何幫助將不勝感激。

下面是什麼,我需要它看起來像:

$contacts = array(
    array(
     'Email Address' => '[email protected]', 
     'First Name' => 'Mike - TEST API', 
     'Last Name' => 'NULL', 
    ) 

); 
+0

請你告訴我們的數據是如何喜歡就好,如果你的代碼工作? '陣列( [0] => '', [1] => NULL, [2] =>姓氏), 陣列( [0] => [email protected], [1 ] => NULL, [2] =>姓氏), 陣列( [0] => [email protected], [1] => NULL, [2] => '')' – Nightwolf 2011-06-13 13:34:14

+0

後重新格式化你的輸出數組,看起來第三個數組的一部分在原始問題中丟失了。 – 2011-06-13 13:34:50

+0

是正確的格式如下所示: Array([0] => Array([Email Address] => [email protected] [First Name] => Mike - TEST API [Last Name] => NULL) [1] =>數組([電子郵件地址] => [email protected] [名] =>布賴恩 - 測試API [姓] =>空) – mkephart25 2011-06-13 13:37:05

回答

1
$newarray[] = array(
    'Email Address'=>$row_Recordset1['Email']; 
    'First Name'=>'NULL'; 
    'Last Name'=>'Last Name'; 
); 

print_r($newarray); 
+0

這似乎工作,謝謝!由於某種原因,雖然它返回一些空白值之前,實際數據到達。 Array([0] => Array ([電子郵件地址] => [名] => [姓] =>))數組([0] =>數組([電子郵件地址] => [名] => [姓] => 1] => Array([Email Address] => [email protected] [First Name] => [Last Name] =>))Array([0] => Array([Email Add [電子郵件地址] => [email protected] [名字] => [姓] =>)[ – mkephart25 2011-06-13 14:21:41

+0

] [=> [First Name] => [Last Name] =>你是否正確初始化你的數組?你可以檢查你的數據庫輸出,以確保沒有空記錄返回? – 2011-06-13 15:26:18

+0

我只是在for循環中打印它 - 現在一切正常,謝謝! – mkephart25 2011-06-13 19:51:01