我有以下代码..MySQL的顺序由问题
echo "<form><center><input type=submit name=subs value='Submit'></center></form>";
$val=$_POST['resulta']; //this is from a textarea name='resulta'
if (isset($_POST['subs'])) //from submit name='subs'
{
$aa=mysql_query("select max(reservno) as 'maxr' from reservation") or die(mysql_error()); //select maximum reservno
$bb=mysql_fetch_array($aa);
$cc=$bb['maxr'];
$lines = explode("\n", $val);
foreach ($lines as $line) {
mysql_query("insert into location_list (reservno, location) values ('$cc', '$line')")
or die(mysql_error()); //insert value of textarea then save it separately in location_list if \n is found
}
如果I输入上的文本区域(假设我已经从保留表最大reservno '00014')以下的数据,
Davao - Cebu
Cebu - Davao
然后提交它,我会在我的location_list表有这些数据:
loc_id || reservno || location
00001 || 00014 || Davao - Cebu
00002 || 00014 || Cebu - Davao
那么这个代码:
$gg=mysql_query("SELECT GROUP_CONCAT(IF((@var_ctr := @var_ctr + 1) = @cnt,
location,
SUBSTRING_INDEX(location,' - ', 1)
)
ORDER BY loc_id ASC
SEPARATOR ' - ') AS locations
FROM location_list,
(SELECT @cnt := COUNT(1), @var_ctr := 0
FROM location_list
WHERE reservno='$cc'
) dummy
WHERE reservno='$cc'") or die(mysql_error()); //QUERY IN QUESTION
$hh=mysql_fetch_array($gg);
$ii=$hh['locations'];
mysql_query("update reservation set itinerary = '$ii' where reservno = '$cc'")
or die(mysql_error());
应该与'Davao - Cebu - Davao'
更新预约表,但它返回这个代替,'Davao - Cebu - Cebu'
。我曾经在这个论坛上帮助过这个代码,但现在我面临着另一个困难。只是不能得到它的工作。请帮帮我。提前致谢!
@Omesh,我将这段代码记入您的账户。 :))请继续帮助我完成这项工作。谢谢 – xjshiya
雅,当然,你可以发布链接到你原来的问题:http://stackoverflow.com/questions/12171581/mysql-string-functions/12171808#comment16410367_12171808 – Omesh
你真的需要开始正常化。你撕开一个字符串,只是为了重建它... –