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

طريقة شطب المدخلات المشابهة فى القاعدة

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

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

 

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

 

etXhR.jpg

 

الشرح

 

لدي استعلام يستخرج نتائج مزاد من قاعدة البيانات

 

بالشكل التالى الاسم العنوان الرقم المدخل

 

حاليا يخرجه بشكل سليم

 

لكن انا عاوزة الارقام المشابه فقط يطلع عليها خط احمر يعني يتم شطبها

 

اما الغير متشابهة تظهر بدون شطب مثل رقم 2

 

فكيف تكون الطريقة ؟

 

وهذا هوا الاستعلام الذي قمت بعمله

<?
if (!$count3rod) { $count3rod=0;} 
$fatma= (int) $_GET['pp']; 
$TotalRecords = mysql_query("SELECT * FROM arc  where prod_id='$fatma'  ORDER BY id_arc desc"); 
$check_end=mysql_num_rows($TotalRecords);
$pages1=15;
$check_end = ceil($check_end/$pages1);
$limit = ($count3rod > 1)? ($count3rod-1) * $pages1 : 0;
$fatma= (int) $_GET['pp']; 
$selectt = "SELECT * FROM arc  where prod_id='$fatma'  ORDER BY id_arc desc LIMIT $limit,$pages1 ";
$Result=mysql_query($selectt);
$account3rod=mysql_num_rows($Result);
{
?>


<?		
$sd = 0; 
while($Roow=mysql_fetch_assoc($Result)){
$sd++; 
extract($Roow);
?>




<?=$name;?> / <?=$city;?> / <?=$madena;?> / <?=$nampar;?>



<?		

$rod++;

if($rod==1)

{

?>
<?
$rod=0;
}		
}
}
?>
<?
$i=1;
$next= ($count3rod >  5)? $count3rod - 5 : 1;
while($next<=($count3rod+5) && $next <= $check_end)
{
	if ($count3rod==$next)
	{
		echo"
		<div class='navc' align='center' dir='rtl'  >
		$next</div>";
	}
	else
	{
		echo"<div class='nav2' align='center' dir='rtl'  ><a href='index.php?count3rod=$next' >$next</a></div>";
	}
	$next++;
	$i++;
}
?>
#2

السلام عليكم, أختى العزيزة

 

طبعا أنا هكتب لك الحل بشكل غير مباشر وذلك بإعطائك مثال على ما تطلبية بالظبط, وأنت عليك أن تأخذى فكرة المثال ثم تطبقية على الكود الخاص بكى .

 

فكرة المثال هى عبارة عن مصفوفة بها مجموعة من القيم, بعض القيم مكررة والبعض لا.

ما قمت بعملة هو  (إضافة خط + تلوينها باللون الاحمر) على القيم المكررة أكثر من مرة, أما القيم التى الغير مكررة فستظهر عادى .

$arr = array("ahmed", "nader", "hassan", "said", "hassan", "khaled", "nader", "nor", "ahmed", "said", "camel");
$filteredValues = array();
foreach($arr as $key = > $value) {
    if (in_array($value, $filteredValues)) {
        $filteredValues[] = $value;
        echo "<div style='text-decoration:line-through; color:red'> $filteredValues[$key] </div>";
    } else {
        $filteredValues[] = $value;
        echo "<div> $filteredValues[$key] </div>";
    }
}

النتيجة هتكون بهذا الشكل:

h6jqihgx.jpg

تم تعديل هذه المشاركة بواسطة مستر برمجة في 2 فبراير 2014 في 04:52

1

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#3

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

 

يعني مثلا

 

$nampar

 

هذه القيمه فقط اريد ان تشابهت مع احد القيم الاخرى

 

 

$nampar

 

تطلع بالشطب على باقى القيم مثل

 

 

<?=$name;?> / <?=$city;?> / <?=$madena;?> /

 

 

ايضا قمت بتجربة الكود ولكن لم يعمل يطلع الناتج كما هو بدون شطب

