funactions.php راهنمای در رابطه با فایل

سوال

سلام خسته نباشید من در سایتم بخش توضیحات محصول این کد رو تو قالب دارم میخوام انتقال بدم داخل  فایل funactions.php  و کوتاهش کنم

چیزی شبیه <?php
getCatPro();
?>

چند بار امتحان کردم ولی ظاهر حلقه مشکل داره لطفا راهنمایی کنید

<<?php
if(isset($_GET['product_id'])){
global $con;
$id_product=$_GET['product_id'];
$get_pro="select * from products where product_id='$id_product'";
$run_pro=@mysqli_query($con,"SET NAMES utf8");
$run_pro=@mysqli_query($con,"SET CHARACTER SET utf8");
$run_pro=mysqli_query($con,$get_pro);
while($row_pro=mysqli_fetch_array($run_pro))
{
$pro_id=$row_pro['product_id'];
$pro_title=$row_pro['product_title'];
$pro_price=$row_pro['product_price'];
$pro_desc=$row_pro['product_desc'];
$pro_image=$row_pro['product_image'];

echo"
<div id='content' class='col-sm-9'>
<div itemscope itemtype=''>
<h1 class='title' itemprop='name'>$pro_title</h1>
<div class='row product-info'>
<div class='col-sm-6'>
<div class='image'><img class='img-responsive' itemprop='image' id='zoom_01' src='admin_area/$pro_image' title='$pro_title' alt='$pro_title' data-zoom-image='image/product/macbook_air_1-500x500.jpg' /> </div>
<div class='center-block text-center'><span class='zoom-gallery'><i class='fa fa-search'></i> برای مشاهده گالری روی تصویر کلیک کنید</span></div>
<div class='image-additional' id='gallery_01'> <a class='thumbnail' href='#' data-zoom-image='image/product/macbook_air_1-500x500.jpg' data-image='image/product/macbook_air_1-350x350.jpg' title='لپ تاپ ایلین ور'> <img src='image/product/macbook_air_1-66x66.jpg' title='لپ تاپ ایلین ور' alt = 'لپ تاپ ایلین ور'/></a> <a class='thumbnail' href='#' data-zoom-image='image/product/macbook_air_4-500x500.jpg' data-image='image/product/macbook_air_4-350x350.jpg' title='لپ تاپ ایلین ور'><img src='image/product/macbook_air_4-66x66.jpg' title='لپ تاپ ایلین ور' alt='لپ تاپ ایلین ور' /></a> <a class='thumbnail' href='#' data-zoom-image='image/product/macbook_air_2-500x500.jpg' data-image='image/product/macbook_air_2-350x350.jpg' title='لپ تاپ ایلین ور'><img src='image/product/macbook_air_2-66x66.jpg' title='لپ تاپ ایلین ور' alt='لپ تاپ ایلین ور' /></a> <a class='thumbnail' href='#' data-zoom-image='image/product/macbook_air_3-500x500.jpg' data-image='image/product/macbook_air_3-350x350.jpg' title='لپ تاپ ایلین ور'><img src='image/product/macbook_air_3-66x66.jpg' title='لپ تاپ ایلین ور' alt='لپ تاپ ایلین ور' /></a> </div>
</div>
<div class='col-sm-6'>
<ul class='list-unstyled description'>
<li><b>برند :</b> <a href='#'><span itemprop='brand'>اپل</span></a></li>
<li><b>کد محصول :</b> <span itemprop='mpn'>محصولات 17</span></li>
<li><b>امتیازات خرید:</b> 700</li>
<li><b>وضعیت موجودی :</b> <span class='instock'>موجود</span></li>
</ul>
<ul class='price-box'>
<li class='price' itemprop='offers' itemscope itemtype='http://schema.org/Offer'>
<span class='price-old'>$pro_price </span>
<span itemprop='price'>$pro_price<span itemprop='availability' content='موجود'></span></span></li>
<li></li>
<li>$pro_price</li>
</ul>
<div id='product'>
<h3 class='subtitle'>انتخاب های در دسترس</h3>
<div class='form-group required'>
<label class='control-label'>رنگ</label>
<select class='form-control' id='input-option200' name='option[200]'>
<option value=''> --- لطفا انتخاب کنید --- </option>
<option value='4'>مشکی </option>
<option value='3'>نقره ای </option>
<option value='1'>سبز </option>
<option value='2'>آبی </option>
</select>
</div>
<div class='cart'>
<div>
<div class='qty'>
<label class='control-label' for='input-quantity'>تعداد</label>
<input type='text' name='quantity' value='1' size='2' id='input-quantity' class='form-control' />
<a class='qtyBtn plus' href='javascript:void(0);'>+</a><br />
<a class='qtyBtn mines' href='javascript:void(0);'>-</a>
<div class='clear'></div>
</div>
<button type='button' id='button-cart' onClick='index.php?add_cart=$pro_id' class='btn btn-primary btn-lg'>افزودن به سبد</button>
</div>
<div>
";
}
}
?>
>

 

 

