تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#1 (permalink)  
يرجا المساعدة في حل هذه المشكلة في الكود


السلام عليكم
اخواني المشكلة كالتالي

لدي قائمة عناوين اخبار ولك خبر بجانبه checkbox وفي قاعدة البيانات لكل خبر له رقم id و عنوان subject وايضا حقل اسمه main_value الان التغير سوف يكون على حقل ال main_value هذا الحقل سوف يكون فيه الرقم 1 اذا ال checkbox معلم (عليه اشارة الصح) و الحقل main_value يحصل على الرقم 0 اذا ال checkbox لا يوجد عليه اشارة صح

انا عملت كود ولاكن مشكلة الكود انه بعد بعض وضع اشارة الصح على المربعات المختارة وبعدها رغبت في حذف اشارة الصح لا استطيع !!!!! واذا لم اضع اي اشارة صح ولا في مربع يحدث خلل !!!!!


الكود مرفق يرجا المساعدة

ملاحظة اعتقد ان الخلل في هذا السطر
$list_sub1=mysql_query("UPDATE MainNews SET main_value='0' WHERE id !='$val' ");




كود PHP:



<?php


//set the main subject
if($select == "subject"){

        
// اعتقد هنا الخلل
        
foreach($_POST['sub_id'] AS $val){
        
$list_sub=mysql_query("UPDATE  MainNews SET main_value='1' WHERE id='$val' ");
        
$list_sub1=mysql_query("UPDATE  MainNews SET main_value='0' WHERE id !='$val' ");
                    }


        if(
$list_sub && $list_sub1)
        {
        echo 
"<center><b>تم تعين الخبر الرئيسي</b></center><br><br>";
        
//echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=list_news.php?cat=$cat0\">";
        
} else { 
        echo 
"<center><b>حدث خلل</b></center><br><br>";
        
//echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2;URL=list_news.php?cat=$cat0\">"; 
        
}


}







$list_news=mysql_query("SELECT * FROM MainNews  WHERE cat='$cat' ORDER BY id DESC ");
$count_news=mysql_num_rows($list_news);

if(
$count_news 0){

echo 
"<form method=\"post\" action=\"list_news.php?select=subject&cat=$cat\">";
echo 
'<table style="width: 100%; text-align: left;" border="1" cellpadding="0" bordercolor="#cccccc" cellspacing="0">
<tbody>
<tr>
<td style="text-align: center; vertical-align: center;"><font color=red><b>عنوان الخبر</b></font>
</td>
<td style="width: 100px; text-align: center; vertical-align: center;"><font color=red><b>خبر رئيسي</b></font>
</td>
<td style="width: 100px; text-align: center; vertical-align: center;"><font color=red><b>تعديل</b></font>
</td>
<td style="width: 100px; text-align: center; vertical-align: center;"><font color=red><b>حذف</b></font>
</td>

</tr> '
;

    
    while(
$row=mysql_fetch_array($list_news)) {
    
    
$id $hi_id $row['id'];
    
$hi_cat=$row['cat'];
    
    
$main_value=$row['main_value'];
    

        if(
$main_value == "1"){
        
$main_check "checked";
        } else {
        
$main_check "";
        }



    

    echo 
"<tr>

    <td style=\"text-align: right; vertical-align: center;\">$row[subject]</td>
    <td style=\"width: 100px; text-align: center; vertical-align: center;\">

    <input  type=\"checkbox\" name=\"sub_id[]\" value=\"$hi_id\" $main_check>

    
    <input type=\"hidden\" name=\"cat_id[]\" value=\"$hi_cat\">

    </td>
    <td style=\"width: 100px; text-align: center; vertical-align: center;\"><a href=\"edit_news.php?cat=$cat&id=$id\">تعديل الخبر</a></td>

    <td style=\"width: 100px; text-align: center; vertical-align: center;\"><a href=\"remove_news.php?cat=$cat&id=$id\">حذف الخبر</a>
    </td>
    </tr>"
;


    }

echo 
"</tbody>
</table><br><br>

<center><input type=\"submit\" value=\"اعد تعين الخبر الرئيسي\"></center>

</form>"
;


} else {

echo 
'<big><Big><center><font  color=red>قاعدة البيانات فارغة</font></center></big></big><br>';

}

