0

$sql = "SELECT sid FROM staff WHERE position > 0 ORDER BY name ASC";
  $result = mysql_query($sql) or die(mysql_error());
  while($row = mysql_fetch_array($result)):
    $staff->getInfo($row['sid']);
    echo "<a href='index.php?page=staff&sid=".$staff->sid."'>";
    echo $staff->name;
    echo "</a>, ";
    echo $staff->printPosition();
    echo "<br />";
  endwhile; 

I can display the staff name and position, but when I try to grab the sid for the url - it doesn't work. It just ends up as:

index.php?page=staff&sid=

Any way to solve this?

EDIT:



function getInfo($sid)
    {
        $sql = "SELECT * FROM staff WHERE sID = '$sid'";
        $result = mysql_query($sql) or die(mysql_error());
        $row = mysql_fetch_array($result);
        $this->sid = $row['sid'];
        $this->branch = $row['branch'];     
        $this->name = $row['name'];
        $this->position = $row['position']; 
        $this->startDate = $row['startDate'];
        $this->div = $row['div'];
        $this->tag = $row['tag'];
    }


4

1 に答える 1

0

基本的なデバッグでは、「row」への割り当ての時点で getInfo 関数に var_dump を入れる必要があると指示されています。vardump が行 [sid] が空であることを示している場合は、クエリに問題があります。私の推測では、列名は sID であり、クエリ 1 を実行すると、技術的に列をすべて小文字の sid にエイリアスします。ただし、* を選択すると、mysql_fetch は大文字と小文字を含む実際の列名を変数に割り当てます。したがって、データベース内の列の大文字と小文字を確認し、配列キーが大文字と小文字が一致していることを確認してください。

于 2012-12-25T03:55:24.160 に答える