PDA

View Full Version : حل یک مشکل



mazimazi
دوشنبه 28 اردیبهشت 1394, 00:40 صبح
با سلام.
من یک تابعی دارم که یک سری مقادیر رو از 2 جدول دریافت میکنه و به json تبدیل میکنه ولی مشکلی که دارم به ازای هز سطر مقادیر جدول اول مقادیر جدول دوم هم به مقادیر جدول اضافه میشه در صوزتی که شرطی که قرار دادم باید 1 رکورد از جدول دوم رو برگردونه؟




function read(){
$connection = connectToDatabase();
$result = mysqli_query($connection, "SELECT * FROM rate,comment WHERE comment_allow=1");

$output = array();
while($row = mysqli_fetch_array($result)) {
$record = array();
$record['rate_id'] = $row['rate_id'];
$record['rate_rating'] = $row['rate_rating'];
$record['rate_vote'] = $row['rate_vote'];
$record['rate_sum'] = $record['rate_rating'] / $record['rate_vote'] ;

$record['comment_id'] = $row['comment_id'];
$record['comment_name'] = $row['comment_name'];
$record['comment_email'] = $row['comment_email'];
$record['comment_message'] = $row['comment_message'];




$output[] = $record;
}

echo json_encode($output);
mysqli_close($connection);
}


جدول اول :

131370

جدول دوم :
131371

;کد جیسون :

131372

saeedvir
دوشنبه 28 اردیبهشت 1394, 05:25 صبح
سلام به جدول اول یا دوم ستونی اضافه کنید که یک شناسه از جدول دیگری در آن قرار بگیرد :

مثلا این طوری :
جدول اول :
comment_id,R_id,comment_name,email,msg,comment_all ow

که موقع ذخیره اطلاعت در دیتابیس comment مقدار ستون R_id برابر rate_id جدول rate هست.
جدول دوم :
هم به همون صورت که هست.

حالا کوئری:


$result = mysqli_query($connection, "SELECT * FROM rate,comment WHERE comment_allow=1 AND comment.R_id = rate.rate_id");

البته نوشتن صحیح و ببهینه با خودتون.

mazimazi
دوشنبه 28 اردیبهشت 1394, 14:23 عصر
سلام به جدول اول یا دوم ستونی اضافه کنید که یک شناسه از جدول دیگری در آن قرار بگیرد :

مثلا این طوری :
جدول اول :
comment_id,R_id,comment_name,email,msg,comment_all ow

که موقع ذخیره اطلاعت در دیتابیس comment مقدار ستون R_id برابر rate_id جدول rate هست.
جدول دوم :
هم به همون صورت که هست.

حالا کوئری:


$result = mysqli_query($connection, "SELECT * FROM rate,comment WHERE comment_allow=1 AND comment.R_id = rate.rate_id");

البته نوشتن صحیح و ببهینه با خودتون.

دوست عزیز من این دستور هایی که گفتین رو انجام دادم ولی فقط رکوردی که در جدول اول برابر 1 هست و id اون 7 هست رو بر میگردونه که درسته ولی من در جدول دوم تمام رکورد ها رو میخام که فقط رکوردی که id اون برابر 6 هست رو بر میگردونه ؟ یکم گیج شدم .