رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در کوئری LIKE و Between (حل شد)
#16
فرمت تاریخ همانند تصاویر پست های بالا با "-" از هم جدا شده اند.
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
پاسخ
تشکر شده توسط:
#17
چرا متغیر رو توی کوتیشن تک گذاشتین؟ اینطوری که کار نمیکنه. داره رشته '$date1' رو پردازش میکنه نه محتوای متغیر مربوطه رو. کمی دقت چاشنی کار کنید همه‌چیز حل میشه.
پاسخ
تشکر شده توسط: پیام حیاتی
#18
الآن جواب داد ولی نتیجه :
[عکس: joomlaforum.ir_14699512991.png]

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

<?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; ?>
پاسخ
تشکر شده توسط: پیام حیاتی
#24
وارد کردن تاریخ :

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

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




کاربران در حال بازدید این موضوع: 2 مهمان