تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل در کوئری LIKE و Between (حل شد)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
صفحات: 1 2
فرمت تاریخ همانند تصاویر پست های بالا با "-" از هم جدا شده اند.
jdf رو include کردم ، کدها :
<?php
 
if (isset($_POST["submit8"])) {
mysql_connect('localhost','root','');
mysql_select_db('taghvim');
include ('jdf.php');    
   
$date1=$_POST['fdate7'];    
$date2=$_POST['fdate8'];

list($sy, $sm, $sd) = explode('-', '$date1');    
list($ey, $em, $ed) = explode('-', '$date2');        
   
   
$sts = jmktime(0, 0, 0, $sm, $sd, $sy); // Start Timestamp    
$ets = jmktime(0, 0, 0, $em, $ed, $ey); // End Timestamp    

echo '
   <table class="table" border="1" style="font-size:12px">
       <tr>
         <th>ردیف</th>
         <th>تاریخ های جستجو شده</th>
       </tr>
       ';
       
   
       mysql_query('set names "utf8"');
       $query="SELECT * FROM bingo WHERE b_val BETWEEN $sts AND $ets";
       $records=mysql_query($query);

   
while($user=mysql_fetch_assoc($records))
      {
        echo "<tr>";
        echo "<td>".$user['b_id']."</td>";
        echo "<td>".$user['b_val']."</td>";
        echo "</tr>";
      }
       echo '</table>';
    
}

?>

خطا :
نقل قول:
Notice: Undefined offset: 2 in C:xampphtdocsTaghvim-2process.php on line 180

Notice: Undefined offset: 1 in C:xampphtdocsTaghvim-2process.php on line 180

Notice: Undefined offset: 2 in C:xampphtdocsTaghvim-2process.php on line 181

Notice: Undefined offset: 1 in C:xampphtdocsTaghvim-2process.php on line 181

Fatal error: Call to undefined function jmktime() in C:xampphtdocsTaghvim-2process.php on line 184
چرا متغیر رو توی کوتیشن تک گذاشتین؟ اینطوری که کار نمیکنه. داره رشته '$date1' رو پردازش میکنه نه محتوای متغیر مربوطه رو. کمی دقت چاشنی کار کنید همه‌چیز حل میشه.
الآن جواب داد ولی نتیجه :
[عکس: joomlaforum.ir_14699512991.png]

تاریخ های 1395-05-19 و 1395-05-20 رو ثبت کردم ، اما زمانی که جستجو می کنم برای این تاریخ ها چیزی نمایش داده نمیشه ، یا همه رو نمایش میده یا هیچکدام!
اصول کار همینه. یه جایی دارین اشتباه انجام میدین. کوئری رو یکبار echo کنید ببینید چی مینویسه. یکبار هم تاریخها رو echo کنید.
چاپ تاریخ ها :
[عکس: joomlaforum.ir_14699728511.png]
این عکس رو قبلاً هم گذاشتین. خود کوئری رو بگذارین + تاریخهایی که با explode جدا میکنید.
استاد کدها در پست ۱۶ هستند فقط متغیرها رو که فرمودید در دابل کوتیشن گذاشتم و between رو داخل کویری برداشتم فقط b_val که تاریخ ها داخلش قرار دارن سلکت کردم.
این کد رو تست کنید و نتیجه رو همینجا بگذارین.

<?php
require_once 'jdf.php';    

$result = false;

if (isset($_POST["submit8"])) {
    $con = new mysqli('localhost', 'root', '', 'taghvim');
    $con->set_charset('utf8');    

    // Start Date    
    list($sy, $sm, $sd) = explode('-', $_POST['fdate7']);    
    $sts = jmktime(0, 0, 0, $sm, $sd, $sy);

    // End Date
    list($ey, $em, $ed) = explode('-', $_POST['fdate8']);        
    $ets = jmktime(0, 0, 0, $em, $ed, $ey);

    echo "<p>SELECT * FROM `bingo` WHERE (`b_val` BETWEEN '{$sts}' AND '{$ets}')</p>" . PHP_EOL;    
    $result = $con->query("SELECT * FROM `bingo` WHERE (`b_val` BETWEEN '{$sts}' AND '{$ets}')");
}
?>

<?php if($result && $result->num_rows > 0) : ?>
<table class="table" border="1" style="font-size:12px">
    <tr>
        <th>ردیف</th>
        <th>تاریخ های جستجو شده</th>
    </tr>
    <?php while($user = $result->fetch_object()) : ?>
    <tr>
        <td><?= htmlentities($user->b_id, ENT_QUOTES, 'utf-8') ?></td>
        <td><?= htmlentities($user->b_val, ENT_QUOTES, 'utf-8') ?></td>
    </tr>
    <?php endwhile; ?>
</table>
<?php else: ?>
<p style="color:red;">No records found.</p>
<?php endif; ?>
وارد کردن تاریخ :

[عکس: joomlaforum.ir_14701376591.png]
نتیجه :

[عکس: joomlaforum.ir_14701376592.png]
خوب الان کوئری درست کار میکنه. مشکل توی محاسبه تاریخهاست. من این تاریخها رو که محاسبه میکنم مقادیری که بهم میده اینه:
1469475000
1470771000
اینها رو به مشتری نمایش بدم بگم پیدا کن تاریخ رو  Smile
نه نیازی نیست. شما موقع نمایش باید تاریخها رو دوباره درست کنید. مثال:
<td><?= jdate('l j F Y - H:i:s', $user->b_val) ?></td>
تشکر استاد ، بالاخره درست شد.
صفحات: 1 2