اذهب إلى المحتوى

السؤال

نشر

السلام عليكم 

عندي جدولين

  • الاول اسمه common_cloth_composition
  • و الثاني اسمه commercial_description

الربط بين حقلين في الجدولين 

الحقل الاول باسم common_cloth_composition.ready

الحقل الثاني باسم commercial_description.id

الاستعلام

اعرضلي ما هو مكتوب في حقل name بجدول common_cloth_composition

عندما يكون الforignkey او ال ID بجدول common_cloth_composition 

يساوي 127 مثلا 

استعلامي كان كالتالي

SELECT common_cloth_composition.id AS CID,

       common_cloth_composition.ready AS readyId,
       
       commercial_description.id AS commID,
       
       commercial_description.name AS commName
       
       FROM 
       
       common_cloth_composition
       
       INNER JOIN 
       
       commercial_description
       
       ON 
       
       common_cloth_composition.ready = commercial_description.id && common_cloth_composition.id='127'

عند التنفيذ لا يظهر اي شئ فقط تظهر لي الرسالة التالية 

 

 Warning: #1292 Truncated incorrect DOUBLE value: 'مجهز'

علما بأن ال value  المسماه مجهز توجد كقيمة غير مستدعاه اصلا في الاستعلام و حتى لو موجودة فال ID رقم 127 المضروب به المثل لا يحتوي على هذه القيمة اصلا

ارجو ان يكون سؤالي واضحا و انتظر معرفة غلطي مع الشكر

Recommended Posts

  • 1
نشر

ليكن في العلم أنه بعد ضم الجدولين عن طريق JOIN فأنت تقوم بضم كل سطر من الجدول 1 إلى السطر المرافق من الجدول 2 , بحيث أنه سيتم تحديد الترافق هذا عن طريق تساوي المفاتيح من الجدولين . 

الان و بعد عمل الضم على هذا النحو : 

SELECT common_cloth_composition.id AS CID,

       common_cloth_composition.ready AS readyId,
       
       commercial_description.id AS commID,
       
       commercial_description.name AS commName
       
       FROM 
       
       common_cloth_composition
       
       INNER JOIN 
       
       commercial_description
       
       ON 
       
       common_cloth_composition.ready = commercial_description.id

لاحظ أن هذا الإستعلام سيقوم بجلب كل الأسطر من الجدولين التي تتساوى فيها المفاتيح , يمكنك الان تصفية النتائج و إضافة شرط التساوي عن طريق WHERE :

SELECT common_cloth_composition.id AS CID,

       common_cloth_composition.ready AS readyId,
       
       commercial_description.id AS commID,
       
       commercial_description.name AS commName
       
       FROM 
       
       common_cloth_composition
       
       INNER JOIN 
       
       commercial_description
       
       ON 
       
       common_cloth_composition.ready = commercial_description.id

       WHERE 
       
       common_cloth_composition.ready='127'

 

  • 0
نشر

سبحان الله الخطأ كان تافه جدا

كان اسم واحد من جداول الربط غلط ، لاني جربت شرط WHERE كتير ما كانش ظابط 

عموما اشكرك جزيل الشكر على مساعدتك و احب ان انوه اني استفيد من ملاحظاتك لي تنظيف الكود

و ارجو ان لا تحرمني رأيك في تنظيف هذا الكود فضلا

<?php

session_start();

if ($_SESSION['permission'] != 1)
      header("location: login");
include("includes/db.php");



$title = "تعديل البيانات الرئيسيه للقماش";
$sub_title = "البيانات الرئيسية - لا يمكن التعديل على نسب الخلط ";
$id = $_GET['id'];
//الاستعلام

$main_query = "SELECT * FROM common_cloth_composition WHERE id = ".$id.";";
$query = "SELECT common_cloth_composition.id AS CID,
common_cloth_composition.des AS desId,
commercial_description.id AS commID, 
commercial_description.name AS commName
FROM
common_cloth_composition
INNER JOIN
commercial_description
ON 
common_cloth_composition.des = commercial_description.id 
WHERE 
common_cloth_composition.id='$id' ";
$query1 = "SELECT * FROM commercial_description ";

$result1 = $conn->query($main_query) or die($conn->error) ;
$result2 = $conn->query($query) or die($conn->error) ;
$result3 = $conn->query($query1) or die($conn->error) ;
?>

<!doctype html>

<html lang="ar">



<head>

    <?php include("includes/head.php"); ?>



