cdjphoenix Posted February 28, 2015 Posted February 28, 2015 I'm hoping someone here can shed some light on a problem I've been having combining some arrays. I've searched the forum and found some posts but I'm still having troubles My goal is to have an array that I can display with 3 seperate columns, I'd actually be happy with anyway to get 3 arrays on a table. I have a MySQL server that I am pulling 3 different fields from "firstname", "lastname" and "phone" and I can pull the data without any problems, it's just combining them. Here is what I have currently code wise. It's not very pretty but it works... expandcollapse popup#include "mysql.au3" #include "array.au3" $sql = _MySQLConnect('username','password','table','TestSystem') $row = _Query($sql, "SELECT * FROM fax") Global $aArray Global $sFill Global $aArray_Base [1] [3] $aArray = $aArray_Base Global $aArray2 Global $sFill2 Global $aArray_Base2 [1] [3] $aArray2 = $aArray_Base2 Global $aArray3 Global $sFill3 Global $aArray_Base3 [1] [3] $aArray3 = $aArray_Base3 with $row While NOT .EOF Global $FirstName = .Fields("firstname").value Global $LastName = .Fields("lastname").value Global $FaxNumber = .Fields("faxnumber").value $sFill = $FirstName $sFill2 = $LastName $sFill3 = $FaxNumber _ArrayAdd($aArray, $sFill) _ArrayAdd($aArray2, $sFill2) _ArrayAdd($aArray3, $sFill3) .MoveNext ;MsgBox(0,"TEST",$FirstName &" " & $LastName & " " & $FaxNumber) WEnd EndWith _ArrayDisplay($aArray, "Test Array") _ArrayDisplay($aArray2, "Test Array") _MySQLEnd($sql) Thank you for taking the time to look at my code/problem.
iamtheky Posted February 28, 2015 Posted February 28, 2015 why not just add them to the same array? the third parameter of arrayadd is column so something like: _ArrayAdd($aArray, $sFill) _ArrayAdd($aArray, $sFill2, 1) _ArrayAdd($aArray, $sFill3 , 2) ,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-. |(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/ (_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_) | | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) ( | | | | |)| | \ / | | | | | |)| | `--. | |) \ | | `-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_| '-' '-' (__) (__) (_) (__)
cdjphoenix Posted February 28, 2015 Author Posted February 28, 2015 There were all in the same array at one point but I've been trying everything I can think of in order to get this to show the way i want.
iamtheky Posted February 28, 2015 Posted February 28, 2015 (edited) My goal is to have an array that I can display with 3 seperate columns i dont understand how placing this data into a single array with three columns, via arrayadd, does not meet the above requirement. Is there something else you want of this 3 columned array? Edited February 28, 2015 by boththose ,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-. |(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/ (_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_) | | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) ( | | | | |)| | \ / | | | | | |)| | `--. | |) \ | | `-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_| '-' '-' (__) (__) (_) (__)
JohnOne Posted February 28, 2015 Posted February 28, 2015 Here is what I have currently code wise. It's not very pretty but it works... Really? Is your version of AutoIt from the future? I get all kinds of errors, not least from this... While NOT .EOF AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
water Posted February 28, 2015 Posted February 28, 2015 You need to add some kind of error checking to your script. Every function sets the return value or macro @error when something went wrong. Check for errors before proceeding to the next statement. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
kylomas Posted February 28, 2015 Posted February 28, 2015 (edited) Can you not use your "Select" statement to get whatever you want, in whatever order you want? Select firstname, lastname, faxnumber from fax edit: spelling / comment deleted Edited February 28, 2015 by kylomas Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill
cdjphoenix Posted March 2, 2015 Author Posted March 2, 2015 (edited) Really? Is your version of AutoIt from the future? I get all kinds of errors, not least from this... While NOT .EOF It must be, I have no doubt there are errors but the reason i say it works is that when i run it I see my data in a table...all in one column, but it's still a table. Right now in order to update certain user info I have to go to two serperate spots to update it and I find this annoying. What I'm trying to do is get this data into a MySQL database and use autoit to update this database along with Active Directory. Thanks for the input though, I see if i can add in some error checking. *Edit here is my original code before i went crazy and started trying wierd things to get those coulmns. #include "mysql.au3" #include "array.au3" $sql = _MySQLConnect('user','password','test','TestSystem') $row = _Query($sql, "SELECT * FROM fax") Global $aArray,$aArray2 Global $sFill, $sFill2 Global $aArray_Base [1] [3] $aArray = $aArray_Base with $row While NOT .EOF Global $FirstName = .Fields("firstname").value Global $LastName = .Fields("lastname").value Global $FaxNumber = .Fields("faxnumber").value $sFill =$FirstName $sFill2 =$LastName $sFill3 =$FaxNumber _ArrayAdd($aArray, $sFill) _ArrayAdd($aArray, $sFill2, 1) _ArrayAdd($aArray, $sFill3, 2) .MoveNext ;MsgBox(0,"TEST",$FirstName) WEnd EndWith _ArrayDisplay($aArray, "Test Array") _MySQLEnd($sql) Edited March 2, 2015 by cdjphoenix
cdjphoenix Posted March 2, 2015 Author Posted March 2, 2015 why not just add them to the same array? the third parameter of arrayadd is column so something like: _ArrayAdd($aArray, $sFill) _ArrayAdd($aArray, $sFill2, 1) _ArrayAdd($aArray, $sFill3 , 2) I knew it would be something simple, this gets the correct data into the correct spots....for the most part. whatever reason each piece of data is in the correct column but it's one piece per row.
Solution cdjphoenix Posted March 3, 2015 Author Solution Posted March 3, 2015 I Figured out how to do what I was looking to do. Here is the code just in case someone else comes searching for something similar: #include "mysql.au3" #include "array.au3" $sql = _MySQLConnect('user','password','table','SQLSystem') $row = _Query($sql, "SELECT * FROM fax") Global $aArray,$aArray2 Global $sFill, $sFill2 Global $aArray_Base [1] [3] $aArray = $aArray_Base with $row While NOT .EOF Global $FirstName = .Fields("firstname").value Global $LastName = .Fields("lastname").value Global $FaxNumber = .Fields("faxnumber").value Local $sFill[2] [3] = [[$FirstName, $LastName,$FaxNumber]] _ArrayAdd($aArray, $sFill) .MoveNext WEnd EndWith _ArrayDisplay($aArray, "Test Array") _MySQLEnd($sql)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now