2011-07-05 140 views
1

我在使用mysql选择数据时遇到了问题。我在我的mysql表中调用了很多记录(“news”),我不想仅调用第一个数据,即第一个“id”。我怎样才能做到这一点?MySQL select查询

table = news 
id, title, description, date, image 

这是我的表结构,

$news = mysql_query("SELECT * FROM news ORDER BY id ASC"); 
while ($row = mysql_fetch_array($news)) 
{ echo '<img style="float:left; margin-right:15px;" 
      src="'.$row['image'].'.jpg" />'; 
    echo '<span>'.$row['date'].'</span>'; 
    echo '<h1>'.$row['title'].'</h1>'; 
    echo '<p>'.$row['description'].'</p>'; 
} 

于是我召集所有从该表的日期,但我不希望只拳头日期包括有!

+3

很难说出这里要问什么。请发布您的表格结构,示例数据和所需的输出。另外,你已经尝试过什么? – jensgram

+1

是如此难以为新用户提出可以理解的问题?XD – dynamic

+0

table =(“news”)> id,title,description,date,image这是我的表格结构, $ news = mysql_query(“SELECT * FROM news ORDER BY id ASC”); ($ row = mysql_fetch_array($ news)){ \t echo''; \t echo''。$ row ['date']。''; \t echo'

'。$ row ['title']。'

'; \t echo'

'。$ row ['description']。'

'; } 所以我从这个表中调用了所有的日期,但我不想让唯一的第一个日期包含在这里! – Mike

回答

2

它很难准确地了解你在找什么

如果你想只得到第一个记录:

mysql_query("SELECT * FROM table ORDER BY id ASC LIMIT 1"); 

要得到的一切,但第一行:

mysql_query("SELECT * FROM table ORDER BY id ASC LIMIT 1,10000"); 
+0

不是所有的,只是记录2-10001 - 如果表更大,额外的结果将被跳过。 – Tadeck

+0

@Tadeck:@Matthew:其实你需要'限制1,10000'。您的查询使用“LIMIT 2,10000”将跳过**前2 **条记录。 –

+0

哦耶啊,它的3:33在这里哈哈时间困了:D – rackemup420

0

也许这样:

SELECT id FROM news ORDER BY id LIMIT 1 
0

由你可以得到第一个记录。

SELECT * FROM `news` ORDER BY id LIMIT 1,1 
+2

错误。 “LIMIT 1,1'与”LIMIT 1 OFFSET 1“相同,并且会给你**第二个**记录。 – Tadeck

0

如果我理解正确的话,你要与第ID跳过结果:

...我不想叫第一只的数据,第一个“身份证” 。

,你可以告诉MySQL的去做了,你不希望特定ID:

SELECT * FROM `news` WHERE `id` NOT IN (1); 

(其中1是要跳过的ID)或使用子查询:

SELECT * FROM `news` WHERE `id` NOT IN (
    SELECT `id` FROM `news` WHERE ORDER BY `id` ASC LIMIT 1 
); 

并且这应该起作用(但是最好的方法是在询问数据库之前单独获取第一个ID并在查询中输入 - 您将以这种方式避免子查询)。

0

也许在文本字段中有特殊字符。你可以尝试使用htmlentities()功能:

$news = mysql_query("SELECT * FROM news ORDER BY id ASC"); 
while ($row = mysql_fetch_array($news)) 
{ echo '<img style="float:left; margin-right:15px;" 
      src="'. $row['image'] .'.jpg" />'; 
    echo '<span>'. $row['date'] .'</span>'; 
    echo '<h1>'. htmlentities(($row['title']) .'</h1>'; 
    echo '<p>'. htmlentities($row['description']) .'</p>'; 
} 
0

SELECT * FROM news WHERE id NOT IN( 选择id FROM news WHERE ORDER BY id ASC LIMIT 1 );

它将简单地从结果集中删除第一行,并为您提供所有其他记录