首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php根据mysql值从csv文件中获取具体数据

问使用php根据mysql值从csv文件中获取具体数据
EN

Stack Overflow用户
提问于 2011-03-05 06:36:23
回答 2查看 1.6K关注 0票数 0

嗨

设置是这样的:我需要从一个名为pricelist.csv的csv文件中更新一些价格。数据库表名为products,有一个名为product_id的列,其中包含产品in,也可以在csv文件的第一列中找到,价格和我需要的最后一列位于csv文件的第7列中。我需要将这些内容写入数据库的price列。

我已经尽了最大的努力来想出代码,但这对我的技能水平来说似乎太多了。这是我做的:

代码语言:javascript
复制
<?php  
include("admin/include/db.php");  
$res=mysql_query("select * from products");  
$row = 1;  
$mycsvfile = array(); //define the main array.  
if (($handle = fopen("pricelist.csv", "r")) !== FALSE) {  
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
    {  
        $num = count($data);  
        $row++;  
        $mycsvfile[] = $data;  
    }  
    fclose($handle);  
}  

$row['product_id'] = $mycsvfile[$which_row][1] //trying to find the row in the csv  
$mycsvfile[$which_row][7] = $price; //should get price, but previous line does not work   

while($row=mysql_fetch_array($res))  
{  
    mysql_query("update products set price='".$price."', isavailable='1' where id='".$row['id']."'");  
}  
?>

欢迎任何形式的帮助!谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-05 06:46:01

我认为你正在寻找这个(但我没有测试它):

代码语言:javascript
复制
<?php
include("admin/include/db.php");

if( ( $handle = fopen("pricelist.csv", "r") ) !== FALSE )
{
    while( ( $r = fgetcsv( $handle, 1000, ";") ) !== FALSE )
    {
        mysql_query('UPDATE products SET "price"="'.$r[6].'", "isavailable"="1" where "id"="'.$r[0].'"');  
    }
}

免责声明__:是的,我知道我没有清理数据,但我不想使用过时的mysql函数。

票数 0
EN

Stack Overflow用户

发布于 2011-03-05 06:50:19

您可以使用file()将CSV文件读入数组。然后使用str_getcsv()从文件数组中读取每一项,并将其转换为表示CSV文件中的一行的数组。然后将该数组中的数据提取到更新查询中并运行它。

如下所示:

代码语言:javascript
复制
$id = 0;
$price = 6;

$csv_file = file('pricelist.csv');

foreach($csv_file as $row)
{
    $data = str_getcsv($row);
    $query = "UPDATE products SET price = {$data[$price]}, isavailable='1' WHERE `id` = {$data[$id]}";
    //run the query
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5200037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档