الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة بسيطة باستعلام خاص بتعدد الغات

بدأه fatmaali في 31 مايو 2013 · 6 رد · 425 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني الافاضل

 

لدي استعلام اقوم وضعه باول الصفحة  يقوم بالاستعلام عن الغه التى قمت باختيارها لنقل مثلا عربي =1 انجليزي =2

 

ولكن في مشكلة اذا فتحت الاندكس مثلا بدون اختيار لسا ما اخترت شيئ ما يجبلى لغه والسبب انى لم اختار شيئ

 

اريد تعديل هذا الاستعلام

 

 

<?
        $langid = intval($_GET['langid']);
        $selectlang="select * from lang where lang_id='".intval($_REQUEST[langid])."'";
		$Resultlang=mysql_query($selectlang);
		while($Rowlang=mysql_fetch_array($Resultlang))
		{
		extract($Rowlang);
?>

الصفحة

<?
}
?>

 

 

اذا كان الحقل الخاص برقم الغه

angid  = 0 يعرض هوا رقم تلقائى زي 1 او 2 مثلا

 

واذا

angid بداخله رقم غير 0 يعرضة كما هوا

 

فكيف يكون ذلك

تم تعديل هذه المشاركة بواسطة fatmaali في 31 مايو 2013 في 15:59

#2

وعليكم السلام

اتمنى فقط أن تكتبي باللغة العربية الفصحى لأن بعض الجمل لم أستطع فهمها.

 

 

اقتباس
angid  = 0 يعرض هوا رقم تلقائى زي 1 او 2 مثلا

واذا

angid بداخله رقم غير 0 يعرضة كما هوا

 

 

إذا كنت تقصدين تحديد اللغة العربية مثلاً عند عدم تحديد قيمة لـ $_GET['langid'] فيمكنك ذلك عن طريق إستبدال السطر الأول بالسطر التالي :

isset(intval($_GET['langid'])) ? $langid = intval($_GET['langid']) : $langid = 1;
#3

اعتذر لك عن ذلك اخي الفاضل

 

هوا المقصود عند دخول الصفحة وفى حال الاستعلام وجد ان الحقل يساوي 0 اى انه لم يختار اى لغه يضع رقم من عندة مثل 1 او 2

 

وان كان عكس ذلك وهوا بالفعل لغه رقم 1 يسيبة كما هوا بدون تغير

 

عموما قمت بتغير السطر وجابلى الخطاء التالي في نفس السطر الى ادتهولي اخي الفاضل

 

Fatal error: Can't use function return value in write context in C:\AppServ\www\script\home.php on line 5

تم تعديل هذه المشاركة بواسطة fatmaali في 31 مايو 2013 في 18:12

#4
اقتباس

 

عموما قمت بتغير السطر وجابلى الخطاء التالي في نفس السطر الى ادتهولي اخي الفاضل

Fatal error: Can't use function return value in write context in C:\AppServ\www\script\home.php on line 5

 

خطأ مطبعي  :)

الآن جربي البرنامج الصغير التالي الذي يقوم بتحديد القيمة الإفتراضية للمتغير langid بالقيمة 1 ويسمح بإسناد إحدى القيمتين 1 أو 2 فقط له

 

<?php
$langid = 1;
isset($_GET['langid']) === true AND in_array($_GET['langid'], array(1, 2)) === true ? $langid = $_GET['langid'] : $langid = 1;
echo $langid
?>

فائدة بسيطة : لاحظي عدم وجود الفاصلة المنقوطة في آخر سطر :)

تم تعديل هذه المشاركة بواسطة Abd Allatif في 31 مايو 2013 في 18:37

#5

لم يعمل الكود بعد التعديل وهوا بالشكل التالى

 

 

 

 

<?
$langid = 1;
isset($_GET['langid']) === true AND in_array($_GET['langid'], array(1, 2)) === true ? $langid = $_GET['langid'] : $langid = 1;

        $selectlang="select * from lang where lang_id='".intval($_REQUEST[langid])."'";
		$Resultlang=mysql_query($selectlang);
		while($Rowlang=mysql_fetch_array($Resultlang))
		{
		extract($Rowlang);
?>

 

 

 

ولكن قمت بتعديله وبل العمل بالشكل التالى

 

 

<?
$langid = 3;
isset($_GET['langid']) === true AND in_array($_GET['langid'], array(1, 2)) === true ? $langid = $_GET['langid'] : $langid = 3;

        $selectlang="select * from lang where lang_id='$langid'";
		$Resultlang=mysql_query($selectlang);
		while($Rowlang=mysql_fetch_array($Resultlang))
		{
		extract($Rowlang);
?>

 

الفرق هنا

 

lang_id='".intval($_REQUEST[langid])."'

تم تغيرة الي

lang_id='$langid'";

تم تعديل هذه المشاركة بواسطة fatmaali في 31 مايو 2013 في 19:18

#6
اقتباس

وايضا لنفرض انى عندي اكثر من لغه والغات تنضاف تلقائى من القاعدة ومش شرط اضع اللغه رقم 1 ممكن احط الغه رقم 10 فالكود اجبرني عى عدم وضع شيئ غير يا 1 يا 2 فقط

فقط أزيلي الشرط التالي :

 

 

AND in_array($_GET['langid'], array(1, 2))

 

 

 

 

اقتباس

ملحوظة قمت بدمج الكود بالشكل التالى وايضا لم يعمل

لن يعمل لأنك لم تستخدمي المتغير langid في السطر التالي 

$selectlang="select * from lang where lang_id='".intval($_REQUEST[langid])."'";

إذا لم تُحل مشكلتك فهل يمكنك وضع الرابط الذي تطلبين الصفحة عبره ؟

#7

قمت بتعديلة بالشكل التالي واصبح يعمل اخي الفاضل

 

 

<?
$langid = 3;
isset($_GET['langid']) === true AND in_array($_GET['langid'], array(1, 2)) === true ? $langid = $_GET['langid'] : $langid = 3;

        $selectlang="select * from lang where lang_id='$langid'";
		$Resultlang=mysql_query($selectlang);
		while($Rowlang=mysql_fetch_array($Resultlang))
		{
		extract($Rowlang);
?>

شكراً لك وجعله الله في ميزان حسناتك باذن الله

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…