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

لو ممكن مساعدة في الاستعلام Select

بدأه man in dark في 2 أغسطس 2008 · 12 رد · 845 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني اريد مساعدتكم في هذا الاستعلام

$query="SELECT * FROM mokaj where `mokadate`>=  DATE_SUB(CURDATE(),INTERVAL 7 DAY) order by id DESC";
$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".$id ($query)";
$result =mysql_query($query2); 
$num = mysql_num_rows($result);

انا اريد ان يحدد لي البيانات التي ادخلت قبل 7 ايام ومن ثم يظهر النتائج علما بان البيانات موضوعة في جدولين جدول mokah- newaj

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

query2="SELECT * FROM  newaj, mokaj WHERE user_id=".$id ($query)";

وهذا هو الخطاء الذي يظهر لي

Parse error: parse error, unexpected

تم تعديل هذه المشاركة بواسطة man in dark في 2 أغسطس 2008 في 10:15

#2

ماذا تقصد بـالعباره :

$id ($query)

؟

هل id هي داله , تمرر لها الاستعلام وتعيد لك الـ id ؟ اذا كان كذلك , استدعي الداله id بدون علامه $ , اي ان الاستعلام سيصبح :

query2="SELECT * FROM  newaj, mokaj WHERE user_id=".id ($query)";

تم تعديل هذه المشاركة بواسطة محمد معاشر في 2 أغسطس 2008 في 16:38

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#3

الخطاء في السطر

$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".$id ($query)";
#4
man in dark كتب:
الخطاء في السطر

$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".$id ($query)";

اخي "رجل في الظلام" , اقرأ ردي السابق جيداً ..

لاترد وانت مغمض العينين .

تم تعديل هذه المشاركة بواسطة محمد معاشر في 2 أغسطس 2008 في 16:50

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#5

اخي محمد معاشر

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

اهم شي رضاك عنا اخي محمد معاشر

اما بالنسبه لسؤالك

فانريد جلب ناتج الاستعلام $query و من ثم تحديد $query2

يعني اخي محمد انا اريد اظهار البيانات قبل 7 ايام و هذا هو استعلام

$query="SELECT * FROM mokaj where `mokadate`>=  DATE_SUB(CURDATE(),INTERVAL 7 DAY) order by id DESC";

بحيث اريدد اظهار النتائج من الجدولين mokaj newaj

بحيث في جدول newaj يوجد الحقول name user

و جدول mokaj يوجد الحقل moka

عندما يكون لدي رقم id=1 في newaj

user name

محمد 456

طبعا سوف يكون نفس id في جدول newaj موجود في جدول mokaj في حقل user_id

user_id mok

1 no

1 oy

1 sa

بحيث عند ناتج الاستعلام سوف يكرر اسم محمد ثلاث مرات

وهذا هو كود الصفحة

<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>Add Employee</title>
<style type="text/css"/>
body {
font-family : Times New Roman;
}
</style>
</head>
<body>

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="x"; // Database name
$tbl_name="newaj"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$query="SELECT * FROM mokaj where `mokadate`>=  DATE_SUB(CURDATE(),INTERVAL 7 DAY) order by id DESC";
$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".$id ($query)";
$result =mysql_query($query2);
$num = mysql_num_rows($result);
?>

<div align="center">
<div align="center">
	<table width="568" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
	<table width="541" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
	<table width="393" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
<div align="right">
<table cellspacing="0" cellpadding="5" width="555" bordercolorlight="#252525" bordercolordark="#252525">
<tr>
<td align="center" width="483" bordercolorlight="#FFFFFF" bgcolor="#FFFFFF" colspan="6">
<div align="right">
	<table border="0" width="105%" id="table2">
		<tr>
			<td width="126" align="center"><u><font color="#252525"><b>
			<a href="monthaj.php">
			<font color="#252525">قبل شهر</font></a></b></font></u></td>
			<td width="84" align="center"><u><font color="#252525"><b>
			<a href="weekaj.php">
			<font color="#252525">قبل أسبوع</font></a></b></font></u></td>
			<td width="108" align="center"><u><font color="#252525"><b>
			<a href="yasterdayaj.php">
			<font color="#252525">يوم أمس</font></a></b></font></u></td>
			<td align="center"><u><font color="#252525"><b>
			<a href="todayaj.php">
			<font color="#252525">اليوم</font></a></b></font></u></td>
			<td width="67" align="center"><u><font color="#252525"><b>
			<a href="show.php">
			<font color="#252525">الكل</font></a></b></font></u></td>
		</tr>
	</table>
</div>
</td>
</tr>
<tr>
<td align="center" width="33" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">حذف</font></b></td>
<td align="center" width="34" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">تعديل</font></b></td>
<td align="center" width="56" bordercolorlight="#FFFFFF" bgcolor="#252525">
<span lang="ar-sa"><font color="#FFFFFF"><b>استعراض</b></font></span></td>
<td align="center" width="56" bordercolorlight="#FFFFFF" bgcolor="#252525">
<span lang="ar-sa"><font color="#FFFFFF"><b>نوع</b></font></span></td>
<td align="center" width="59" bordercolorlight="#FFFFFF" bgcolor="#252525">
<span lang="ar-sa"><font color="#FFFFFF"><b>اليوزر</b></font></span></td>
<td align="center" width="245" bordercolorlight="#FFFFFF" bgcolor="#252525">
<strong><span lang="ar-sa"><font color="#FFFFFF">أسم</font></span></strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>

