2017-07-27 56 views
0

我曾經嘗試都鏈接插入multimensional關聯數組建築查詢,但我不明白在$領域的內容和$ newdataPHP MySQL的從數組鍵

**這個問題已經在一個新開發的預期變量這裏** PHP how to extract keys names and values from associative array for mysql query(如解釋我的新手,它採取了一些工作來獲取以正確的方式問問題)

所以我懇請打印這裏一些的var_dump並投以懇請您的支持。

對於我的學習實驗簡單,我只用5場的虛表的工作,當你看到他們是:selecteduser_iduser_nameuser_companyuser_email。 最後,我插入了2行值。

使用此代碼

$Arr = (array)$data; 
print_r ($Arr); 

我可以看到這個輸出

Array ( 
[0] => Array ([selected] => [user_id] => 3 [user_name] => nome3 [user_company] => azien3 [user_email] => email3) 
[1] => Array ([selected] => 1 [user_id] => 6 [user_name] => nome6 [user_company] => azien6 [user_email] => email6) 
) 

下一個我試圖運用你的鏈接

24 $fields = implode(",", array_keys($Arr)); 
25 $newdata = "'" . implode("','", $Arr) . "'"; 
26 
27 var_dump($fields); 
28 echo "<br><br>"; 
29 var_dump($newdata); 

可是,我的代碼是錯誤的,我interpreteation或在我的代碼,因爲輸出是

Notice: Array to string conversion in D:\xampp\htdocs\ajax-json\post.php on line 25 

Notice: Array to string conversion in D:\xampp\htdocs\ajax-json\post.php on line 25 
string(3) "0,1" 

string(15) "'Array','Array'"

你能指出什麼是錯的嗎? 例如我的數組是否正確形成?


原來的問題

我是新手,經過進一步的閱讀,我得到了點,希望現在我的問題可能會導致更加簡單。謝謝你的提示。

我有一個二維數組,因爲它的記錄來自一個html表格。

上的HTML側進行收集產生的關聯數組所以每一行是想在下面的例子中,還可以看到,該鍵是,我想很多

[item] => Array ( 
    [0] => Array ( 
     [unit] => "car" 
     [qty] => 3 
     [description] => "Description 1" 
     .... 
     [key47] => "thin" 
    ) 
    [1] => Array ( 
     [unit] => "bike" 
     [qty] => 74 
     [description] => "Description 2" 
     .... 
     [key47] => "large" 
    ) 
) 

MySQL的表名插入的項目被命名爲items_table

「單位」,「數量」和「描述」和所有剩餘的鍵(總47)是完全items_table列

當在PHP端I」的名稱相同我喜歡有一種自動查詢y代可能會用PDO從內部數組鍵名稱中挑選列名,並將相應的鍵值插入到正確的列中。

目標是避免創建這樣一個尷尬和極長的查詢。

首選方法是使用PDO,避免綁定47個鍵。

這種自動功能也很有用,因爲將來在mysql表中的列可能會被添加或刪除或重命名,所以我想忘記關於正確編輯html表的查詢(on該陣列已經自動生成了一些javascript)

你認爲有可能這樣做嗎?

如果是如何?

這是否仍然需要一些foreach循環?

謝謝你幫

+0

附:你可能會想,我是一個新手。我讀過很多理論並觀看了很多關於這些主題的問題,但我還沒有找到這種情況/組合。最終謝謝你的正確鏈接。 – Robert

+0

許多列的表很可能是設計不佳的表。 – Strawberry

+0

@Strawberry不幸的是,這是必須的,因爲有一個鞋號的數量與每個鞋號的數量矩陣。雖然我已經完全回顧了這個問題。現在希望它更有意義。你可以幫忙嗎?謝謝 – Robert

回答

0

例如爲:

core_table 
id* unit quantity description 
1 car   3 Description 1 
2 bike  74 Description 2 

adjunct_table 
core_id* meta_key* meta_value 
     1  47 Description of key n.47 first row 
     2  47 Description of key n.47 second row 

* = (component of) PRIMARY KEY 
+0

感謝您的代碼,但這些字段是訂單輸入。每一行都是訂單明細。每一行都有很多列。作爲訂單詳細信息,此行是一行,並將由items_table保存。使用第二張表格重複使用這些表格的方式節省了3列,這是非常不明智的:-)。我認爲現在這個問題的重點非常尖銳。我想知道如何重用數組鍵來構建查詢。 – Robert

+0

更精確order_items_table – Robert

+0

是的,你真的不明白你是誰。 「這麼多專欄」的一部分是你設計中的根本缺陷 - 這就是爲什麼我提出一個替代模型。 – Strawberry