このようにDB構造を持っています。
stopid | parentid
2 | 1
3 | 1
5 | 2
9 | 2
8 | 2
11 | 3
11 | 9
始発駅と終点駅を検索したい。それは一種のソートまたはプログラムによる検索です。私は親IDとして最初のストップを持っています。そしてstopidとしての最終停止。最初のストップを 1 から 11 まで検索する必要があるため、最後のストップ 11 から開始するようにロジックを配置し、ループを再帰します。彼らの任意のロジックです。私は試しましたが、成功しませんでした。すべてのルートを終了する必要はありません。互換性のある最初のルートが必要です。お気に入り..
1 -> 3 -> 11 または 1 -> 2 -> 9 -> 11 このように...
extract($_POST);
echo "From :$from to $to".'<br/>';
$sql="select parentid, stopid from routes WHERE stopid = '".$to."' ";
echo $sql.'<br/>';
$result = mysql_query($sql) or die(mysql_error());
$count = mysql_num_rows($result) or die( mysql_error());
$stopid = array();
while( $row = mysql_fetch_array($result)) {
$stopid[$row['stopid']][] = $row['parentid'];
}
echo '<pre>';
$countarray = count($stopid);
while($countarray >= 1){
foreach($stopid as $finalstop_value){
foreach($finalstop_value as $finalstop_ky => $finalstop_vl){
$query = "SELECT * FROM routes WHERE stopid = '".$finalstop_vl."'";
$sql = mysql_query($query) or die(mysql_error());
echo $query. ' Gives '.mysql_num_rows($sql).' rows...<br/>';
while( $row = mysql_fetch_array($sql)) {
$new_stopid[$finalstop_vl][$row['stopid']][] = $row['parentid'];
}
echo '<pre>';
print_r($new_stopid);
// $stopid[$finalstop_vl][] = $new_stopid;
$countarray--;
}
}
}
print_r($stopid);
exit;