2014-10-08 59 views
0

我已经在国内外投掷了这么多线程4个小时以上,似乎缺少一件简单的事情。

我想让几个用户上传他们的'新闻'到MYSQL。
但是,我只想显示附加到该行的登录用户名(userpost)的'新闻'。
$ current是谁登录的用户名,哪个是有效的。
示例A不会筛选出不包含$ current用户的行。
实施例B不提供任何输出

Php Mysql SELECT查询1列等于1个变量

所以,我已经尝试都答:

$result = mysqli_query($con,"SELECT * FROM images_tbl"); 
//echo $current . "2" . $current; 
while($row = mysqli_fetch_array($result)) { 
    if ($row['userpost'] = '.$current.') { 
    $num = 0; 
    $num = $num + 1; 
    $pic.$num = $row['images_path']; 
    $h1 = $row['hlone']; 

和B:

$result = mysqli_query($con,"SELECT * FROM images_tbl WHERE (userpost = '.$current.')"); 
    echo $current . "2" . $current; 
    while($row = mysqli_fetch_array($result)) { 
     echo $row['hlone'] . " " . $row['images_path']; 
     echo "<img src=\"" .$row['images_path']. "\">"; 
    } 

27,图像/ 2014年8月10日-1412752801.jpg(images_path),2014-10-08,标题(hlone),标题2,故事,testb(userpost)

任何帮助将不胜感激。

+0

显示您的数据库模型 – Sal00m 2014-10-08 07:57:24

回答

1

添加where子句来查询

//in situation A 
$result = mysqli_query($con,"SELECT * FROM images_tbl where username='".$current."'"); 
//username is column name for user you might have to change this 
while($row = mysqli_fetch_array($result)) { 
    echo $row['images_path']; 
    echo $row['hlone']; 
} 

在情况B试试这个

$result = mysqli_query($con,"SELECT * FROM images_tbl WHERE userpost = '".$current."')"); 
    echo $current . "2" . $current; 
    while($row = mysqli_fetch_array($result)) { 
     echo $row['hlone'] . " " . $row['images_path']; 
     echo "<img src=\"" .$row['images_path']. "\">"; 
    } 
+0

对不起,延迟,我已经试过每个人的建议一次又一次,它仍然无法回声从数据库中的任何信息... 有太多的WHERE语句变体我'已经尝试过,并且无法弄清楚为什么它不起作用。 – 2014-10-10 14:30:34

0

为什么你想用PHP来过滤。

如果要筛选那些不被当前用户编写只是使用MySQL Where子句中的“新闻”:

// For Example A 
$result = mysqli_query($con, "SELECT * FROM images_tbl WHERE userpost != '{$current}'"); 
while($row = mysqli_fetch_array($result)) { 
    $pic = $row['images_path']; 
    $h1 = $row['hlone']; 
} 

// For Example B 
$result = mysqli_query($con,"SELECT * FROM images_tbl WHERE userpost = '{$current}')"); 
echo $current . "2" . $current; 
while($row = mysqli_fetch_array($result)) { 
    echo $row['hlone'] . " " . $row['images_path']; 
    echo "<img src=\"" .$row['images_path']. "\">"; 
} 

它很容易与MySQL的过滤选项。你应该对MySQL做更多的研究。

+0

感谢球迷,仍然没有运气让这个工作。 我知道PHP并不是这样做的有效方式,但它值得一试;示例A是唯一一个从数据库中输出任何东西的东西,它太糟糕了,它会输出所有东西。 我已经在Mysql上读了更多的小时,并且有一本OReilly Mysql书,它在WHERE语句中只有几个简短的句子。 如果任何人有任何想法或知道还有什么可能会错过,那将是伟大的。 非常感谢您的帮助:) – 2014-10-10 14:33:58

+0

这是一个迟到的答案,但您说'$ current'具有正确的值。然而,如果它仍然从数据库获取所有数据,请首先使用phpMyAdmin检查表的'userpost'列,看它是否有值。你需要自己做一些调试。如果查询从DB获得结果,则表示查询正在工作,因此我们不能从MySQL获取任何错误。 'userpost'列中有一些错误。 – Valour 2014-10-14 08:02:34