MySQL节省了textarea的价值

时间:2012-09-04 05:07:49

标签: mysql string function

我有一个填充了值的textarea。在提交按钮上,我使用以下代码将textarea的值保存在单独的行中:

echo "<center><textarea name='resulta' id='result' style='height:200px; width:350px' readonly=readonly></textarea></center>";
echo "<form><center><input type=submit name=subs value='Submit'></center></form>";
$val=$_POST['resulta'];

    if (isset($_POST['subs']))
    {

        $lines = explode("\n", $val);

    foreach ($lines as $line) 
    {
        mysql_query("insert into postflight (sample_lang) values ('$line')") or die(mysql_error());

    }

如果我在textarea输入了以下内容:

Tokyo - London -> 10:00:00
London - Tokyo -> 11:00:00

postflight表将分别包含这些数据,

sfno  || bltime   || sample_lang
00001 || 00:00:00 || Tokyo - London -> 10:00:00
00002 || 00:00:00 || London - Tokyo -> 11:00:00

但是,我想要做的是,添加到sample_lang列'Tokyo - London'然后添加到bltime列'10:00:00'。 Postflight中的数据应如下所示:

sfno  || bltime   || sample_lang
00001 || 10:00:00 || Tokyo - London
00002 || 11:00:00 || London - Tokyo

我尝试了几个MySQL字符串函数,比如explode,locate,trim但是无法正常工作。我对MySQL字符串函数并不熟悉,所以我很难让它工作。任何关于如何做到这一点的想法将不胜感激。非常感谢!

编辑: 我不仅仅限制MySQL字符串函数的可能解决方案。当然我也对PHP解决方案持开放态度。我刚才说明了我到目前为止所做的工作。感谢。

2 个答案:

答案 0 :(得分:2)

虽然这在技术上可以完全用于MySQL,但是你认为它是你唯一的选择吗?

在PHP中进行字符串解析要容易得多。

foreach ($lines as $line) 
{
    $fields = explode('->', $line);
    $sample_lang = trim($fields[0]);
    $bltime = trim($fields[1]);
    mysql_query("insert into postflight (bltime, sample_lang) values ('".mysql_escape_string($bltime)."','".mysql_escape_string($sample_lang)."' )") or die(mysql_error());

}

答案 1 :(得分:0)

你必须在你的代码中使用一些逻辑,将字符串(textarea中的文本输入)分成两个值(一个应插入sample_lang列,一个插入bltime)然后将这些值分别插入这些列中。