Mysql/PHP代码返回除第一行和最后一行之外的所有行

Mysql/PHP代码返回除第一行和最后一行之外的所有行,php,mysql,arrays,Php,Mysql,Arrays,我正试图从数据库中取出所有记录。例如,我有以下几点 $result = mysql_query("SELECT * FROM `plant_info` ORDER BY id LIMIT 0, 50") or die(mysql_error()); // Variables to pull from the database // I know the line below is the culprit now, so i must change the code below correct?

我正试图从数据库中取出所有记录。例如,我有以下几点

$result = mysql_query("SELECT * FROM `plant_info` ORDER BY id LIMIT 0, 50") or die(mysql_error());
// Variables to pull from the database
// I know the line below is the culprit now, so i must change the code below correct? ///
$returneddata = mysql_fetch_array($result);
///////////////////////////////////////////
$LatinName = $returneddata['Latin_Name'];
$CommonName = $returneddata['Common_Name'];
$Category = $returneddata['Category'];
$Type = $returneddata['Type'];
$Fruit = $returneddata['Fruit'];
$Flower = $returneddata['Flower'];
$MinHeight = $returneddata['Min_Height'];
$MaxHeight = $returneddata['Max_Height'];
$MinWidth = $returneddata['Min_Width'];
$MaxWidth = $returneddata['Max_Width'];
$Exposure = $returneddata['Exposure'];
$Comments = $returneddata['Comments'];
$SoilType = $returneddata['Soil_Type'];
$Zone = $returneddata['Zone'];
$PotSize = $returneddata['Pot_Size'];
$CostPrice = $returneddata['Cost_Price'];
$RetailPrice = $returneddata['Retail_Price'];
$ImageName = $returneddata['Image_Name'];
$ImageNameThumb = $returneddata['Image_Name_Thumb'];
$num_rows = mysql_num_rows($result); echo "$num_rows Rows\n";

while ($row = mysql_fetch_array($result)) {


echo "                           <tr>
                            <td align=\"center\" bgcolor=\"#000000\">
                                <p><img src=\"$row[Image_Name]\" style=\"width:120px;height:auto;\"></p>
                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Latin_Name]</p>
                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Common_Name]</p>
                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Category]</p>
                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Type]</p>
                            </td>

                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Flower]</p>

                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                               <p>$row[Comments]</p>
                            </td>

                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                               <p><a href=\"editplant.php?get=$row[id]\">Edit</a></p>
                               <p><a href =\"print_sign_div.php?get=$row[id]\">Print</a></p>
                            </td>
                        </tr>

