Reputation: 285
I'm struggling whit this... Basically, I have a script that will run every day (cron job). This script has to retrieve data from a table and it will post the data in another table (same database).
Here is my example script:
<?php
$c = mysql_connect("localhost", "user", "password");
$db = mysql_select_db("mydb", $c);
$query_sel = "SELECT id, rating, rating_count FROM mytableone";
$result_sel = mysql_query($query_sel) or die(mysql_error());
$ids = array();
while($id = mysql_fetch_array($result_sel))
$ids[] = $row;
foreach($ids as $id){
$lid = $row['id'];
$etvalue = $row['user_rating'];
$etcount = $row['rating_count'];
mysql_query("INSERT INTO mytabletwo VALUES ('$lid','$etvalue','$etcount',CURRENT_DATE())");
}
?>
My main idea is to insert data (as mysql query in foreach statement) "for each id from mytableone".
Where is my fault?
Thanks
Upvotes: 0
Views: 2688
Reputation: 1883
You can do this with one SQL query
INSERT INTO mytabletwo SELECT id,rating,rating_count,CURRENT_DATE() FROM mytableone
As to the fault you are using $row instead of $id[...]
Upvotes: 1
Reputation: 2715
The easiest way to do this is:
INSERT INTO mytabletwo(idColumnName, ratingColumnName, rating_countColumnName, dateColumnName) SELECT id, rating, rating_count, CURRENT_DATE() FROM mytableone;
(That is one statement.)
Upvotes: 1