Chun keat
Chun keat

Reputation: 13

Php retrieving number from database

i'm a newbie to php still. I'm using phpmyadmin as my database. I have a table called 'lessonno' and a column named 'lesson' in it. I tried using this code to retrieve out the number inside 'lesson'. But it's not printing out anything. Can someone help?

<?php 
$server = 'localhost'; 
$username = ''; 
$password = ''; 
$database = 'project'; 
mysql_connect($server,$username,$password) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());


$sql = "SELECT 'lesson' FROM 'lessonno'";
$lesson = $_POST['lesson']; 
 $result = mysql_query($sql);
?>
<?php
    for($i = 1; $i <= $lesson; $i++) {    
echo "<div>
    <a href=\"k1levelX.php?lesson=".$i."\"><span>Lesson ".$i."</span></a>           
</div>
<br>";
    }

?>

Upvotes: 0

Views: 89

Answers (4)

Satish Sharma
Satish Sharma

Reputation: 9635

i have made some changes in your code try this

<?php 
$server = 'localhost'; 
$username = 'root'; 
$password = ''; 
$database = 'project'; 
$conn = mysql_connect($server,$username,$password) or die(mysql_error());
mysql_select_db($database, $conn) or die(mysql_error());


$sql = "SELECT `lesson` FROM `lessonno`";
$lesson = $_POST['lesson']; 
$result = mysql_query($sql) or die(mysql_error());


while($row = mysql_fetch_assoc($result))
{
   $lesson_no = $row['lesson'];
echo "<div>
    <a href=\"k1levelX.php?lesson=".$lesson_no."\"><span>Lesson ".$lesson_no."</span></a>           
</div>
<br>";
    }

?>

Note : mysql_* is deprecated. use mysqli_* OR PDO

Upvotes: 1

Ejardy
Ejardy

Reputation: 101

For counting the number of data in your database, just insert this code

$sql = "SELECT 'lesson' FROM 'lessonno'";
$lesson = $_POST['lesson']; 
$result = mysql_query($sql);
$count=mysql_num_rows($result);//this will count the number of rows in your table.

echo "<div>
<a href=\"k1levelX.php?lesson=".$count."\"><span>Lesson ".$count."</span></a>           
</div>
<br>";

Upvotes: 0

prk
prk

Reputation: 3809

You can use something like this:

$sql = "SELECT lesson FROM lessonno";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
echo $row['lesson'];
}

If you would like to only print out a specific lesson with an certan ID, you can use something along the lines:

$id = $_GET['lessonid']; // If you would have something like index.php?lessonid=36 and you'd like it to only fetch the data for the lesson with the id of 36. 
$sql = "SELECT lesson FROM lessonno WHERE id='$id'";

(by looking at the $_POST['lesson'] part, I suppose that's something you might be trying to do as it's in the for loop as well)

Also, I suggest you use mysqli.

And, this:

echo "<div>
    <a href=\"k1levelX.php?lesson=".$i."\"><span>Lesson ".$i."</span></a>           
</div>
<br>";

Will just echo the $i as both lesson= and the span with Lesson, which won't grab any information from the actual database but just go with the current number it's at, from the for loop you have.

Upvotes: 1

kamlesh.bar
kamlesh.bar

Reputation: 1804

For getting Values from DB you need to use something like this

while ($row = mysql_fetch_assoc($result)) {
 print_r($row);   
}

For further reference please visit https://www.php.net/manual/en/function.mysql-fetch-assoc.php

Upvotes: 0

Related Questions