";
}
$result=mysql\u query(“从`plant\u info`中选择*按id限制0,50排序”)或die(mysql\u error());
//要从数据库中提取的变量
//我知道下面这行是罪魁祸首,所以我必须更改下面的代码,对吗///
$returneddata=mysql\u fetch\u数组($result);
///////////////////////////////////////////
$LatinName=$returneddata['Latin_Name'];
$CommonName=$returneddata['Common_Name'];
$Category=$returneddata['Category'];
$Type=$returneddata['Type'];
$Fruit=$returneddata['Fruit'];
$Flower=$returneddata['Flower'];
$MinHeight=$returneddata['Min_Height'];
$MaxHeight=$returneddata['Max_Height'];
$MinWidth=$returneddata['Min_Width'];
$MaxWidth=$returneddata['Max_Width'];
$Exposure=$returneddata['Exposure'];
$Comments=$returneddata['Comments'];
$SoilType=$returneddata['Soil_Type'];
$Zone=$returneddata['Zone'];
$PotSize=$returneddata['Pot_Size'];
$CostPrice=$returneddata[‘成本价格’];
$RetailPrice=$returneddata['Retail_Price'];
$ImageName=$returneddata['Image_Name'];
$ImageNameThumb=$returneddata['Image_Name_Thumb'];
$num\u rows=mysql\u num\u rows($result);回显“$num\u行\n”;
while($row=mysql\u fetch\u数组($result)){
回声“

$row[拉丁名称]

$row[通用名称]

$row[类别]

$row[类型]

$行[花]

$row[评论]

"; }
我遇到的问题是,它将提取除第一条记录之外的所有记录。每隔一条记录显示,目前只有5条记录


我错过了一些愚蠢的事情,我知道。我把问题看了一遍,找不到答案。谢谢你没有发布有效的/所有的PHP-没有
mysql\u query()
调用

SELECT * FROM `plant_info` ORDER BY id LIMIT 0, 30
$row = mysql_fetch_array($result);
while ($row = mysql_fetch_array($result)) {
第2行获取一行,但无论如何都不处理它,丢弃第一行。试试这个:

$result = mysql_query("SELECT * FROM `plant_info` ORDER BY id LIMIT 0, 30");
while ($row = mysql_fetch_array($result)) {
更新问题后,看起来您希望从第一行中提取信息,然后在所有行上循环。下面是一种方法:

$result = mysql_query("SELECT * FROM `plant_info` ORDER BY id LIMIT 0, 30");
while ($row = mysql_fetch_array($result)) {
  $rows[] = $row;
}

$row = $rows[0];
$LatinName = $returneddata['Latin_Name'];
...

foreach ($rows as $row){
    ...
}

这可能是因为您两次调用了
mysql\u fetch\u array
命令

$row = mysql_fetch_array($result);
while ($row = mysql_fetch_array($result)) {
只需声明一次
mysql\u fetch\u array
,它位于
while
参数内

这应该是您的代码:

$result = mysql_query("SELECT * FROM `plant_info` ORDER BY id LIMIT 0, 30");
while ($row = mysql_fetch_array($result)) {

echo "                           <tr>
                            <td align=\"center\" bgcolor=\"#000000\">
                                <p><img src=\"$row[Image_Name]\" style=\"width:120px;height:auto;\"></p>
                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Latin_Name]</p>
                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Common_Name]</p>
                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Category]</p>
                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Type]</p>
                            </td>

                            <td align=\"center\" bgcolor=\"#90c084\">
                                <p>$row[Flower]</p>

                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                               <p>$row[Comments]</p>
                            </td>

                            </td>
                            <td align=\"center\" bgcolor=\"#90c084\">
                               <p><a href=\"editplant.php?get=$row[id]\">Edit</a></p>
                               <p><a href =\"print_sign_div.php?get=$row[id]\">Print</a></p>
                            </td>
                        </tr>

";
}
$result=mysql\u查询(“从'plant\u info'中选择*按id限制订购0,30”);
while($row=mysql\u fetch\u数组($result)){
回声“

$row[拉丁名称]

$row[通用名称]

$row[类别]

$row[类型]

$行[花]

$row[评论]

"; }
如果只有5条记录,你能为我们粘贴你的数据库吗?我有挪威语,同样的事情:(我不知道你是什么意思,基纳。尝试添加
$count=mysql\u num\u rows($result);打印“count是$count”
在您执行任何循环以验证mysql是否获取了您期望的行数之前。如果您可以使用您现在使用的完整代码(以及转储的“SELECT*from plant_info”)更新上述内容,这将有助于人们帮助您,所以是的,我是个白痴,我甚至不需要$Variable=$returneddata[“列名称”];在本页中。抱歉,伙计们,但感谢所有的帮助。需要多睡一会儿吗?谢谢,这让我五分之四要返回。现在只缺少一个是第一个。你能更新你的问题以显示你的完整代码吗?你应该尽可能减少示例代码以隔离问题-只需在每个循环中回显一行。你拥有的代码越少,越容易发现问题!我还有一个$returneddata=mysql\u fetch\u array($result);这是我的第一个结果,但我用它来显示数据,如下所示:$latiname=$returneddata['Latin\u Name'];hmmmmyou必须在问题中发布所有代码。我们猜不出它是什么样子!来吧,cal你不是通灵师吗?:)。我知道了,谢谢,请参阅上面的评论。cal下面的回答得到了除了第一个结果以外的所有结果。$num_rows=mysql_num_rows($result);echo“$num_rows rows\n”给我“5”Cal的建议是正确的语法。它应该给你所有的结果,除非你实现错误。我会为你更新我的答案。