Во-первых, Такс, что взглянул на мой вопрос.
У меня есть функция, которая отлично работает для меня, и я хочу вызвать другую функцию из этой функции, однако у меня возникают всевозможные проблемы.
Вот функции, тогда я объясню, что мне нужно и с чем я сталкиваюсь.
Они, наверное, очень грязные, но я учусь и думал, что попробую нарядиться, а потом почистить.
function GetStation($id){
$x_db_host1="localhost"; // Host name
$x_db_username1="xxxx"; // Mysql username
$x_db_password1="xxxx"; // Mysql password
$x_db_name1="xxxx"; // Database name
// Connect to server and select databse.
mysql_connect("$x_db_host1", "$x_db_username1", "$x_db_password1");
mysql_select_db("$x_db_name1");
// SQL Query Setup for Station Name
$sql="SELECT * FROM stations WHERE ID = $id LIMIT 1";
$result=mysql_query($sql);
while($rows=mysql_fetch_array($result)){
$retnm = $rows['CallSign'];
}
mysql_close();
echo $retnm;
} // Closes Function
// List Delegates Function!!!!!!!!!!!!!!!!!!!
function ListDelegates(){
$x_db_host1="xxx"; // Host name
$x_db_username1="xxx"; // Mysql username
$x_db_password1="xxxx"; // Mysql password
$x_db_name1="xxxx"; // Database name
// Connect to server and select databse.
mysql_connect("$x_db_host1", "$x_db_username1", "$x_db_password1");
mysql_select_db("$x_db_name1");
$q = "SELECT * FROM delegates";
$result = mysql_query($q);
/* Error occurred, return given name by default */
$num_rows = mysql_numrows($result);
if(!$result || ($num_rows < 0)){
echo "Error displaying info";
return;
}
if($num_rows == 0){
echo "There are no delegates to display";
return;
}
/* Display table contents */
echo "<table id=\"one-column-emphasis\" summary=\"Delegates\"><thead>";
echo "<thead><tr><th>ID</th><th>Name</th><th>Station</th><th>Spec Req</th><th>BBQ</th><th>DIN</th><th>SAT</th><th>SUN</th></tr>";
echo "</thead><tbody>";
for($i=0; $i<$num_rows; $i++){
$d_id = mysql_result($result,$i,"DID");
$d_name1 = mysql_result($result,$i,"DFName");
$d_name2 = mysql_result($result,$i,"DLName");
$d_name = $d_name1 . " " . $d_name2;
$d_spec1 = mysql_result($result,$i,"DSpecRe");
$StatNm = mysql_result($result,$i,"DStation");
$d_st_name = GetStation($StatNm);
if ($d_spec1=="0"){ $d_spec = "-"; }
else {$d_spec = "<a href=\"javascript:void(window.open('http://xxxxxxx.xxx/xsreq.php?id=$d_id','','width=300,height=250,left=0,top=0,resizable=no,menubar=no,location=no,status=yes,scrollbars=no'))\">YES</a>"; }
$d_bbq1 = mysql_result($result,$i,"Dbbq"); // BBQ
if ($d_bbq1=="0"){ $d_bbq = "-"; }
else {$d_bbq = "NO"; }
$d_din1 = mysql_result($result,$i,"Dconfdinner"); // Dinner
if ($d_din1=="0"){ $d_din = "-"; }
else {$d_din = "NO"; }
$d_sat1 = mysql_result($result,$i,"DConfSat"); // Saturday
if ($d_sat1=="0"){ $d_sat = "-"; }
else {$d_sat = "NO"; }
$d_sun1 = mysql_result($result,$i,"DConfSat"); // Sunday
if ($d_sun1=="0"){ $d_sun = "-"; }
else {$d_sun = "NO"; }
echo "<tr><td>$d_id</td><td><strong>$d_name</strong></td><td>$d_st_name</td><td>$d_spec</td><td>$d_bbq</td><td>$d_din</td><td>$d_sat</td><td>$d_sun</td></tr>";
}
echo "</tbody></table></br>";
}
Итак, я вывожу ListDelegates () на страницу, и она отображает красивую таблицу и т. Д.
В ListDelegates () я использую функцию GetStation ().
Это потому, что таблица ListDelegates () использует идентификатор станции, а не имя, поэтому я хочу, чтобы GetStation ($ id) выводил имя станции
Проблема, с которой я столкнулся, заключается в том, что, похоже, GetStation () выводит все имена при первом вызове функции, поэтому первая строка в таблице и не разбивается на каждую строку, а только по одной: S
Вот что я думаю (я, вероятно, ошибаюсь). ListDelegates () не вызывает GetStation () для каждой строки, он делает это один раз, даже если он находится в цикле. ??
Понятия не имею, должно ли это вообще сработать ... Я просто учусь исследовать, а потом пробую.
Пожалуйста, помогите мне, чтобы я мог вывести название станции