-1

I am trying to make individual links for each individual record. I have two files:

index.php

 <?php

$connect = mysql_connect("localhost", "test", "pass");
if (!$connect) {
    die("Can not connect:" . mysql_error());
}

mysql_select_db("snippets", $connect);

$ID = ''; 
if( isset( $_GET['ID'])) {
    $ID = $_GET['ID']; 
} 


$sql = "SELECT * FROM lectures";
$myData = mysql_query($sql, $connect);

while($record = mysql_fetch_array($myData)) {
$ID = $record['ID'];
$Name = $record['Name'];

    echo "<div class=\"container\">";
    echo "<div class=\"row\">";
        echo "<div class=\"col-md-2\">";
            echo "<p>$record[ID]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\">";
            echo "<p>$record[Topic]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\">";
            echo "<p>$record[Name]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\">";
            echo "<p>$record[Attendance]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\" style=\"display:none;\">";
            echo "<p>$record[Topic]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\" style=\"\">";
            echo "<td> <a href='car.php?id=" . $ID . " '>" . $record['Name'] . "</a> </td>";
        echo "</div>";
    echo "</div>";
    echo "</div>";


}

mysql_close($connect);

?>

And car.php

<?php

$connect = mysql_connect("localhost", "test", "pass");
if (!$connect) {
    die("Can not connect:" . mysql_error());
}

mysql_select_db("snippets", $connect);



$ID = ''; 
if( isset( $_GET['ID'])) {
    $ID = $_GET['ID']; 
} 

$sql = "SELECT * FROM lectures WHERE ID = '$ID' ";
$myData = mysql_query($sql, $connect);

while($record = mysql_fetch_array($myData)) {
$ID = $record['ID'];
$Name = $record['Name'];

    echo "<div class=\"container\">";
    echo "<div class=\"row\">";
        echo "<div class=\"col-md-2\">";
            echo "<p>$record[ID]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\">";
            echo "<p>$record[Topic]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\">";
            echo "<p>$record[Name]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\">";
            echo "<p>$record[Attendance]</p>";
        echo "</div>";
        echo "<div class=\"col-md-2\" style=\"display:none;\">";
            echo "<p>$record[Topic]</p>";
        echo "</div>";

    echo "</div>";
    echo "</div>";


}

mysql_close($connect);

?>

When I click on the link, the page is empty. If I put a value (eg: 2) in ID = '2', it works. But this will be the value for all links.

vard
  • 4,057
  • 2
  • 26
  • 46
N. Sabin
  • 3
  • 1
  • 1
    Please don't use `mysql_*` functions anymore as they are deprecated and in the newly released PHP 7.0 deleted. Use [mysqli](http://php.net/manual/en/book.mysqli.php) or [PDO](http://php.net/manual/en/book.pdo.php). Also when handling user input use [prepared statements](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php), that makes your query a lot safer against SQL injections. – BRoebie Dec 14 '15 at 15:57
  • 1
    Consult these following links http://php.net/manual/en/function.mysql-error.php and http://php.net/manual/en/function.error-reporting.php and apply that to your code. – Funk Forty Niner Dec 14 '15 at 15:58

1 Answers1

-1

if you work in linux you should write your ID param in capital case, so you should replace this:

echo "<td> <a href='car.php?id=" . $ID . " '>" . $record['Name'] . "</a> </td>";

by this:

echo "<td> <a href='car.php?ID=" . $ID . " '>" . $record['Name'] . "</a> </td>";
Gouda Elalfy
  • 6,888
  • 1
  • 26
  • 38