<body>

    <?php //include("includes/loader.php"); ?>

    <div class="app-container app-theme-white body-tabs-shadow fixed-sidebar fixed-header">

        <?php include("includes/app-header.php"); ?>

        <?php include("includes/ui-theme-settings.php"); ?>

        <div class="app-main">

            <?php include("includes/sidebar.php"); ?>

            <div class="app-main__outer">

                <div class="app-main__inner">

                    <div class="app-page-title">

                        <div class="page-title-wrapper">

                            <div class="page-title-heading">

                                <div class="page-title-icon">

                                    <i class="pe-7s-box2 icon-gradient bg-mean-fruit">

                                    </i>

                                </div>

                                <div><?php echo $title; ?>

                                    <div class="page-title-subheading"><?php echo $sub_title; ?>

                                    </div>

                                </div>

                            </div>

                            <div class="page-title-actions">

                                <button type="button" data-toggle="tooltip" data-placement="bottom" class="btn-shadow mr-3 btn btn-dark">

                                    <i class="fa fa-star"></i>

                                </button>

                            </div>

                        </div>

                    </div>
<?php 
while ($row = $result1->fetch_assoc()) {

?>					
		<!-- Starting form -->
		<div class="main-card mb-3 card">
                                    <div class="card-body">
                                        <h3 class="card-title">التعديل على البيانات الاساسية للأقمشة</h3>
                                        <div class="form-row">
					<!-- خانة اسم القماش -->
					                                            <div class="col-12">
                                                <label>إسم القماش</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend"><i class="fa fa-lightbulb-o" aria-hidden="true"></i></i></i></span>
                                                    </div>
<input type="text" class="form-control com_name fabname" value="<?php echo $row['fabname']; ?>" required>
                                                </div>
                                            </div>
					<!-- نهاية خانة اسم القماش -->
<?php } ?>
                                            <div class="col">
                                                <label>التوصيف التجارى</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend"><i class="fa fa-th"></i></span>
</div>
                                                    <select class="form-control s-des" required>
                                                        
                                                        <?php
                                                       // $result = $conn->query("SELECT * FROM commercial_description");
                                                        while ($row = $result2->fetch_assoc()) {
                                                            echo '<option selected disabled value="' . $row['commName'] . '">' . $row['commName'] . '</option>';
                                                                  }
																  while ($row = $result3->fetch_assoc())
																  {
																	 echo '<option value="' . $row['id'] . '">' . $row['name'] . '</option>'; 
																  } 
                                                        ?>
                                                    </select>
                                                    <div class="invalid-feedback">
                                                        يرجى تحديد
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="col">
                                                <label>إسم قماش التركيب النسجي</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend"><i class="fa fa-th"></i></span>
                                                    </div>
                                                    <input type="text" class="form-control fabric-auto" value="قم بتحديد التوصيف التجارى" readonly required>
                                                </div>
                                            </div>
                                            <div class="col-12">
                                                <label>تجهيز القماش</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend">ِTEXT</span>
                                                    </div>
                                                    <input type="text" class="form-control ready">
                                                </div>
                                            </div>
                                            <div class="col-12">
                                                <label>صورة القماش</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend">IMAGE</span>
                                                    </div>
                                                    <input type="file" class="form-control cloth-image" required>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
								
			<!-- التعديل على كارت الخواص -->
			
			 <div class="main-card mb-3 card">
                                    <div class="card-body">
                                        <h3 class="card-title">التعديل على خواص القماش</h3>
                                        <div class="form-row">
                                            <div class="col-12">
                                                <label>وزن المتر المربع بالجرام</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend">NUM</span>
                                                    </div>
                                                    <input type="text" class="form-control gMeterW" required>
                                                </div>
                                            </div>
                                            <div class="col-12">
                                                <label>نسبة الإنكماش بالعرض</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend">NUM</span>
                                                    </div>
                                                    <input type="text" class="form-control cShrink">
                                                </div>
                                            </div>
                                            <div class="col-12">
                                                <label>نسبة الإنكماش بالطول</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend">NUM</span>
                                                    </div>
                                                    <input type="text" class="form-control lShrink">
                                                </div>
                                            </div>
                                            <div class="col-12">
                                                <label>عرض الثوب بالمتر</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend">NUM</span>
                                                    </div>
                                                    <input type="text" class="form-control dressW" pattern="^\d*(\.\d{0,2})?$" required>
                                                </div>
                                            </div>
                                            <div class="col-12">
                                                <label>وزن المتر الطولي بالجرام</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend">NUM</span>
                                                    </div>
                                                    <input type="text" class="form-control Cweight" readonly required>
                                                </div>
                                            </div>
                                            <div class="col-12">
                                                <label>عدد الامتار لكل كيلو جرام</label>
                                                <div class="input-group">
                                                    <div class="input-group-prepend">
                                                        <span class="input-group-text" id="inputGroupPrepend">NUM</span>
                                                    </div>
                                                    <input type="text" class="form-control meterPerKG" readonly required>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
								
		<!-- زر الحفظ -->
		
		                                <div class="main-card mb-3 card">
                                    <div class="card-body">
                                        <div class="form-row">
                                          
											<button type="button" class="btn btn-primary btn-lg btn-block" type="submit">تحديث البيانات</button>

                                        </div>
                                    </div>
                                </div>
					
					
					
 <?php 
		//Modal color piker
		include("includes/commonfabric/color_piker_modal.html");
		include("includes/footer.php");
