PDA

View Full Version : اشکال در استفاده از دستور limit



تبسم ساینا
دوشنبه 27 مرداد 1393, 15:51 عصر
سلام دوستان , درمورد این کد :
$sql= "SELECT * FROM `image_work` limit $from,$to";

echo $sql;
mysql_query("SET CHARACTER SET utf8",$connection);
$result=mysql_query($sql,$connection);
$num=@mysql_num_rows($result);
echo $num;
$m=0;
echo "<div class='row1'>";
while ($row=@mysql_fetch_array($result))
{
$m++;
if($m==5)
echo "</div><div class='row2'>";

echo "<img src=img/".$row['name']." />";

}
echo "</div>";

مقداری که روی صفحه چاپ میشه توسط چاپ مقدار $sql اینه : SELECT * FROM `image_work` limit 8,16
ولی مقداری که در متغیر $num قرار میگیره 11 هست !!
دلیلش چیه؟

joker
دوشنبه 27 مرداد 1393, 16:13 عصر
SELECT * FROM tbl LIMIT offset, count

خب ترجمه فارسی دستور شما میگه از رکورد شماره 8 الی 16 تا بعدیش را بهت بده و احتمالا تعداد رکوردهای دیتابیست هم 20 تا هست بنابراین 11 تای باقی مانده تا انتهای جدول را فقط برات میده و نمایش میده

php_programmer021
دوشنبه 27 مرداد 1393, 16:28 عصر
با سلام
شما یه متغییر داری که داخلش یه رشته به همراه دو تا متغییر دیگه قرار دادی و چون همه ی اینها داخل دابل کوتیشن قرار دارن به جای اون دوتا متغییر مقدار داخل اونها رو نمایش میده.
برنامه درست داره اجرا می شه .
اما شما اگه این کد رو اجرا کنی بهتر جواب می گیری


<?php
$host="localhost"; // Host name
$username="username"; // Mysql username
$password="pass"; // Mysql password
$db_name="test"; // Database name
$tbl_name="image_work"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Retrieve data from database with limitation
$from = 8;
$to = 16;
$sql="SELECT * FROM $tbl_name limit $from,$to";
$result=mysql_query($sql);
?>
<table width="400" border="1" cellspacing="0" cellpadding="3">
<?php
// Start looping rows in mysql database.
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td width="10%"><? echo $rows['id']; ?></td>
<td width="30%"><? echo $rows['name']; ?></td>
<td width="30%"><? echo $rows['lastname']; ?></td>
<td width="30%"><? echo $rows['email']; ?></td>
</tr>
<?php
// close while loop
}
</table>
?>

<?php
// close MySQL connection
mysql_close();
?>

البته بسته به نیازی که داری تغییرش بده