Visa ett inlägg
Oläst 2013-04-17, 23:03 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Så här skulle du konna lägga in get_crew_power() som en SP:

Kod:
DELIMITER $$

CREATE PROCEDURE `get_crew_power`(in param_crew_id int)
BEGIN
	SELECT SUM(t.totPower) AS total_crew_power
	FROM crew_members cm
	JOIN members m ON m.member_id = cm.user_id
	JOIN
	  (SELECT m.member_id,
			  (SUM(i.item_stat) + MAX(m.member_attack) + MAX(m.member_defence)) AS totPower
	   FROM members m
	   JOIN memberitems mi ON m.member_id = mi.memberitems_member
	   JOIN items i ON i.item_id = mi.memberitems_item
	   GROUP BY m.member_id)t ON t.member_id = m.member_id
	WHERE cm.crew_id = param_crew_id
	GROUP BY cm.crew_id  ;

END$$
För att anropa SPn från PHP MED felhantering skriver du så här:

Kod:
if (!$db->query("CALL get_crew_power(" . crew_id . ")")) 
{
    echo "CALL failed: (" . $db->errno . ") " . $db->error;
}

För att anropa SPn från PHP UTAN felhantering skriver du så här:

Kod:
$db->query("CALL get_crew_power(" . crew_id . ")")

Senast redigerad av Conny Westh den 2013-04-17 klockan 23:12
Conny Westh är inte uppkopplad   Svara med citatSvara med citat