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

جلب قيمة محددة من داخل حلقة تكرار php

محمد المصري12

السؤال

سلام عليكم

الان انا بعمل استعلام عادي جدا

$sel_sub = $conn->query("SELECT p.id AS pID , p.pack_id, p.tender_id, p.item_name,s.total_volume AS tv FROM pack_items p LEFT JOIN suppling_details s ON s.pack_item = p.id WHERE p.tender_id = $tender ");

نتائج الإستعلام ده 11 نتيجة مثلا

النتائج دي عاوز ارتبها من 1 ل 11 

و بعدين هاحط متغير مثلا بقيمة معينة ( موجودة ضمن ال 11 بيان اللي طالعين )

عاوز طريقة اخليه يروح عالمتغير ده و يبص عالاستعلام يدور علي قيمة مساوية لقيمة المتغير ده  و يطبعلي الرقم اللي قدامه ( ترتيبة من ال 11)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 2

يمكنك من خلال index حلقة التكرار فعل هذا الأمر بحيث لو كان لديك الاستعلام سوف تقوم بعمل حلقة تكرار عليه لتقوم بجلب النتائج مثل 

<?php 

for($i=0; $i < count($sel_sub); $i++)
{
	if($i == 11){
		// هنا تقوم بجلب القيمة الخاصة بالنتيجة رقم 11
	}
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

معلش سامحني اخي الفاضل لكي استوعب الفكرة

الكود كالتالي

<table>
    <tr>
        <td>
           الاسم
        </td>

        <td>
            الرقم
        </td>
    </tr>
<?php
$i = 0;

while ($row = mysqli_fetch_assoc($sel_sub)) {
    $i++
    ?>


    <tr>
        <td>
<?php echo $i ?>
        </td>



        <td>
<?php echo $row['item_name'] ?>
        </td>
    </tr>
    <?php } ?>
</table>


<?php
echo '<pre>';
echo 'رقم البند بطانية للبالغين هو' ;
echo '</pre>';

?>

و دي نتيجة الإستعلام

2022-11-20_11-10-04.thumb.png.8de1f4d0da7f664d4914901e9aac0d29.png

انا عاوز لما يلاقي المتغير قيمته مثلا ( بطانية للبالغين) يروح يدور عليها ف الاستعلام و يطبع الرقم اللي قدامها ( من غير ما اعرض باقي النتائج)

يعني بطانية بالغين رقمها 9

لو ستائر نوافذ يجيبلي 14

لو لحاف يجيبلي 12 

بس ، من غير ما يظهرلي باقي النتائج ( يعني ينفذ الاستعلام في الخفاء و يقارن و يحطلي الرقم بس)

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

معلش سامحني اخي الفاضل لكي استوعب الفكرة

الكود كالتالي


<table>
    <tr>
        <td>
           الاسم
        </td>

        <td>
            الرقم
        </td>
    </tr>
<?php
$i = 0;

while ($row = mysqli_fetch_assoc($sel_sub)) {
    $i++
    ?>


    <tr>
        <td>
<?php echo $i ?>
        </td>



        <td>
<?php echo $row['item_name'] ?>
        </td>
    </tr>
    <?php } ?>
</table>


<?php
echo '<pre>';
echo 'رقم البند بطانية للبالغين هو' ;
echo '</pre>';

?>

و دي نتيجة الإستعلام

2022-11-20_11-10-04.thumb.png.8de1f4d0da7f664d4914901e9aac0d29.png

imageproxy.php?img=&key=e4ac65570db3469dانا عاوز لما يلاقي المتغير قيمته مثلا ( بطانية للبالغين) يروح يدور عليها ف الاستعلام و يطبع الرقم اللي قدامها ( من غير ما اعرض باقي النتائج)

يعني بطانية بالغين رقمها 9

لو ستائر نوافذ يجيبلي 14

لو لحاف يجيبلي 12 

بس ، من غير ما يظهرلي باقي النتائج ( يعني ينفذ الاستعلام في الخفاء و يقارن و يحطلي الرقم بس)

لاحظ يمكنك تنفيذ الشرط داخل حلقة التكرار while بهذا الشكل 

<?php
$i = 0;

while ($row = mysqli_fetch_assoc($sel_sub)) {
    $i++
    ?>


    <tr>
        <td>
<?php echo $i ?>
        </td>

<?php 
///////////  هنا
	if($i == 11){
	echo $row['item_name'];
}
///////////  هنا
?>

        <td>
<?php echo $row['item_name'] ?>
        </td>
    </tr>
    <?php } ?>
</table>


<?php
echo '<pre>';
echo 'رقم البند بطانية للبالغين هو' ;
echo '</pre>';

?>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكن في خلل في طريقة سؤالي تجعله غير مفهوم و اعتذر لذلك

انا استاذي لا اعلم الرقم لكي اضعه كشرط ان تحقق اطبعلي النتيجة

انا عندي اسم ( و الاسم ده موجود ضمن نتائج الاستعلام ) فقط اريد رقمه ليس اكثر و لا أقل

 

<?php
echo '<pre>';
echo 'رقم البند بطانية للبالغين هو' ;
echo '</pre>';

?>

انا عاوز لما يلاقي في الاستعلام بند اسمه ( بطانية للبالغين ) يكتبلي ترتيبه في الاستعلام ، بس كده

مش اني اكتب الرقم و اقوله اطبعلي الاسم المقابل ليه

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

ايضاً بنفس الحالة يمكنك استخدام الشرط بحيث عندما يكون الاسم في الاستعلام كما تريد تقوم بجلب id الخاص به بهذا الشكل 

<?php 
///////////  هنا
	if($row['item_name'] == 'بطانية البالغين'){
	echo $row['id'];
}
///////////  هنا
?>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

ال ID ما بيجيبش ترتيبة داخل الاستعلام

ال ID بيجيب ترتيبة داخل الجدول ككل

يعني مثلا البند بطانية البالغين رقمه جوا الجدول 377 

لكن هو بيستخدم مثلا في المناقصة رقم 2 ( اللي فيها 11 بند هو من بينهم )

فانا عاوز اعرض رقمه داخل الاستعلام (ترتيبه و ليس ال ID الخاص به)

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • -1
بتاريخ 2 ساعات قال محمد المصري5:

ال ID ما بيجيبش ترتيبة داخل الاستعلام

ال ID بيجيب ترتيبة داخل الجدول ككل

يعني مثلا البند بطانية البالغين رقمه جوا الجدول 377 

لكن هو بيستخدم مثلا في المناقصة رقم 2 ( اللي فيها 11 بند هو من بينهم )

فانا عاوز اعرض رقمه داخل الاستعلام (ترتيبه و ليس ال ID الخاص به)

سؤالك غير واضح يُرجى بذل مجهود أكبر حتى يفهم المدرب ما الذي تريد فعله، سأعطي بعض الإرشادات على حسب ما فهمت:

إذا كنت تريد الوصول إلى ترتيب العُنصر داخل الحلقة يمكنك إستخدام فهرس الحلقة i

إذا كنت تريد الوصول لترتيب العُنصر بعد الحلقة، يُمكنك الإستعلام مجدداً إذا كان ما تبحث عنه مخزن ضمن عمود في جدول ما فقط قم بصياغة الإستعلام و تحديد الشرط الموافق لما تريد. أما إن كنت تريد إستخدام نتيجة الإستعلام الأول فيُمكنك حفظ النتيجة في مصفوفة (ثم البحث بداخلها عن البند الذي تريده بعد الوصول للصف الموافق قم بإرجاع قيمة المفتاح الموافق للترتيب) أما إن كانت نتيجة الإستعلام لا تحتوي على ذلك الترتيب كقيمة (أي أنه لا يوجد حقل يوافق ترتيب البند في نتيجة الإستعلام) يُمكنك إنشاء دالة تستقبل مصفوفة و العنصر الذي تبحث عنه كمعاملات، ثم من خلال الحلقات تمر على عناصر المصفوفة و تبحث عن العنصر إن تم إيجاد العنصر توقف الحلقة و تعيد الفهرس الذي تم الوصول له. إن لم تجد العُنصر تُعيد -1 دلالة على أنه غير موجود. تستخدم الدالة و تمرر لها نتيجة الإستعلام و البند.

أعطيت عدة إحتمالات لأني لا أعرف إن كان ما تريد الوصول له مُخزن في حقل ضمن جدول ما أو فقط ترتيب ضمن إستعلام.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...