อยากรู้วิธีเรียกใช้ fuction เพื่อแสดงชื่อ จากคีย์ ########%%%%%%%%%%%%%
เรามี fuction getSationName เพื่อแสดงชื่อ
Code (PHP)
function getSationName( $station_id ){
$re = mysql_query(" select station_name from tb_station where station_id = ".$station_id." ");
$rs = mysql_fetch_assoc( $re );
return $rs['station_name'];
}
เรามี fuction getResults เพื่อแสดงผลลัพธ์
Code (PHP)
function getResults($to) {
$ourShortestPath = array();
$foo = '';
for ($i = 0; $i < $this -> numberOfNodes; $i++) {
if($to !== null && $to !== $i) {
continue;
}
$ourShortestPath[$i] = array();
$endNode = null;
$currNode = $i;
$ourShortestPath[$i][] = $i;
while ($endNode === null || $endNode != $this -> startnode) {
$ourShortestPath[$i][] = $this -> previousNode[$currNode];
$endNode = $this -> previousNode[$currNode];
$currNode = $this -> previousNode[$currNode];
}
$ourShortestPath[$i] = array_reverse($ourShortestPath[$i]);
if ($to === null || $to === $i) {
if($this -> distance[$i] >= $this -> infiniteDistance) {
$foo .= sprintf("no route from %d to %d. \n",$this -> startnode,$i);
} else {
$foo .= sprintf(' ต้นทาง %d => ปลายทาง %d = %d (กิโลเมตร) <br> destinations [%d]: Follow the route to the classes (%s).'."\n" ,
$this -> startnode,$i,$this -> distance[$i],
count($ourShortestPath[$i]),
implode('-',$ourShortestPath[$i]));
}
$foo .= str_repeat('-',20) . "\n";
if ($to === $i) {
break;
}
}
}
return $foo;
}
} // end class
แบบเดิมที่ยังไม่มีชื่อ
the shortest route from class 2 to 20 is :
ต้นทาง 2 => ปลายทาง 20 = 44 (กิโลเมตร) destinations [4]: Follow the route to the classes (2-16-21-20).
แบบใหม่ที่มีชื่อ เราจะเรียกใช้ fuction getSationName ยังไงครับ
the shortest route from class 2 to 20 is :
ต้นทาง 2 => ปลายทาง 20 = 44 (กิโลเมตร) destinations [4]: Follow the route to the classes (สารคาม - กันทร - ยางตลาด - กาฬสิน ).Tag : PHP, MySQL
ประวัติการแก้ไข 2010-08-22 18:51:00
Date :
2010-08-22 18:49:43
By :
wisan191
View :
841
Reply :
2
เดาเอานะ ตรงนี้ครับ
$ourShortestPath[$i] เดาว่าตัวแปรนี้เก็บ array of station id
ในส่วนของ else
ให้เพิ่มบรรทัดนี้ก่อน
$ourShortestPath_name[$i] = array();
foreach ($ourShortestPath as $key => $station_id)
{
$ourShortestPath_name[$i][$key] = getStationName($station_id)
}
แล้วบรรทัด
$foo .= sprintf(' ต้นทาง %d => ปลายทาง %d = %d (กิโลเมตร) <br> destinations [%d]: Follow the route to the classes (%s).'."\n" ,
$this -> startnode,$i,$this -> distance[$i],
count($ourShortestPath[$i]),
implode('-',$ourShortestPath[$i]));
แก้ตรง implode('-',$ourShortestPath[$i])); เป็น implode('-', $ourShortestPath_name[$i]));
เดาเอานะคับ ^^
http://www.pjgunner.com
Date :
2010-08-22 19:30:38
By :
pjgunner
ยังม่ายได้อะคราบ
Date :
2010-08-23 00:46:35
By :
ไไไ
Load balance : Server 00