<?
if (!$count3rod) { $count3rod=0;} 
$fatma= (int) $_GET['pp']; 
$TotalRecords = mysql_query("SELECT * FROM arc  where prod_id='$fatma'  ORDER BY id_arc desc"); 
$check_end=mysql_num_rows($TotalRecords);
$pages1=15;
$check_end = ceil($check_end/$pages1);
$limit = ($count3rod > 1)? ($count3rod-1) * $pages1 : 0;
$fatma= (int) $_GET['pp']; 
$selectt = "SELECT * FROM arc  where prod_id='$fatma'  ORDER BY id_arc desc LIMIT $limit,$pages1 ";
$Result=mysql_query($selectt);
$account3rod=mysql_num_rows($Result);
{
?>


<?		
$sd = 0; 
while($Roow=mysql_fetch_assoc($Result)){
$sd++; 
extract($Roow);
?>




<?=$name;?> / <?=$city;?> / <?=$madena;?> / 

<?
$arr = array("$nampar");
$filteredValues = array();
foreach($arr as $key => $nampar){
    if (in_array($mzayda, $filteredValues)) {
        $filteredValues[] = $nampar;
        echo "<div style='text-decoration:line-through; color:red'> $filteredValues[$key] </div>";
    } else {
        $filteredValues[] = $nampar;
        echo "<div> $filteredValues[$key] </div>";
    }
        }
?> 



<?		

$rod++;

if($rod==1)

{

?>
<?
$rod=0;
}		
}
}
?>
<?
$i=1;
$next= ($count3rod >  5)? $count3rod - 5 : 1;
while($next<=($count3rod+5) && $next <= $check_end)
{
	if ($count3rod==$next)
	{
		echo"
		<div class='navc' align='center' dir='rtl'  >
		$next</div>";
	}
	else
	{
		echo"<div class='nav2' align='center' dir='rtl'  ><a href='index.php?count3rod=$next' >$next</a></div>";
	}
	$next++;
	$i++;
}
?>

اريد فقط طريقة ان كان الرقم نفسه مكرر والحقل الخاص nampar

 

ان تساوى مع مدخل اخر يشطب عليه وعلى باقى الحقول يعني

 

 

<?=$name;?> / <?=$city;?> / <?=$madena;?>

 

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

 

مع المدخلات الاخرى غير كذا لا يتم شطبة

تم تعديل هذه المشاركة بواسطة fatmaali في 2 فبراير 2014 في 11:34

#4

السلام عليكم

 

اقتباس

 

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

 

هذة المصفوفة التى تخزن القيم هى كمثال فقط, لكن الكود يعمل على أى قيم سواء رقمية, نصية, متغيرة وثابتة .

فمثلا قومى بتغيير قيم المصفوفة التى بها القيم بقيم رقمية مثلا (1,5,2,1,3,3,5) ستجدى أنة قام بعمل نفس النتيجة كما هى فى القيم النصية .

 

أيضا أختى العزيزة, أنتى كاتبة الكود مش مظبوط

  •  المتغير $nampar هل هو مصفوفة أى يحتوى على عدة قيم أم قيمة واحدة؟ لابد أن تكون مصفوفة.
  • هذة الجملة خطأ
$arr = array("$nampar");

// الصح هو إذا كان مصفوفة
$arr = array($nampar);
  • أيضا هنا فية شئ خطأ مكتوب