در حال بررسی 0
2020-07-06T00:19:24+03:30 4 پاسخ کاربر تازه 0

پاسخ ها ( 4 )

    0
    2020-07-06T11:09:58+03:30

    سلام

    خطایی دریافت میکنید؟

    حلقه بی نهایت اجرا میشه؟

    یا ….؟

     

    0
    2020-07-06T13:45:47+03:30

    خطا دریافت نمیشه. حلقه در بی نهایت اجرا میشه

    0
    2020-07-06T21:28:47+03:30

    سلام یه تغییراتی دادم و حالا این ارور میده

    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/brothers/public_html/inc/functions.php on line 751

    قسمتی از فایل funactions من که ارور مربوط به اونه

    			
    		//جستجو
    	function getResult()
    	{ 
    			if(isset($_GET['search']))
    		{	
    			$search_qurey=$_GET['user_query'];
    			
    			$get_pro="select * from products where product_keywords like N'%$search_qurey%' ";
    			$run_pro=@mysqli_query($con,"SET NAMES utf8");
    			$run_pro=@mysqli_query($con,"SET CHARACTER SET utf8");
    			$run_pro=mysqli_query($con,$get_pro);
    			echo"<h2>$search_qurey</h2>";
    			while($row_pro=mysqli_fetch_array($run_pro))
    			{
    				
    				$pro_id=$row_pro['product_id'];
    				$pro_cat=$row_pro['product_cat'];
    				$pro_brand=$row_pro['product_brand'];
    				$pro_title=$row_pro['product_title'];
    				$pro_price=$row_pro['product_price'];
    				$pro_desc=$row_pro['product_desc'];
    				$pro_image=$row_pro['product_image'];
    				
    					echo" <div class='product-layout product-list col-xs-12'>
                  <div class='product-thumb'>
                    <div class='image'><a href='details.php?product_id=$pro_id'><img src='admin_area/$pro_image' alt=' $pro_title ' title='$pro_title' class='img-responsive' /></a></div>
                    <div>
                      <div class='caption'>
                        <h4><a href='product.html'> $pro_title </a></h4>
                        <p class='description'> آخرین دستاورد های روز دنیا
                          
                          شامل تمام اطلاعاتی که به آن نیاز خواهید داشت ...</p>
                        <p class='price'> <span class='price-new'>$pro_price تومان</span> <span class='price-old'>$pro_price تومان</span> <span class='saving'>-26%</span> <span class='price-tax'>بدون مالیات :$pro_price  تومان</span> </p>
                      </div>
                      <div class='button-group'>
                        <button class='btn-primary' type='button' onClick='index.php?add_cart=$pro_id'><span>افزودن به سبد</span></button>
                        <div class='add-to-links'>
                          <button type='button' data-toggle='tooltip' title='افزودن به علاقه مندی ها' onClick=''><i class='fa fa-heart'></i> <span>افزودن به علاقه مندی ها</span></button>
                          <button type='button' data-toggle='tooltip' title='مقایسه این محصول' onClick=''><i class='fa fa-exchange'></i> <span>مقایسه این محصول</span></button>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>";
    			} 
    		}
    	    
    	}	
    	
    	
    
    

    من این کد رو تو funactions قرار دادم و تو قالب هم اینطور خروجی گرفتم

    <?php getResult(); ?>

     

     

    0
    2020-07-07T18:15:00+03:30

    سلام

    وقتی خطای Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result میاد، دلیلش اینه که کوئری اشتباه هست و داره false بر میگردونه

    شما این کد رو قبل از حلقه ی while قرار بدید، تا خطای دقیق رو نشون بده:

    if (!$run_pro) {
        printf("Error: %s\n", mysqli_error($con));
        exit();
    }

    و برای تست دستوراتتون همیشه از var_dump استفاده کنید تا دقیق تر مشخص بشه جریان از چه قراره، مقداری که بر میگردونه نال هست یا نه.

    همچنین کوئری رو اصلاح کنید:

    $get_pro="select * from products where product_keywords like N '%$search_qurey%' ";

    موفق باشید.

ارسال یک پاسخ