?>

وشكرا






الملفات المرفقة
نوع الملف: txt example.txt‏ (2.6 كيلوبايت, المشاهدات 34)
__________________


عاشت فلسطين وعاشت المقاومة
http://www.palintefada.com/arabic
http://www.palissue.com/arabic
موقع انتفاضة فلسطين - موقع القضية الفلسطينية
الكاسر

elkaser غير متواجد حالياً   قديم 22-02-2006, 06:03 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#2 (permalink)  

استخدم المصفوفات اخوي .






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 22-02-2006, 09:43 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#3 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة jadweb.com
استخدم المصفوفات اخوي .
السلام عليكم لو لاحظت الكود انا مستخدم المصفوفات ولاكن يبدو بالشكل الغير سليم

يرجا مراجعة الكود وتصحيحه اذا لم يكن لديكم مانع

وشكرا جزيلا






__________________


عاشت فلسطين وعاشت المقاومة
http://www.palintefada.com/arabic
http://www.palissue.com/arabic
موقع انتفاضة فلسطين - موقع القضية الفلسطينية
الكاسر

elkaser غير متواجد حالياً   قديم 22-02-2006, 04:26 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#4 (permalink)  

اسف اخوي لم انتبة والله من البحث عن المشاركات الجديدة في القسم ومحاولة الرد ...



اخوي اعمل صفحة news.php

في الاعلى

ضع


كود PHP:
<SCRIPT LANGUAGE="JavaScript">
<!-- 
Begin
function checkAll(field)
{
 var 
drearray affect.elements;
for (
0drearray.lengthi++)
    
drearray[i].checked true ;
}

function 
uncheckAll(field)
{
 var 
drearray affect.elements;
for (
0drearray.lengthi++)
    
drearray[i].checked false ;
}
//  End -->

</script> 

الاستعلام

كود PHP:
<? 

//اتصال بالقاعدة هنا 
$total mysql_query("SELECT * FROM MainNews ORDER BY id DESC"); 
$total_num mysql_num_rows($total); 

?> 