foreach($arr as $key => $nampar){
    if (in_array($mzayda, $filteredValues)) {

الان نحن قمنا بعمل تكرار, وأصبح $nampar يمثل القيم الموجودة فى المصفوفة, فالمفروض يتم مقارنتة بالـ $filteredValues, لكن أنتى أضفتى شئ أخر $mzayda , وهو فى هذا التكرار لا يعلم ما هذا المتغير, لذلك لن يأتى بنتيجة صحيحة.

 

أيضا أنتى تستخدمى المتغير $nampar مرتين

// مرة هنا
$arr = array("$nampar");


// ومرة أخرى تستخدمى نفس الاسم
foreach($arr as $key => $nampar){

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

 

 

ثانيا: سوف أوضح لكى الكود اللى كتبتة لك

// هذة هى المصفوفة التى بداخلها النتائج المكررة والغير مكررة
$arr = array("ahmed", "nader", "hassan", "said", "hassan", "khaled", "nader", "nor", "ahmed", "said", "camel");

// هذة عبارة عن مصفوفة مؤقتة يتم إضافة العناصر المكررة أكثر من مرة
$filteredValues = array();

// عمل تكرار لتحديد عناصر المصفوفة المكررة
// $key = رقم الاندكس الخاص بالعنصر
// $value = قيمة العنصر
// Example: Key = 1, value = nader;
foreach($arr as $key = > $value) {
    // شرط يقوم بمعرفة إذا كان العنصر اللى علية الدور مكرر أم لا
    if (in_array($value, $filteredValues)) {
        // وإذا كان مكرر يضاف هذا العنصر فى المصفوفة المؤقتة
        $filteredValues[] = $value;
        // يتم عرض العنصر المكرر من داخل المصفوفة المؤقتة مع إضافة ستايل خاص بة
        echo "<div style='text-decoration:line-through; color:red'> $filteredValues[$key] </div>";
    } else {
        // وإذا لم يكن مكرر تعرضة بدون ستايل
        $filteredValues[] = $value;
        echo "<div> $filteredValues[$key] </div>";
    }
}

تم تعديل هذه المشاركة بواسطة مستر برمجة في 2 فبراير 2014 في 14:40

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#5

طيب انا الان اخي الفاضل عدلت كل شيئ واليى الان يظهر المتغير بدون شطب

 

 

تفضل الكود

<?
$arr = array($nampar);
$filteredValues = array();
foreach($arr as $key => $value){
    if (in_array($value, $filteredValues)) {
        $filteredValues[] = $value;
        echo "as<div style='text-decoration:line-through; color:red'> $filteredValues[$key] </div>";
    } else {
        $filteredValues[] = $value;
        echo "<div> $filteredValues[$key] </div>";
    }
        }
?>

تم تعديل هذه المشاركة بواسطة fatmaali في 2 فبراير 2014 في 17:41

#6

أختى ما شكل هذة المصفوفة $nampar ؟ هل هى إحادية البعد ( مثلا:

$arr = array("a", "d", "c", "d", "b", "a");

أم متعددة الابعاد ( مثلا:

$arr = array(0 => array("a", "d", "c", "d", "b", "a"),1 => array(1, 5, 8, 9, 5, 5, 9, 1));

تم تعديل هذه المشاركة بواسطة مستر برمجة في 2 فبراير 2014 في 19:07

1

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#7

النوع بالقاعدة

 

varchar(255)

 

 

هيا عبارة عن حقل يتم ادخال به اسعار يا ما بهذا الشكل

 

30

 

35

 

34

 

او

 

30.55

 

30.00

 

99.99

 

 

وبالتالى اذا تكرر الرقم مرتين او السعر مرتين من شخصين مختلفين يقوم بشطبه تلقائى

 

 

يعني مثلا محمد ادخل

 

99.58

 

وحسام ادخل

 

33.50

 

 

وعادل ادخل

 

33.50

 

 

يشطب عادل وحسام

 

ويبقى محمد

تم تعديل هذه المشاركة بواسطة fatmaali في 2 فبراير 2014 في 19:25

#8

أخى العزيزة

 

أنا عاوز أعرف ناتج الاستعلام اللى هو المفروض مخزن فى المصفوفة $nampar, هل هى إحادية أم متعددة.

لان لو كانت متعددة الابعاد لابد من تحديد العمود, كمثال

$nampar['columnName']

أكتبى هذا الامر عندك فى الصفحة, وشوفى شكل الناتج هيكون مصفوفة احادية أم متعددة .

print_r($nampar);

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#9

اتفضل اخي هذا هوا الناتج

 

 متعددة الابعاد

 

bHlyu.jpg

تم تعديل هذه المشاركة بواسطة fatmaali في 2 فبراير 2014 في 20:12

#10

قمت بتحديدها ايضا نفس الناتج

$nampar=$Roow[nampar];
$arr = array($nampar);
$filteredValues = array();
foreach($arr as $key => $value) {
#11

وطريقة الادخال الخاصة بهذا الحقل بالشكل التالي

 

 

SN6dM.jpg

 

او

 

0TDXN.jpg

 

او

 

FZhXd.jpg

#12

لقد قمت بإنشاء مثال حى بسيط لكى أتأكد, وقمت بإنشاء قاعدة بيانات ثم جدول بأسم information يتكون من (name, address, number), والكود اللى أستخدمتة كالاتى:

$query = mysql_query("SELECT * FROM information");
while ($row = mysql_fetch_assoc($query)) {
    $result[] = $row['number'];
}

$filteredValues = array();
foreach($result as $key = > $value) {
    if (in_array($value, $filteredValues)) {
        $filteredValues[] = $value;
        echo "<div style='text-decoration:line-through; color:red'> $filteredValues[$key] </div>";
    } else {
        $filteredValues[] = $value;
        echo "<div> $filteredValues[$key] </div>";
    }
}

والنتيجة كانت بهذا الشكل:

 

oj59qxy4.jpg

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#13

بس في عند حضرتك امر غريب بردو انو رقم 300 معلم على واحد والاخر لا

 

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

 

 

يعني ال 157 المفروض كلهم يتشطبو

 

وال 300 نفس الكلام

 

 

 

قمت بالتجربة طلعلى النتائج بهذا الشكل مكررة فى الحقل الواحد

 

يعني معناه بيطبع كل الحقول مكررة وغير متناسبة

 

BCOMv.jpg

 

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

 

الثاني ناتجين

 

الثالثه ثلاثه نتائج

 

الرابع 4 نتائج

 

الخامس 5 نتائج معناه في شيئ غير سليم

 

الجدول الان بعد التعديل اصبح بهذا الشكل

<?
$arr[] = $Roow['namper'];
$filteredValues = array();
foreach($arr as $key => $value) {
    if (in_array($value, $filteredValues)) {
        $filteredValues[] = $value;
                echo "<div style='text-decoration:line-through; color:red'> $filteredValues[$key] </div>";
    } else {
        $filteredValues[]=$value;
        echo "<div>$filteredValues[$key]</div>";
    }
}      
?>

تم تعديل هذه المشاركة بواسطة fatmaali في 2 فبراير 2014 في 23:36

#14
اقتباس

بس في عند حضرتك امر غريب بردو انو رقم 300 معلم على واحد والاخر لا

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

يعني ال 157 المفروض كلهم يتشطبو

وال 300 نفس الكلام

 

أختى العزيزة أنا ما فهمتة من كلامك من بداية الموضوع أن يضاف خط على العناصر المكررة الاكثر من مرة, بمعنى أنها تترك عنصر واحد وبقية العناصر المكررة تضيف عليها خط, هذا ما فهمتة والكود اللى كتبتة كان على هذا الاساس, أى أنة لا يوجد خطأ فى الكود ولا شئ, لان أنا عامل الكود على كدة أصلا .

 

 

 

اقتباس

قمت بالتجربة طلعلى النتائج بهذا الشكل مكررة فى الحقل الواحد

يعني معناه بيطبع كل الحقول مكررة وغير متناسبة

 

هذة المشكلة أختى سببها أنك لم تضبطى فكرة الكود اللى أعطيتهولك على الكود الخاص بك.

أنا هنا فقط أعطيكى الفكرة التى تحل مشكلتك, لكن أنتى عليكى تطبيق الفكرة على الكود الخاص بك.

 

 

هذا الكود الجديد بعد تعديل الفكرة:

// هنا قمنا بعمل أستعلام لجلب النتائج من قاعدة البيانات
$query = mysql_query("SELECT * FROM information");
while ($row = mysql_fetch_assoc($query)) {
    // هنا قمنا فقط بتخزين قيم العمود المسئول عن المبالغ فى مصفوفة
    $result[] = $row['number'];
}

// هنا قمنا بعمل مقارنة ليتم جلب العناصر المكررة وتخزينها فى مصفوفة
$arr_duplicates = array_diff_assoc($result, array_unique($result));
foreach($result as $value) {
    if (in_array($value, $arr_duplicates)) {
        echo "<div style='text-decoration:line-through; color:red'> $value </div>";
    } else {
        echo "<div> $value </div>";
    }
}

الناتج بهذا الشكل:

 

uby4ntzt.jpg

 

 

الان ما يتبقى هو أنك تطبقية بما يناسب الكود الخاص بكى.

تم تعديل هذه المشاركة بواسطة مستر برمجة في 3 فبراير 2014 في 01:16

1

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#15

شكرا لك اخي على سعه صدرك لحل المشكلة لكن ما زالت المشكلة قائمة عندي وهيا التكرار مرفق لك صورة للتوضيح مع انى قمت بتطبيع الكود على حسب الكود الخاص بي لكن ايضا نفس المشكلة

 

hmXk4.jpg

 

لاحظ تكرار الرقم على حسب المصفوفة يعني رقم 1 يطبع رقم لكن لا يشطبة 2 يطبع رقمين يشطبهم 3 وهكذا كل مرة يزيد

 

 

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

 

الكود مرفق لك

<?
if (!$count3rod) { $count3rod=0;} 
$TotalRecords = mysql_query("SELECT * FROM arc  where prod_id=1  ORDER BY id_arc desc"); 
$check_end=mysql_num_rows($TotalRecords);
$pages1=50;
$check_end = ceil($check_end/$pages1);
$limit = ($count3rod > 1)? ($count3rod-1) * $pages1 : 0;
$selectt = "SELECT * FROM arc  where prod_id=1  ORDER BY id_arc desc LIMIT $limit,$pages1 ";
$Result=mysql_query($selectt);
$account3rod=mysql_num_rows($Result);

{
?>


<?		
$sd = 0; 
while($Roow=mysql_fetch_assoc($Result)){
$sd++; 
extract($Roow);
?>


<table border="1" width="100%">
	<tr>
		<td><?
$result2[] = $Roow['mzayda'];
$arr_duplicates = array_diff_assoc($result2, array_unique($result2));
foreach($result2 as $value) {
    if (in_array($value, $arr_duplicates)) {
        echo "<div style='text-decoration:line-through; color:red'> $value </div>";
    } else {
        echo "<div> $value </div>";
    }
}
?></td>
		<td><?=$prodname;?></td>
		<td><?=$country_id;?></td>
		<td><?=$name;?></td>
		<td><?=$city_id;?></td>
	</tr>
</table>

<?		

$rod++;

if($rod==1)

{

?>
<?
$rod=0;
}		
}
}
?>
<?
echo"</p>";
echo"<div class='nav2' align='center' dir='rtl'  ><b><a href='index.php?count3rod=1'>الاولى</a></div>";
$i=1;
$next= ($count3rod >  5)? $count3rod - 5 : 1;
while($next<=($count3rod+5) && $next <= $check_end)
{
	if ($count3rod==$next)
	{
		echo"
		<div class='navc' align='center' dir='rtl'  >
		$next</div>";
	}
	else
	{
		echo"<div class='nav2' align='center' dir='rtl'  ><a href='index.php?count3rod=$next' >$next</a></div>";
	}
	$next++;
	$i++;
}
echo"<div class='nav2' align='center' dir='rtl'  ><a href='index.php?count3rod=$check_end'>الاخيرة</a></div>";

?>

الجدول الخاص بالقاعدة

CREATE TABLE `arc` (
  `id_arc` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `prod_id` int(11) NOT NULL,
  `prodname` varchar(255) NOT NULL,
  `mzayda` varchar(255) NOT NULL,
  `country_id` int(11) NOT NULL,
  `city_id` int(11) NOT NULL,
  PRIMARY KEY  (`id_arc`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1256 AUTO_INCREMENT=261 ;

-- 
-- إرجاع أو إستيراد بيانات الجدول `arc`
-- 

INSERT INTO `arc` VALUES (1, 'محمد', 1, 'بسم الله', '150.00', 1, 1);
INSERT INTO `arc` VALUES (2, 'حسين', 1, 'الحمد لله', '130.00', 1, 1);
INSERT INTO `arc` VALUES (3, 'عادل', 1, 'شسيشي', '150.00', 1, 1);
INSERT INTO `arc` VALUES (4, 'qwewqewqe', 1, 'qweqwe', '120.00', 1, 1);
#16

جربى كدة يا أختى, الكود يعمل معى الان , لعل يكون شغال معاكى كوايس .

<?php
$query = mysql_query("SELECT id_arc FROM arc INNER JOIN( SELECT mzayda FROM arc GROUP BY mzayda HAVING COUNT(mzayda) > 1) temp ON arc.mzayda = temp.mzayda");
        while ($row = mysql_fetch_assoc($query)) {
            $res[] = $row;
        }
        $repeated = array();
        foreach ($res as $value) {
            foreach ($value as $value2) {
                $repeated[] = $value2;
            }
        }

        if (!$count3rod) {
            $count3rod = 0;
        }
        $TotalRecords = mysql_query("SELECT * FROM arc  where prod_id=1 ORDER BY id_arc desc");
        $check_end = mysql_num_rows($TotalRecords);
        $pages1 = 50;
        $check_end = ceil($check_end / $pages1);
        $limit = ($count3rod > 1) ? ($count3rod - 1) * $pages1 : 0;
        $selectt = "SELECT * FROM arc  where prod_id=1  ORDER BY id_arc desc LIMIT $limit,$pages1 ";
        $Result = mysql_query($selectt);
        $account3rod = mysql_num_rows($Result);
        $sd = 0;
        while ($Roow = mysql_fetch_assoc($Result)) {
            $sd++;
            extract($Roow);
            ?>


            <table border="1" width="100%">
                <tr>
                    <td>
                        <?php
                        if (in_array($Roow['id_arc'], $repeated)) {
                            echo "<div style='text-decoration:line-through; color:red'> $Roow[mzayda] </div>";
                        } else {
                            echo "<div> $Roow[mzayda] </div>";
                        }
                        ?>
                    </td>
                    <td><?php echo $prodname; ?></td>
                    <td><?php echo $country_id; ?></td>
                    <td><?php echo $name; ?></td>
                    <td><?php echo $city_id; ?></td>
                </tr>
            </table>

    <?php
    $rod++;

    if ($rod == 1) {
        ?>
                <?php
                $rod = 0;
            }
        }
        ?>
        <?php
        echo"</p>";
        echo"<div class='nav2' align='center' dir='rtl'  ><b><a href='index.php?count3rod=1'>الاولى</a></div>";
        $i = 1;
        $next = ($count3rod > 5) ? $count3rod - 5 : 1;
        while ($next <= ($count3rod + 5) && $next <= $check_end) {
            if ($count3rod == $next) {
                echo"
        <div class='navc' align='center' dir='rtl'  >
        $next</div>";
            } else {
                echo"<div class='nav2' align='center' dir='rtl'  ><a href='index.php?count3rod=$next' >$next</a></div>";
            }
            $next++;
            $i++;
        }
        echo"<div class='nav2' align='center' dir='rtl'  ><a href='index.php?count3rod=$check_end'>الاخيرة</a></div>";
        ?>

تم تعديل هذه المشاركة بواسطة مستر برمجة في 3 فبراير 2014 في 07:00

1

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#17

لم يعمل الكود اخي الفاضل

 

صورة للتوضيح

 

NCx03.jpg

تم تعديل هذه المشاركة بواسطة fatmaali في 3 فبراير 2014 في 17:37

#18

قمت بالتعديل على الكود اخي واشتغل معي الخطاء كان هنا

 

$res[] = $row;

 

و

 

foreach ($res2 as $value) {

 

الكود بعد التصحيح لكي يستفاد منه الجميع وايضا لكي ترى ما هو صحيح او هناك لمسه لك على الكود

<?php
include("inc/config.php");
$query2 = mysql_query("SELECT id_arc FROM arc INNER JOIN( SELECT mzayda FROM arc GROUP BY mzayda HAVING COUNT(mzayda) > 1) temp ON arc.mzayda=temp.mzayda");
        while ($row = mysql_fetch_assoc($query2)) {
            $res2[] = $row;
        }
        $repeated = array();
        foreach ($res2 as $value) {
            foreach ($value as $value2) {
                $repeated[] = $value2;
            }
        }

        if (!$count3rod) {
            $count3rod = 0;
        }
        $TotalRecords = mysql_query("SELECT * FROM arc  where prod_id=6 ORDER BY id_arc desc");
        $check_end = mysql_num_rows($TotalRecords);
        $pages1 = 50;
        $check_end = ceil($check_end / $pages1);
        $limit = ($count3rod > 1) ? ($count3rod - 1) * $pages1 : 0;
        $selectt = "SELECT * FROM arc  where prod_id=6  ORDER BY id_arc desc LIMIT $limit,$pages1 ";
        $Result = mysql_query($selectt);
        $account3rod = mysql_num_rows($Result);
        $sd = 0;
        while ($Roow = mysql_fetch_assoc($Result)) {
            $sd++;
            extract($Roow);
            ?>


            <table border="1" width="100%">
                <tr>
                    <td>
                        <?php
                        if (in_array($Roow['id_arc'], $repeated)) {
                            echo "<div style='text-decoration:line-through; color:red'> $Roow[mzayda] </div>";
                        } else {
                            echo "<div> $Roow[mzayda] </div>";
                        }
                        ?>
                    </td>
                    <td><?php echo $prodname; ?></td>
                    <td><?php echo $country_id; ?></td>
                    <td><?php echo $name; ?></td>
                    <td><?php echo $city_id; ?></td>
                </tr>
            </table>

    <?php
    $rod++;

    if ($rod == 1) {
        ?>
                <?php
                $rod = 0;
            }
        }
        ?>
        <?php
        echo"</p>";
        echo"<div class='nav2' align='center' dir='rtl'  ><b><a href='index.php?count3rod=1'>الاولى</a></div>";
        $i = 1;
        $next = ($count3rod > 5) ? $count3rod - 5 : 1;
        while ($next <= ($count3rod + 5) && $next <= $check_end) {
            if ($count3rod == $next) {
                echo"
        <div class='navc' align='center' dir='rtl'  >
        $next</div>";
            } else {
                echo"<div class='nav2' align='center' dir='rtl'  ><a href='index.php?count3rod=$next' >$next</a></div>";
            }
            $next++;
            $i++;
        }
        echo"<div class='nav2' align='center' dir='rtl'  ><a href='index.php?count3rod=$check_end'>الاخيرة</a></div>";
        ?>

سوال صغير اخي الفاضل يمكن ان يكون بعيد قليلا عن المضمون لكن من ضمن طريقة عمل الصفحة

 

انا كان لدينا الرقم الاساسى مثلا 300 للعرض

 

وكان هناك 3 اعضاء

 

كل منهم قام بادخال رقم

 

مثلا

 

50

 

280

 

200

 

ازاى اعمل احصائية بحيس اطلع اقرب رقم للرقم الاساسي

 

يعني بمعنى ادق

 

عدد الفائزين بالاعلان مثلا يظهر (1)

 

وهذا الرقم يكون هوا اقرب رقم من ال 3 ارقام لرقم 300

 

يعني يحتسب ال 280

 

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

 

علما بأن

 

hade$ هوا المتغير الخاص بالرقم الاساسي الي هوا 300

 

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

 

انا عندي علم بالاقل من او الاكبر من او ما يساوية لكن الاقرب من الرقم كيف يكون ؟

<?php 
$fatema=mysql_query ("select * from arc where prod_id=1 and mzayda >  $hade ");
$num =mysql_num_rows($fatema); 
echo "$num"; 

?>

تم تعديل هذه المشاركة بواسطة fatmaali في 3 فبراير 2014 في 10:59

#19

بالنسبة لسؤالك الجديد, يوجد طريقتين لعمل المطلوب.

 

  • إنشاء استعلام لجلب أكبر رقم من بين الارقم المعروضة.
$max = 300;
$query = mysql_query("SELECT MAX(number) AS highNum FROM information WHERE number <= $max ");
$data = mysql_fetch_array($query);
echo $data['highNum'];
  • إنشاء استعلام لجلب الصف الذى يحتوى على أكبر رقم.
$query = mysql_query("SELECT * FROM information WHERE number = (SELECT MAX(number) FROM information)");
$data = mysql_fetch_array($query);
echo $data['name'];

ملحوظة:

برجاء أى سؤال جديد يضاف فى موضوع جديد, لكى تكون المواضيع مرتبة, ولكى يستفاد منها الجميع .

تم تعديل هذه المشاركة بواسطة مستر برمجة في 4 فبراير 2014 في 01:25

1

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#20

إنشاء استعلام لجلب أكبر رقم من بين الارقم المعروضة.

قمت بعمل تعديل على الاستعلام اخي ليظهر العدد كاحصائية مثلا 1 2 3 وليس الرقم

<?php 
$max = $hade;
$query = mysql_query("SELECT MAX(mzayda) AS highNum FROM arc WHERE mzayda <= $max and prod_id='$pp' ");
$num =mysql_num_rows($query); 
echo "<b><font color='#ff000'>$num</font></b>"; 
?>

وهل ممكن ان يظهر اكبر رقم غير مشطوب يعني لان ممكن تكون هناك ارقام مشابهه كبيرة ولكن مشطوبة لكن يحتسبها ايضا

 

 

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

تم تعديل هذه المشاركة بواسطة fatmaali في 3 فبراير 2014 في 22:08

#21
اقتباس

وهل ممكن ان يظهر اكبر رقم غير مشطوب يعني لان ممكن تكون هناك ارقام مشابهه كبيرة ولكن مشطوبة لكن يحتسبها ايضا

 

دى محتاجة تعدلى تانى على الكود اللى عملناة سابقا لكى يناسب ما تريدية, ودى بقى أنا سايبهالك تجتهدى فيها.

بالتوفيق ....

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#22

شكرا لك اخي الفاضل

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