PDA

View Full Version : جستجو در ديتا بيس



mehdi4467
چهارشنبه 20 مرداد 1389, 14:14 عصر
سلام
من دو تا جدول دارم
در جدول اول ميام بازي هاي فوتبال رو قرار ميدم . مثلا بازي استقلال - پيروزي كه به هر سط يك id هم ميدهم.
در جدول ديگر نتيجه بازي ها قرار داده مي شود. به اين صورت كه ابتدا id بازي، بعد id كاربر و سپس نتيجه تيم اول و در آخرهم نتيجه تيم دوم.

حال من مي خواهم يك جستجو بزنم كه اگر يك فرد نتيجه بازي را وارد كرده است مشخص شود.

bestirani2
چهارشنبه 20 مرداد 1389, 14:57 عصر
دو تا جدول را به هم join کن

mehdi4467
چهارشنبه 20 مرداد 1389, 15:33 عصر
سلام
من به اين صورت اين كار رو انجام دادم:


$result = $db->sql_query("SELECT * FROM `billing_game` join `billing_results` on `game_id`=`results_gameid`");


درسته؟

bestirani2
چهارشنبه 20 مرداد 1389, 15:46 عصر
سلام
من به اين صورت اين كار رو انجام دادم:


$result = $db->sql_query("SELECT * FROM `billing_game` join `billing_results` on `game_id`=`results_gameid`");
درسته؟

درسته فقط بهتر هست نوع join رو هم باید مشخص کنی
cross join, left join, right join, full join, inner join که اینجا inner join به نظرم مناسب هست

mehdi4467
چهارشنبه 20 مرداد 1389, 16:00 عصر
من تونستم join كنم ولي يك مشكلي هست. ببين با دستور بالا سطرهايي نمايش داده ميشه كه game_id`=`results_gameid` . ولي من مي خواهم كل game_id ها نمايش داده بشه و حالا كاربر اگر براي يك game_id خاص result_gameid رو وارد كرده جلوي سطر يك عبارت خاص نمايش داده شود و اگر result_gameid را وارد نكرده يك عبارت ديگر.

bestirani2
چهارشنبه 20 مرداد 1389, 16:53 عصر
من تونستم join كنم ولي يك مشكلي هست. ببين با دستور بالا سطرهايي نمايش داده ميشه كه game_id`=`results_gameid` . ولي من مي خواهم كل game_id ها نمايش داده بشه و حالا كاربر اگر براي يك game_id خاص result_gameid رو وارد كرده جلوي سطر يك عبارت خاص نمايش داده شود و اگر result_gameid را وارد نكرده يك عبارت ديگر.
برای این که کل game_id نمایش داده بشه left joni بکن که اگه result_gameid برای اون موجود نبود، بقیه اطلاعات را به صورت نال بر میگردونه
برای خاص کردن هم از where استفاده کن.