Reputation: 619
I'd like to put some variables of my array into a MySQL Database.
My array is called $data and looks like this :
Array
(
[0] => Array
(
[created_at] => Wed Aug 20 19:38:58 +0000 2014
[location] => Hollywood, CA
)
[1] => Array
(
[created_at] => Wed Aug 20 16:45:48 +0000 2014
[location] => Ventura County
)
[2] => Array
(
[created_at] => Wed Aug 20 01:39:03 +0000 2014
[location] => Berkeley, CA
)
[3] => Array
(
[created_at] => Tue Aug 19 23:53:54 +0000 2014
[location] => Charlotte, NC
)
)
Then I created the MySQL "maj" with that query :
CREATE TABLE maj (id SERIAL, created_at TEXT, location TEXT)
I know how to create a variable $location and put it into the database (something like
$location= $data['location']
). But I see the thing when the array is only composed of one location and not three..
So how could I do to populate my database with the three locations and the three created_at ?
Thank you !
Ok, I've edited my question by adding Aleatoric's snippet:
$get_tweets = $twitter_oauth->get (URL)
$tweets = json_encode($get_tweets);
$my_arr = json_decode($tweets, true);
$data = array();
foreach($my_arr["statuses"] as $status) {
$data[] = array(
"created_at" => $status["created_at"],
"location" => $status["user"]["location"]
);
}
$rows = [
[
'created_at'=>'date1',
'location'=>'location1'
],[
'created_at'=>'date2',
'location'=>'location2'
]
];
foreach ($rows as $row){
$date = $row['created_at'];
$location = $row['location'];
//run SQL insert
}
Upvotes: 0
Views: 98
Reputation: 519
If you want to do something for each element in an array, you need a foreach
loop, e.g.
$rows = [
[
'created_at'=>'date1',
'location'=>'location1'
],[
'created_at'=>'date2',
'location'=>'location2'
]
];
foreach ($rows as $row){
$date = $row['created_at'];
$location = $row['location'];
//run SQL insert
}
EDIT based on the updated code sample:
$get_tweets = $twitter_oauth->get (URL)
$tweets = json_encode($get_tweets);
$my_arr = json_decode($tweets, true);
//Declare the multidimensional data array which will contain the rows
$data = array();
//Populate the data array with arrays of values
foreach($my_arr["statuses"] as $status) {
$data[] = array(
"created_at" => $status["created_at"],
"location" => $status["user"]["location"]
);
}
//Iterate over the data array
foreach ($data as $row){
$date = $row['created_at'];
$location = $row['location'];
//run SQL insert
}
Upvotes: 1
Reputation: 21
If iv'e understood it correctly your accessing the first value, so try using a loop to access the remaining locations.
Upvotes: 0