require("js/commonfabric-js.php");
		?>
    </div>
    <?php

	include("includes/js.php");

انا ما زلت مبتدئ و امامي الكثير ان شاء الله لاتعلمه

  • 0
نشر
بتاريخ 50 دقائق مضت قال محمد المصري5:

و ارجو ان لا تحرمني رأيك في تنظيف هذا الكود فضلا

عموما الكود نظيف , قد ينقصك تقسيم بعض المكونات الكبيرة إلى أخرى أصغر و تضمينها في كل دورة من الدور حتى تتجنب بعض المشاكل التي قد وقعت فيها , من مثل هاته : 

لاحظ أنك تقوم ببداية دور ثم تقوم بإنهاءه قبل إغلاق الوسوم داخل الدور :

        <?php 
        while ($row = $result1->fetch_assoc()) { # بداية الدور
        ?>					
		<!-- Starting form -->
		<div class="main-card mb-3 card">
            <div class="card-body">
                <h3 class="card-title"></h3>
                
                <div class="form-row">
                  
					<!-- خانة اسم القماش -->
					
					<!-- نهاية خانة اسم القماش -->
        
                    <?php } # نهاية الدور ?>
                  
                    <div class="col">				
                    </div>

                    <div class="col">
                    </div>

                    <div class="col-12">
                    </div>

                    <div class="col-12">
                    </div>

                </div>
            </div>
        </div>
					

سيبب لك هذا مشاكل عرض أو تداخلات في حالة عدم إرجاع الإستعلام لأي نتائج من قاعدة البيانات . 

عوضا عن هذا يمكنك عممل ذلك على هذا النحو :

<?php 
  while ($row = $result1->fetch_assoc()) { # بداية الدور
?>					
		<!-- Starting form -->
		<div class="main-card mb-3 card">
            <div class="card-body">
                <h3 class="card-title"></h3>
                
                <div class="form-row">
                  
					<!-- خانة اسم القماش -->
					
					<!-- نهاية خانة اسم القماش -->
                  
                    <div class="col">				
                    </div>

                    <div class="col">
                    </div>

                    <div class="col-12">
                    </div>

                    <div class="col-12">
                    </div>

                </div>
            </div>
        </div>
					
<?php } # نهاية الدور ?>

ثم سيسهل التحكم في المكون بالصف main-card و تكراره كذا مرة . 

كما أنه يمكن كتابة هاته الأسطر :

<select class="form-control s-des" required>
       <?php
            while ($row = $result2->fetch_assoc()) {
                echo '<option selected disabled value="' . $row['commName'] . '">' . $row['commName'] . '</option>';
            }
            while ($row = $result3->fetch_assoc())
			{
			    echo '<option value="' . $row['id'] . '">' . $row['name'] . '</option>'; 
			} 
       ?>
</select>

على نحو أفضل : 

<select class="form-control s-des" required>
       <?php
            while ($row = $result2->fetch_assoc()) { ?>
                <option selected disabled value="<?php echo $row['commName']; ?>">
                  <?php echo $row['commName']; ?>
                </option>
            <?php } ?>
  
            <?php while ($row = $result3->fetch_assoc()) { ?>
			    <option value="<?php echo $row['id'] ?>">
                  <?php echo $row['name']; ?> 
                </option> 
			<?php }; ?> 
       ?>
</select>

(يمكنك إنشاء دالة عامة بسيطة تحمل اسما مختصرا (ليكن __ مثلا ) تقوم بطباعة البارمتر الممرر عبرها عوض كتابة echo كل مرة ) .

لاحظ أيضا أن لديك وسم مفتوح في الأسطر الأخيرة : 

<div class="main-card mb-3 card">
      <div class="card-body">
      </div>	

	  <!-- زر الحفظ -->
	  <div class="main-card mb-3 card">         
      </div>

<!-- هنا -->

و هنا أيضا : 

<div class="app-container app-theme-white body-tabs-shadow fixed-sidebar fixed-header">

        <div class="app-main">

            <div class="app-main__outer">

                <div class="app-main__inner">

                    <div class="app-page-title">

                    </div>
                  
                <!-- هنا -->
                  
           <!-- هنا -->    
                  
       <!-- هنا -->      
                  
<!-- هنا -->

و قد لحظت نفس هذا الخطأ في أسئلتك السابقة أيضا , تأكد أن تقوم بإصلاحه في باقي الصفحات . 

كما أنه يمكنك التخلص من وسم الإغلاق هذا ﻷنه غير واضح و قد لا تتذكر لماذا وضعته بعد مدة : 

<?php 
    // Modal color piker
	include("includes/commonfabric/color_piker_modal.html");
	include("includes/footer.php");
    require("js/commonfabric-js.php");
?>
    </div>

<?php
	include("includes/js.php");

بالتوفيق .

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...