Jaja, lo he hecho, código VF
* **************************** ************************************************** * *******************
* id (número automático pk) busline (línea de bus int 4) busname (nombre del sitio varchar 20) busorder (sitio order) int 4)
* 1 1 Estación de Ferrocarril 1
* 2 1 Plaza de la Victoria 2
* 3 1 Venta de Puente Pesquero 3
* ... ... ... ... ...
* 25 2 Plaza de la Victoria 1
* 26 2 Ciudad Eléctrica de Tianxiang 2
* 27 2 Wulitun 3
* ... ... ... ...
* Así se inserta la base de datos en el registro Todos los autobuses de la ciudad. Se pueden insertar datos de línea en él.
************************************* ******** ******************************************* ********* ***
*/
//Definir una nueva clase
//Implementar traslado en autobús
class buss{ p>
//Definir variables miembro de conexión de base de datos
var $host
var $user
var; $passwd;
var $database;
var $conn
//Usa el constructor para inicializar variables y conectarte a la base de datos
función buss(){
$this->host="localhost";
$this->usuario="root";
$this ->passwd="";
$this->database="bus";
$this-&g
t;conn=mysql_connect($this->host, $this->user,$this->passwd) o
die("No se pudo conectar a $this->host"); >
mysql_select_db($this->database,$this->conn) o
die("No se pudo cambiar a la base de datos $this->database");
//Estadísticas de todos los nombres de paradas de autobús en la base de datos y almacenarlas en una matriz
//Devuelve el nombre de la parada
function busstotal(){
$SQL = "seleccionar * del grupo de bus por nombre de bus";
$count = 0;
$resultado = mysql_query($SQL);
while ($row = mysql_fetch_object($resultado)){
$bustotal[$count]= $row->busname;
$count++;
}
return $bustotal;
}
//Estadísticas de todas las rutas de autobús en la base de datos y almacenarlas en una matriz
//Volver a rutas de autobuses
function busslinetotal(){
$SQL = "seleccionar * del grupo de autobuses por línea de autobús";
$count = 0;
$resultado = mysql_query($SQL);
while($row = mysql_fetch_object($resultado)){
$buslinetotal[$count ]= $fila->busline;
p>$count++;
}
return $buslinetotal;
}
//Estadísticas en cada línea de la base de datos Las estaciones que pasan se almacenan en la matriz
//La línea de parámetro es necesaria para distinguir cada autobús
//Devuelve el nombre de la estación
function bussperline($line){
$SQL = "select * from bus donde busline = '$line'";
$count = 0;
$resultado = mysql_query($SQL );
while($fila = mysql_fetch_object($resultado)){
$busperline[$count] = $fila->nombre del bus;
$cuenta++
;
}
return $busperline;
}
//Cuenta las combinaciones de todos los autobuses que pasan por una determinada parada
//El parámetro estación es obligatorio, indicando la estación por la que pasó
//Regreso a la línea de autobús
function passline($station){
$SQL = "seleccione * del bus donde nombre del bus = '$estación' grupo por línea de bus";
$count = 0;
$resultado = mysql_query($SQL);
while($row = mysql_fetch_object($resultado)){
$passline[$count]= $row->busline;
$count++;
}
return $passline
}
//Función para implementar el algoritmo de transferencia
// Es necesario proporcionar parámetros, consultar el punto inicial y final
función bussStationToStation($start,$end){
$flag1 = false;
$flag2 = false;
//Devolución de llamada de función
$busstotal = $this->busstotal();
$busslinetotal = $this->busslinetotal();
//Determinar si este sitio existe en la base de datos
for($i=0;$i if($start==$busstotal [$i]) $bandera1 = verdadero; if($end==$busstotal[$i]) $bandera2 = verdadero; if($flag1 y $flag2) break; } //Un sitio no existe if(!($flag1 y $flag2) ){ if(!$flag1) die("¡El sitio $start no existe! "); if(!$flag2) die("¡$el sitio final no existe!"); } //Ambos sitios existen situación //Primero determina si hay un tren directo $strTemp = ""; //Atraviesa todos los trenes para ($i=0;$i $flag3 = 0; //Devolución de llamada de función > $bussperline = $this->bussperline($busslinetotal[$i]); //Recorre las estaciones por las que pasa cada tren for($j=0;$j if($start==$bussperline[$j]) $flag3 +=1; if($end== $bussperline[$j]) $flag3 +=1; if($flag3==2) descanso; } if($flag3= =2) //Guardar trenes directos, divididos por || $strTemp = $strTemp.$busslinetotal[$i]."||"; } if($strTemp==""){ //Si no hay tren directo, calcula una situación de transbordo echo(" < strong>".$start. " a" .$end." font ¡No hay tren directo! Consulte las siguientes sugerencias de transferencia. "); //Compruebe la estación de transferencia del primer nivel //inicio Punto de inicio //final punto final //Devolución de llamada de función para obtener todas las combinaciones que pasan por el punto inicial y el punto final $statpass = $this->passline($start ); $endpass = $this->passline($end); //Obtiene todas las combinaciones de líneas que pasan por el puntos de inicio y fin $resultbus = ""; for($a=0;$a for($b=0;$b //Juzga si hay una intersección entre dos líneas $startper = $ this->bussperline($statpass[$a]); $endper = $this->bussperline($endpass[$b]); for($c=0 ;$c for($d=0;$d if($startper[$c]==$endper[$d]){ //Después de encontrar exitosamente la intersección //Almacenando la información en la intersección //Esta es solo una transferencia $fistid = $statpass [$a]; $segundoid = $endpass[$b]; $changestation = $startper[$c]; $resultbus .= $fistid.";".$segundoid.";".$changestation."||" } } } } } if($resultbus=="") { //No se encontró línea de transferencia echo(" Lo siento, " .$start. " a " .$end. "¡No hay tren directo y no puedes llegar incluso si haces transbordo una vez!"); } else{ //Encontrar la línea de transferencia $resultbus = substr($resultbus,0,strlen($resultbus)-2 );//Eliminar el extremo derecho "||"$resultbus_ok1 = explode("||",$resultbus);//Dividir la cadena en matrices echo (" echo (" echo (" echo (" echo (" echo (" echo ("< td width =150>Punto final"); echo (" for($mm= 0;$ mm $resultbus_ok2 = explotar(";",$resultbus_ok1[$mm]); //Calcular el dos vehículos Punto de partida y punto final $bus1 = $this->bussperline($resultbus_ok2[0]); $bus2 = $this->bussperline($resultbus_ok2[1 ]); //Pantalla echo (" echo (" echo ( " echo (" echo ("&l t;td width=150>" .$bus2[count($bus2)-1]. ""); echo(" } echo(" } } else{ //Si hay un tren directo, muestra directamente la situación del tren directo echo (" echo (" echo (" echo (" echo (" echo (" echo (" echo ("< td width=150>Detalles"); echo (" $strTemp = substr($ strTemp,0,strlen($strTemp)-2);//Eliminar el "||" más a la derecha $strTemp_ok1 = explotar("||",$strTemp );//Dividir la cadena en una matriz for($nn=0;$nn //Calcular el punto de partida y punto final del vehículo $bus = $this->bussperline($strTemp_ok1[$nn]); //Display echo (" Color = '#FFF9EE' onMouseOut = this.style.backgroundColor = ''>"); echo (" echo (" echo (" echo (" echo (" echo (" echo("< /tr>"); } echo(" } } } /* Después de definir la clase abstracta, es muy sencillo usarla */ $bus = new buss; $bus->bussStationToStation("Train Station","Wulidun"); //Todo está bien, puedes ver los resultados directamente>");
");"); "); Punto de partida ");Número de tren ");Estación de transferencia ");Números de trenes ");") ; ");" .$bus1[0]. " td>") ; echo (" " .$resultbus_ok2[0]. " ");" .$resultbus_ok2[2]. " ==> ");" .$resultbus_ok2[1]. " ");");
");"); "); Número de tren ");Punto de partida "); aprobado ");aprobado ");Punto final "); p>" .$strTemp_ok1[$nn ]. " ");" .$bus[0]. " ");" .$start. " ==> ");" .$end. " ") ;" .$bus[count($bus)-1]. " ");Detalles ");