21,893
社区成员




CREATE TABLE IF NOT EXISTS `buss` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bus` int(11) NOT NULL,
`line` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=3 ;
--
-- 转存表中的数据 `buss`
--
INSERT INTO `buss` (`id`, `bus`, `line`) VALUES
(1, 2, '青山路,八一路,上海路'),
(2, 3, '凝注路,八一路,上海路');
mysql_connect();
mysql_select_db('test');
mysql_query('set names gbk');
echo "直达\n";
$start = '上海路';
$end = '凝注路';
$rs = mysql_query("select * from buss where find_in_set('$start', line) and find_in_set('$end', line)");
while($row = mysql_fetch_assoc($rs)) {
printf("%d %s\n", $row['bus'], $row['line']);
}
echo "换乘\n";
$start = '青山路';
$end = '凝注路';
$buf = array();
$rs = mysql_query("select * from buss where find_in_set('$start', line) or find_in_set('$end', line)");
while($row = mysql_fetch_assoc($rs)) {
$row['line'] = explode(',', $row['line']);
if($buf) {
foreach($buf as $i=>$a) {
$t = array_intersect($row['line'], $a['line']);
if($t)
foreach($t as $p) printf("%d %s - %d 换 %d %s - %d %s\n", $a['bus'], $start, $buf[$i]['bus'], $row['bus'], $p, $row['bus'], $end);
}
}
$buf[] = $row;
直达