Gilbert Gilbert - 6 months ago 16
MySQL Question

How would I get an id/name onclick using buttons generated from an SQL query?

I am creating a table from a MySQL database. Currently, I can manually enter the Course ID, then click 'select' to display a roster based on the Course ID entered.

However, I would like to streamline this with buttons on the right side of the table after each row. What is the best way to do this? I can provide a screenshot, but I still need more reputation.

So the code for generating this table is as follows.

<?php
// Connection information to database has been removed.

// $Row[1] - first name of faculty
// $Row[2] - last name of faculty
// $fieldRow[0] - course ID
// $fieldRow[1] - course name
// $fieldRow[2] - course year
// $fieldRow[3] - number of units

echo "<table>
<caption>....for " . $Row[1] . " " . $Row[2] . "</caption>
<tr>
<th>Course ID</th>
<th>Course Name</th>
<th>Course Year</th>
<th>Units</th>
</tr>";
while ($fieldRow = mysqli_fetch_row($result2))
{
echo "<tr><td>" . $fieldRow[0] . "</td>
<td>" . $fieldRow[1] . "</td>
<td>" . $fieldRow[2] . "</td>
<td>" . $fieldRow[3] . "</td>
<td><button name='" . $fieldRow[0] . "'>Select</button></td>
</tr>";
}
echo "</table>";
?>

<form method="get" action="class.php">
<p>Enter Course ID
<input autofocus="autofocus" tabindex="1" type="text" maxlength="5" name="classSelect" title="Enter Class Number" />
</p>
<p>
<button tabindex="2" type="submit">Select</button>
</p>
</form>


Thanks for looking at this!

Answer

You could have something like

if(isset($_GET['id'])
{
  $course_id = intval($_GET['id']);
  // Do your query against the course id.
}

 while ($fieldRow = mysqli_fetch_row($result2))
    {
      echo "<tr><td>" . $fieldRow[0] . "</td>
      <td>" . $fieldRow[1] . "</td>
      <td>" . $fieldRow[2] . "</td>
      <td>" . $fieldRow[3] . "</td>
      <td><a href='" . ?id=$fieldRow[0] . "'>Select</a></td>
      </tr>";
    }
    echo "</table>";
    ?>