<form action="ok.php" method="post" name=affect> 
<? 
while($row mysql_fetch_array($total){ 

?> 
<table border="1" width="100%" id="table1" style="font-family:tahoma;font-size:11px" bgcolor=c1c1c1> 
    <tr> 
        <td><input type="checkbox" name=check[] value="<? echo $row[id]; ?>" > </ttd> 
        <td><? 
echo $row[name];
 
?></td> 
    </tr> 
     
</table> 
<? 

?> 
<table border="1" width="100%" id="table1"> 
<tr><td><input type="button" name="CheckAll" value="Check All" 
onClick="checkAll(affect)"> 
</td><td><input type="button" name="UnCheckAll" value="Uncheck All" 
onClick="uncheckAll(affect)"></td></tr> 
</table> 
<input type=submit value=go> 
</form>


صفحة اخرى

ok.php
كود PHP:

//اتصال بالقاعدة هنا 


foreach($_POST[check] as $val){ 
$upd mysql_query("UPDATE MainNews SET main_value='$ss' WHERE id='$val' "); 
echo 
"<font face=tahoma size=1>$val تم تعين الخبر الرئيسي  <br>"



انشاء الله يعمل معك






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 22-02-2006, 08:31 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#5 (permalink)  

لم اجرب الكود لاني في العمل الان ولاكن هذا نفس الكود الي كتبته انا ولاكنك ضفت check all

المشكلة هي عند وضع اشارة صح على
المربع يغبر لرقم الى 1 والشكلةانه اذا حذفت الصح عن مربع كانت قيمته 1 لن تتغير الى 0






__________________


عاشت فلسطين وعاشت المقاومة
http://www.palintefada.com/arabic
http://www.palissue.com/arabic
موقع انتفاضة فلسطين - موقع القضية الفلسطينية
الكاسر

elkaser غير متواجد حالياً   قديم 22-02-2006, 09:59 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#6 (permalink)  

كود PHP:
$co "update MainNews set main_value=main_value+1 WHERE id='$val' ";
$result_vis1 mysql_query ($co) or die ("Query failed"); 

الامر سهل اخوي غير الاستعلام الى ما ترغب به






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 23-02-2006, 09:29 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#7 (permalink)  

السلام عليكم
اخي اعتقد ان الامر اصعب قليلا من ما تتصور

لانو الكود الي تفضلت وكتبته مشكورا يقوم بزيادة 1 لقيمة main_value انا ارغب من خلال checkbox تحديد من سوف يكون له رقم 1 ومن له رقم 0

رقم 1 عنما اضع اشارة الصح عليه ورقم 0 عنما لا يكون الصح موجود

وشكرا






__________________


عاشت فلسطين وعاشت المقاومة
http://www.palintefada.com/arabic
http://www.palissue.com/arabic
موقع انتفاضة فلسطين - موقع القضية الفلسطينية
الكاسر

elkaser غير متواجد حالياً   قديم 23-02-2006, 04:44 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Oct 2003-
#8 (permalink)  

و عليكم السلام ورحمة الله و بركاته ..

كود PHP:
$list_sub=mysql_query("UPDATE  MainNews SET main_value='1' WHERE id='$val' ");
$list_sub1=mysql_query("UPDATE  MainNews SET main_value='0' WHERE id !='$val' "); 
ما عمل هذين الإستعلامين؟

الأول يقوم بوضع القيمة "1" في حقل main_value في الحقل صاحب الـid رقم $val
و الثاني يقوم بوضع القيمة "0" في باقي الحقول و هذا من الشرط WHERE id!=$val

و بم أنك وضعت هذان الإستعلامان في حلقة غير مشروطة فإنه في كل مرة يتم فيها استخدام الفورم ستكون النتيجة بعد إنتهاء آخر دورة وضع رقم "1" في آخر بيان لك في الجدول .

أنت لم تستفد أبداً من الـ checkbox ..


أحد الحلول الممكنة:

1. أن تقوم أولا بوضع القيم "0" في الحقل main_value لكل الأخبار, و يكون هذا خارج الحلقة لكي يتم تنفيذه مرة واحدة.
كود PHP:
$list_sub=mysql_query("UPDATE  MainNews SET main_value='0'"); 
2. أن أن تضع استعلام واحد مشروط داخل الحلقة تختبر فيه قيمة sub_id, بحيث إذا كانت قيمته لا تساوي NULL قم بوضع القيمة "1" في الحقل main_value للبيان صاحب الـid رقم sub_id
كود PHP:
if($val! = Null)
$list_sub1=mysql_query("UPDATE  MainNews SET main_value='1' WHERE id ='$val' "); 
أي قم بتغيير هذا اكود

كود PHP:
        // اعتقد هنا الخلل
        
foreach($_POST['sub_id'] AS $val){
        
$list_sub=mysql_query("UPDATE  MainNews SET main_value='1' WHERE id='$val' ");
        
$list_sub1=mysql_query("UPDATE  MainNews SET main_value='0' WHERE id !='$val' ");
                    } 
بهذا:

كود PHP:
        // اعتقد هنا الخلل
$list_sub=mysql_query("UPDATE  MainNews SET main_value='0'");
        foreach(
$_POST['sub_id'] AS $val){
if(
$val! = Null)
$list_sub1=mysql_query("UPDATE  MainNews SET main_value='1' WHERE id ='$val' ");
                    } 

هذا كله في حالة أنك تريد وضع القيمة "1" لأكثر من خبر, أما إذا كنت تريد تعيين خبر واحد فقط, قم باستبدال الـcheckbox inputs بالــradio inputs

أرجو أن أكون قد أفدت .. وفقك الله أخي .






Seanshi غير متواجد حالياً   قديم 24-02-2006, 12:26 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#9 (permalink)  

الله يخليك يا غالي يا Seanshi

بارك الله فيك

الحمد لله مشي الحال






__________________


عاشت فلسطين وعاشت المقاومة
http://www.palintefada.com/arabic
http://www.palissue.com/arabic
موقع انتفاضة فلسطين - موقع القضية الفلسطينية
الكاسر

elkaser غير متواجد حالياً   قديم 25-02-2006, 06:05 AM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:30 AM بتوقيت المملكة العربية السعودية