php数据库操作

<?php


function fuck_json(array &$data)
{
    $str = '';
    $arr_root = array();
    foreach($data['result'] as $row)
    {
        $arr = array();
        foreach($row as $key=>$value)
        {
            $value = addslashes($value);
            $arr[] = "\"$key\":\"{$value}\"";
        }
        $arr_root[] = '{' . implode(',', $arr) . '}';
    }
    $str = '[' . implode(',', $arr_root) . ']';
    $str = '{"result":' . $str . '}';


    return $str;
}


function generate_data($query, array &$res_arr_notdisplay, array &$res_arr_display)
{
    $data_arr = array();
    $data_arr['result'] = array();
    foreach($res_arr_notdisplay as $row)
    {
        $data_arr['result'][] = unserialize(stripslashes($row['FData']));
    }
    foreach($res_arr_display as $row)
    {
        $data_arr['result'][] = unserialize(stripslashes($row['FData']));
    }


    return fuck_json($data_arr);
}


$mysql_con = mysql_connect("localhost","root","");
if (!$mysql_con)
{
    die('Could not connect: ' . mysql_error());
}


if (!mysql_select_db("wenda")) {
    echo "Unable to select test: " . mysql_error();
    exit;
}




$sql = "select * from related_knowledge_display";
$result = mysql_query($sql, $mysql_con);
if(!$result)
{
    exit;
}


$pre_query = '';
$res_arr_notdisplay = array();
$res_arr_display = array();
while($row = mysql_fetch_assoc($result))
{
    $query = $row['FQuery'];
    if($pre_query != '' && $query != $pre_query)
    {
        $data = generate_data($pre_query, $res_arr_notdisplay, $res_arr_display);
        echo "$pre_query\tonebox5\t",$data,"\n";


        $res_arr_notdisplay = array();
        $res_arr_display = array();
    }


    if($row['FHasDisplayed'] == 0)
    {
        $res_arr_notdisplay[] = $row;
    }
    else
    {
        $res_arr_display[] = $row;
    }
    $pre_query = $query;
}




$data = generate_data($pre_query, $res_arr_notdisplay, $res_arr_display);
echo $data,"\n";


mysql_close($mysql_con);

if($argv[1] == 'original_data')
{
    while(!feof(STDIN))
    {
        $line = fgets(STDIN);


        $arr = explode("\t", $line);
        if(count($arr) != 3) continue;


        $query = $arr[0];


        $data_arr = json_decode($arr[2], true);


        $index = 0;
        foreach($data_arr['result'] as $data)
        {
            $FQuery = $query;
            $FUrl = 'http://wenda.so.com/q/' . $data['ask_id'];
            $FData = mysql_real_escape_string(serialize($data));
            if($index < 3)
            {
                $FIsDisplay = 1;
                $FHasDisplayed = 1;
                $FDisplayTime = time();
                $sql_str = "INSERT INTO related_knowledge_display (FQuery, FUrl, FIsDisplay, FHasDisplayed, FData, FDisplayTime) VALUES ('$FQuery', '$FUrl', $FIsDisplay, $FHasDisplayed, '$FData', $FDisplayTime)";
            }
            else
            {
                $FIsDisplay = 0;
                $FHasDisplayed = 0;
                $sql_str = "INSERT INTO related_knowledge_display (FQuery, FUrl, FIsDisplay, FHasDisplayed, FData) VALUES ('$FQuery', '$FUrl', $FIsDisplay, $FHasDisplayed, '$FData')";
            }


            $result = mysql_query($sql_str, $mysql_con);
            if(!$result)
            {
                echo $sql_str,"\n";
            }


            $index++;
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值