<td width="33" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="delet.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">حذف</font></span></a><font color="#000000"> </font></b></td>
<td width="34" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="update.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">تعديل</font></span></a><font color="#000000"> </font></b></td>
<td width="56" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="View_ac.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">عرض</font></span></a><font color="#000000"> </font></b></td>
<td width="56" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['moka']; ?></b></td>
<td width="59" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['user']; ?></b></td>
<td width="245" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['name']; ?></b></td>

</tr>
<?php
}

?>
</table>
<div align="center">
	<table border="0" cellpadding="0" style="border-collapse: collapse" width="41%" height="26" id="table1">
		<tr>
			<td align="center"> </td>
		</tr>
		<tr>
			<td align="center"> </td>
		</tr>
		<tr>
			<td align="center"><b><?php $num = mysql_num_rows($result);
echo $num; ?>  مجموع الاستعلام</b></td>
		</tr>
	</table>
</div>
</td>
</tr>
</table>
</div>

<?php
mysql_close();
?>
#6

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

وهو مايسبب عدم توافق

اي أن $query="SELECT * FROM mokaj where `mokadate`>= DATE_SUB(CURDATE(),INTERVAL 7 DAY) order by id DESC";

تأتي بمجوعة قيم

ثم تحاول المقارنة بقيمة واحدة في $query2="SELECT * FROM newaj, mokaj WHERE user_id=".$id ($query)";

اش رايك في الاستعلام الاول تحاول وضع

select distinct*

وفي الشرط تضع group by id بدل order by

#7

اخي , الله يرضى عنا جميعاً , ليس هناك داعى لمثل هذه الكلمه مره اخرى .

عموماً ,انت لم تفهم قصدي :rolleyes: ..

انت ذكرت ان الخطأ في :

 $query2="SELECT * FROM  newaj, mokaj WHERE user_id=".$id ($query)";

والمشكله هنا واضحه , فأنت تستدعي داله id بشكل خاطئ , يجب ان لاتضع قبلها علامة $ . يعني الاستعلام سيصبح كالتالي :

 $query2="SELECT * FROM  newaj, mokaj WHERE user_id=".id ($query)";

اقرأ هذا الرد جيداً ..

تم تعديل هذه المشاركة بواسطة محمد معاشر في 2 أغسطس 2008 في 18:37

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#8

اخي Mohamed-Riadh انت تقصد ان يكون الاستعلام هكذا

$query="SELECT DISTINCT mokaj where `mokadate`>=  DATE_SUB(CURDATE(),INTERVAL 7 DAY) group by id DESC";
$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".$id);
$result =mysql_query($query2);
$num = mysql_num_rows($result);

يظهر الخطاء

Parse error: parse error, unexpected ')' in

اي ان الخطاء في السطر

$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".$id);

تم تعديل هذه المشاركة بواسطة man in dark في 2 أغسطس 2008 في 18:58

#9

اخي محمد معاشر لقد جربت الطريقة

$query="SELECT * FROM mokaj where `mokadate`>=  DATE_SUB(CURDATE(),INTERVAL 7 DAY) order by id DESC";
$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".id ($query)";
$result =mysql_query($query2);
$num = mysql_num_rows($result);

يظهر الخطاء

Parse error: parse error, unexpected '"' in c:\camel\www\siccc\todayaj.php on line 25

اي ان الخطاء في السطر

$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".id ($query)";
#10

يجب عليك ان تبني السلسله الحرفيه صحيح , لاحظ ان هناك علامه تنصيص زائده في النهايه , قم بإزلتها :

$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".id ($query);

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#11

الان ظهر لي اخي محمد خطاء آخر

Fatal error: Call to undefined function: id() in c:\camel\www\siccc\todayaj.php on line 25

اي ان الخطاء في السطر

$query2="SELECT * FROM  newaj, mokaj WHERE user_id=".id ($query);

تم تعديل هذه المشاركة بواسطة man in dark في 2 أغسطس 2008 في 19:37

#12

تأكد من وجود الدالة id()

I Say Nothing

#13

تم حل المشكلة من قبل احد الاخوان

الكود

$query = "
SELECT mokaj.*, newaj.* 
FROM mokaj, newaj 
WHERE 
	mokaj.mokadate >= DATE_SUB(CURDATE(),INTERVAL 7 DAY) 
	AND newaj.id = mokaj.user_id 
ORDER BY mokaj.id DESC"; 
$results = mysql_query($query) or die(mysql_error());
$num = mysql_num_rows($results);

الكود يعمل 100%

الف شكر للتفاعلكم معي

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