تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف يتم اظهار سجلات جدول فقط تلك التي تحتوي على اسم المستخدم ؟؟
#4
السلام عليكم ورحمة الله
الاخ sandanet
طريقة الادخال للبيانات ومعالجتها و( الاستعلامات ) لديك يفضل تغييرها وذلك
1 - لديك خطأ منطقي ما الحكمة لأستخدام اكثر من يوزر في حقل واحد وعند الدخول يضهر له باقي اليوزرات المرتبطه بالمتغير $user
2 - لنفرض تم دخول Peter ولديه اليوزرات التالية ( Thomas brad , Richter David , Peter)  Dodgy
سيذهب Peter الى users ويقوله عطني اليوزرات بتاعي هيقوله users الله هو انا عارف اليوزرات بتاعك ايه  Huh
هيقوله Peter بص حضرتك اديني الي معايا بالحقل بتاعي !
هــيرد عليه users بص حضرتك لحسن متبوظنيش ولا بوضكش انهم انت الاول ولا التاني ولا الاخير !
هيرد عليه Peter انا الاخير ياعم
هيقول users خذ ياعم !
كود :
SELECT * FROM docs WHERE docs_name != '' && users LIKE  '%_Peter'

ولو تم تغيير مكان Peter بالحقل تضطر في كل مره تغيير الاستعلام يعني هذا Peter ,Thomas brad , Richter David  ليس كهذا Thomas brad , Richter David , Peter

ولو تم تسجيل Peter اخر بحقل اخر مثل ( Lito William , Peter , David Mortensen )
تضطر تغير الاستعلام إلى :


كود :
 SELECT * FROM docs WHERE docs_name != '' && users LIKE  '%_Peter_%'  
[/code]

حدث لدينا فيض وتخرج لنا احتمالات مالا نهاية :

كود :
العضو اخر اعضاء الحقل
" SELECT * FROM docs WHERE docs_name != '' && users LIKE  '%_".$user."' "

العضو متواجد بمنتصف الاعضاء
" SELECT * FROM docs WHERE docs_name != '' && users LIKE  '%_".$user."_%' "


لماذا هذا المنطق هتخرج لك مشاكل في الاستعلامات مستقبلا مشاكل ..............الخ

افضل طريقة لك من ناحية الحماية والدخول الامن استخدم
--رقم معرف-- number مرتبط بجميع عمليات الدخول للموقع واضافة اليوزرات ذات العلاقة !
--حقل رئيسي-- docs_name
--اسم المستخدم-- Peter

من الناحية التنظيمية هذا امن لك ^

php  &   mysql

كود :
<?php

$Connection = mysqli_connect("127.0.0.1","root","pws","db");
$number = 1;
$query = mysqli_query($Connection ," SELECT * FROM docs WHERE docs_name != '' && number =  '".$number."' ");
while ($row = mysqli_fetch_array($query))
{
   $userlike = $row['users'];
   echo "<br/>";
   echo $userlike;
 }
?>


table

كود :
CREATE TABLE `docs` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`number` INT(11) NOT NULL DEFAULT '0',
`docs_name` VARCHAR(50) NOT NULL DEFAULT '0',
`users` VARCHAR(50) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=4
;


جمال التنظيم وروعته  Heart

PHP كود :
<?php
$docs 
= array(
 array(
 
"id" => 1,
 
"number" => 1,
 
"docs_name" => "doc1",
 
"users" => "Peter",
 ),
 array(
 
"id" => 2,
 
"number" => 2,
 
"docs_name" => "doc2",
 
"users" => " Ricardo William",
 ),
 array(
 
"id" => 4,
 
"number" => 1,
 
"docs_name" => "doc1",
 
"users" => "Thomas brad",
 ),
 array(
 
"id" => 6,
 
"number" => 2,
 
"docs_name" => "doc2",
 
"users" => "Peter Filip",
 ),
 array(
 
"id" => 7,
 
"number" => 2,
 
"docs_name" => "doc2",
 
"users" => " Mark Andrew",
 ),
 array(
 
"id" => 3,
 
"number" => 3,
 
"docs_name" => "doc3",
 
"users" => " David Mortensen",
 ),
 array(
 
"id" => 9,
 
"number" => 3,
 
"docs_name" => "doc3",
 
"users" => " Peter",
 ),
 array(
 
"id" => 8,
 
"number" => 3,
 
"docs_name" => "doc3",
 
"users" => "Lito William",
 ),
 array(
 
"id" => 5,
 
"number" => 1,
 
"docs_name" => "doc1",
 
"users" => "Richter David",
 ),
);
?>
الرد }}}
تم الشكر بواسطة: عبدالله الدوسري , rnmr , محمد كريّم


الردود في هذا الموضوع
RE: كيف يتم اظهار سجلات جدول فقط تلك التي تحتوي على اسم المستخدم ؟؟ - بواسطة الكاتب - 14-10-18, 12:54 AM

التنقل السريع :


يقوم بقرائة الموضوع: