Jump to content

Recommended Posts

Posted

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...

#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.

Posted

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)

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Posted (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 by boththose

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Posted

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

 

Posted (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 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

Posted (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 by cdjphoenix
Posted

 

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
Posted

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)

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...