0

テーブル内の配列の値を表示したいのですが、検索しようとしましたが、どれも機能しません。これがスニペットです。

$host="localhost";
$username="root";
$password="";
$db_name="sampledb";
$tbl_name="tblsched";
$cd1 = date("Y-m-d");
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$sql = "SELECT * FROM tblteacher WHERE teacherName='$uname'";
$result=mysql_query($sql);
$row = mysql_fetch_assoc($result);

$teacherid  = $row['teacherID'];

function mymainfunc()
{
global $uname;
global $teacherid;
$bgcolor="#ADDFFF";
$tdali="center";
dateto();
datefrom();
$arrayto[] = array();
$arrayfrom[] = array();
$arrayto[] = dateto();
$arrayfrom[] = datefrom();
$x=0;
while($x<count($arrayto[]))
{
echo "<tr>";
echo "<td align=$tdali bgcolor=$bgcolor>$arrayfrom[$x] - $arrayto[$x]</td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>"; 
echo "</tr>";

$x++;
}
}
function dateto()
{
global $uname;
global $cd1;
global $teacherid;
$sql="SELECT SchedTimeTo FROM tblsched WHERE SchedTeacherID=$teacherid and SchedDateFrom<='$cd1' and SchedDateTo>='$cd1' ";
$result=mysql_query($sql);

if($result === FALSE) {
die(mysql_error());
}

$count=mysql_num_rows($result);
$row = mysql_fetch_array($result);

$STF = array();
while($row=mysql_fetch_array($result))
  {
  $STF[] = $row;
}

return $STF;
}

function datefrom()
{
global $uname;
global $cd1;
global $teacherid;
$sql="SELECT SchedTimeFrom FROM tblsched WHERE SchedTeacherID=$teacherid and SchedDateFrom<='$cd1' and SchedDateTo>='$cd1' ";
$result=mysql_query($sql);

if($result === FALSE) {
die(mysql_error());
}

$row = mysql_fetch_array($result);

$STF = array();
while($row=mysql_fetch_array($result))
  {
  $STF[] = $row;
  }

return $STF;
}

異なるセルに各配列値を表示する方法に関する提案は、すべてのセルに配列からの異なる値が含まれます

4

4 に答える 4

1

最初のものを削除します。

$row = mysql_fetch_array($result);

次に、次を追加します。

var_dump($STF);

関数の各whileループの後に。これは、それがどのようにうまく機能するかを理解するのに役立ち、うまくいけば、変数にはたくさんのグッズが含まれています!

于 2012-09-20T12:58:19.873 に答える
1

このように使用する

for($x=0;$x<count($arrayto);$x++)
{
echo "<tr>";
echo "<td align=$tdali bgcolor=$bgcolor>$arrayfrom[$x] - $arrayto[$x]</td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>";
echo "<td align=$tdali> </td>"; 
echo "</tr>";

}

割り当てに$array[]を使用しないでください。渡される値は、すべて取得されます。

于 2012-09-20T12:59:03.703 に答える
1
    $sql=mysql_query("select  * from tblname");
    while($row=mysql_fetch_array($sql))
        {
            echo "<td>".$row["id"];
            echo "<td>".$row["name"];
        }
于 2012-09-20T13:09:34.190 に答える
0

結果をエコーアウトするforループを使用して$STF配列をループします。

for ($STF as $r) 
{ 
  echo '<td>' .$r["whatever data you want to display here"] .'</td>';
}
于 2012-09-20T13:01:31.997 に答える