1

I want to create an automatic cms in my website using php and mysql i.e. I would just feed data to mysql table and it will generate result. so my code is:

<!DOCTYPE html> 
<html> 
<head> 
  <?php 
    include 'head.php';
     include 'conct.php';
   ?> 
  <title>GIZMOMANIACS|DOWNLOADS</title> 
</head>
<body> 
   <div id="container" style="width:100%;height:100%;clear:both">
   <div id="header" style="background-color:#FFFFFF;"> 
   <div class="head" style="clear:both">
   <a href= "http://gizmomaniacs.site88.net">
   <img src="/GM%203D.gif" width= "200" height="100" alt='gizmomaniacs logo'></a></div> 
   <h1 style="margin-bottom:0; float:right"><font id="gmfont">GIZMOMANIACS</font></h1>
 </div> 
    <div id="menu" style="clear:both;background-color:#0762AE">
    <?php  include 'head.html'; ?></div> <div class="content" >  
    <?php include 'search.php'; ?> 
<ul>
<?php
  $sql = "SELECT * from downloads";
  $result = mysql_query($sql);
  if($result==false){
        $view = "error";
        $error = "Could not retrieve values";
    }
   else {
        $dload = $GET_['downloadname'];
        $imagelink = $GET_['imagelink'];
        $title =  $GET_['title'];
        while ($row = mysql_fetch_array($result)) 
        {
           echo "<li><a class =\"alldld\" href=\"$dload\" title=\"$title\"><img  class=\"downloads\" src =\"$imagelink\"/>$title</a><br></li>";
        }
   }
?>
</ul>
    </div> 
    <div class="social"> 
<?php 
   include 'social.php'; 
?></div> 
</div> 
</body> 
</html>

everything is gong well but three thing are not happening they are:

  1. a href atrribute not retreiving from db
  2. a title atrribute not retreiving from db
  3. img src atrribute not retreiving from db

in the actual source it is showing

<a class ="alldld" href="" title=""><img class="downloads" src =""/></a><br></li>  

<li><a class ="alldld" href="" title=""><img class="downloads" src =""/></a>

the src href title attribute are blank

so what to do?

Cœur
  • 32,421
  • 21
  • 173
  • 232

3 Answers3

2

change this part of code

$dload = $GET_['downloadname'];
$imagelink = $GET_['imagelink'];
$title = $GET_['title'];
while ($row = mysql_fetch_array($result)) 
{
echo "<li><a class =\"alldld\" href=\"$dload\" title=\"$title\"><img class=\"downloads\" src =\"$imagelink\"/>$title</a><br></li>";
}

to

while ($row = mysql_fetch_array($result)) 
{
$dload = $row['downloadname'];
$imagelink = $row['imagelink'];
$title = $row['title'];
echo "<li><a class =\"alldld\" href=\"$dload\" title=\"$title\"><img class=\"downloads\" src =\"$imagelink\"/>$title</a><br></li>";
}

While retrieving from DB you need to use the array in which the values are fetched and not the $_GET array. also there is no such thing as $GET_.

Important Note: Stop using mysql_ function and start using mysqli_* functions or PDO.For more info see here

Community
  • 1
  • 1
krishna
  • 3,938
  • 2
  • 26
  • 56
1

You're outputting the rows like this:

$dload = $GET_['downloadname'];
$imagelink = $GET_['imagelink'];
$title = $GET_['title'];
while ($row = mysql_fetch_array($result)) 
{
echo "<li><a class =\"alldld\" href=\"$dload\" title=\"$title\"><img class=\"downloads\" src =\"$imagelink\"/>$title</a><br></li>";
}
}

There's a couple of issues with that. First of all, if you wanted to retrieve it from the query string, you'd want to use $_GET, not $GET_. Second, you don't want to retrieve it from the query string with $_GET; you want to retrieve it from $row. Thirdly, you need to put it inside the while loop. Once you've fixed that, it should work.

icktoofay
  • 117,602
  • 18
  • 233
  • 223
0

$_GET is the array containing values passed in the URL.

<?php
// Let's take the following URL
// http://localhost/index.php?name=John&age=20
echo $_GET["name"]; // Will display 'John'
echo $_GET["age"];  // Will display '20'
?>

When you select something from the database, the variable $row contains each line of the results that you get using the function mysql_fetch_array. Try this to display your data :

<?php
// ...

while ($row = mysql_fetch_array($result)) {
    $dload = $row["downloadname"];
    $imagelink = $row["imagelink"];
    $title = $row["title"];
    echo "<li><a class =\"alldld\" href=\"$dload\" title=\"$title\"><img  class=\"downloads\" src =\"$imagelink\"/>$title</a><br></li>";
}

?>
Mohamed Amine
  • 2,116
  • 1
  • 19
  • 36