用PHP从数据库中获取一个变量

时间:2013-05-15 19:33:17

标签: php mysql database url get

好吧显然我是初学者。

我在这里尝试做的可能很简单。 我正试图让我的数据库的所有字段在我的网站上回显。所以我用它来只显示基本的细节:

<?php
 // Make a MySQL Connection
 mysql_connect("localhost", "root", "") or die(mysql_error());
 mysql_select_db("crnew") or die(mysql_error());

 $result = mysql_query("SELECT * FROM releases") 
 or die(mysql_error());  

 while($row = mysql_fetch_array( $result )
 ) {
      // Print out the contents of each row into a table

echo '<ul class="releaselist">';
echo '<li>';
echo $row['products_name'];
echo '</li>';
echo '<li>';
echo $row['products_title']; 
echo '</li>';
echo '<li>';
echo '<a href="detailed.php?products_id="><img class="releaseimg"      src="'.$row['products_image'].'"></a>';
echo '</li>';
echo '</ul>';


 } 

 ?>

到目前为止,eveything工作正常。 我想要做的就是当我点击一张图片时,让我的网址看起来像这样。

www.mywebsite.com/detailed.php?id=1

并显示表RELEASES

中的所有内容

我完成它的方式不起作用是:

 <?php

 mysql_connect("localhost", "root", "") or die(mysql_error());
 mysql_select_db("crnew") or die(mysql_error());

  $result = mysql_query("SELECT * FROM releases
                    WHERE products_id=products_id") 
 or die(mysql_error());  

 if ($result){
$row = mysql_fetch_array($result);

echo $_GET['products_id'];  

}

?>

4 个答案:

答案 0 :(得分:2)

如果我理解正确,您的第一个脚本需要更新为:

echo '<a href="detailed.php?id=' . $row['products_id'] . '><img class="releaseimg"      src="'.$row['products_image'].'"></a>';

这会将您的图片变成链接。此时,您的第二个脚本应该可以使用:

_GET['id']

检索此值并在查询中使用它。正是如此:

$result = mysql_query("SELECT * FROM releases
                    WHERE products_id=" . mysql_real_escape_string($_GET['id']));

现在,如果你真的想在URL而不是id中使用products_id,只需更改它&#39; id&#39;到第一个脚本的echo行中的products_id和第二个脚本中的所有$ _GET用法。

答案 1 :(得分:1)

尝试更改此行:

echo '<a href="detailed.php?products_id="><img class="releaseimg"      src="'.$row['products_image'].'"></a>';

对此:

echo "<a href='detailed.php?products_id=".$row['products_id']."'><img class='releaseimg'      src='".$row['products_image']."'></a>";

答案 2 :(得分:0)

嗯尝试使用$ row [&#39; products_id&#39;]代替$ _GET [&#39; products_id&#39;];访问网页时使用$ _GET,$ row [&#39; products_image&#39;]工作的原因是您访问了数据库结果。

答案 3 :(得分:-1)

你错误地使用了products_id ......

您的代码应该是这样的......

 <?php

 mysql_connect("localhost", "root", "") or die(mysql_error());
 mysql_select_db("crnew") or die(mysql_error());

  $result = mysql_query("SELECT * FROM releases
                    WHERE products_id='".intval($_GET['id'])."'") 
 or die(mysql_error());  

 if ($result){
$row = mysql_fetch_array($result);

echo $row['products_id'];  

}

?>