Autor | Zpráva | ||
---|---|---|---|
Peet Profil |
#1 · Zasláno: 1. 1. 2012, 22:54:17
Dobrý den používám v mé aplikaci SELECT COUNT ale při výpisu hodnoty mi stále vrací pouze nulu
$result['prijate']=mysql_result(mysql_query("SELECT COUNT(*) FROM messages_with_users WHERE message_id='.$id.'"),0); $result['odeslane']=mysql_result(mysql_query("SELECT COUNT(*) FROM messages_with_users_send WHERE message_id='.$id.'"),0); proměnná id není prázdná tu jsem testoval ale když potom dam echo tak oba dva mi vrací nulu přitom by jeden měl vracet jedničku.. nevím co s tím. ještě jsem přemýšlel že by se tyto dva dotazy dali spojit pomocí UNION ale moc se v tom nevyznám kdyby měl někdo lepší řešení budu rád předem díky |
||
Tori Profil |
#2 · Zasláno: 1. 1. 2012, 22:56:12
Peet:
„WHERE message_id=“ Nemělo by to být spíš user_id nebo tak něco? |
||
Peet Profil |
#3 · Zasláno: 1. 1. 2012, 22:59:35 · Upravil/a: Peet
nn je to složitější. mám tři tabulky
messages messages_with_users messages_with_users_send a ve dvou pomocných mám pouze id odesílatele id příjemce a id zprávy a pokud se tyto dotazy budou rovnat oba nule potom se zprava smaze i z tabulky messages.. ale jde o to že ta zpráva je např v tabulce messages_with_users ale dotaz vrátí nulu VYŘEŠENO stačilo odstranit tečky u podmínky :) |
||
Tori Profil |
#4 · Zasláno: 1. 1. 2012, 23:25:57
Peet:
„pokud se tyto dotazy budou rovnat oba nule potom se zprava smaze i z tabulky messages.“ Mohlo by to jít smazat i jedním dotazem: DELETE FROM m USING messages m LEFT JOIN messages_with_users mu ON m.id = mu.message_id LEFT JOIN messages_with_users_send ms ON m.id = ms.message_id WHERE m.id = $id AND mu.message_id IS NULL AND ms.message_id IS NULL |
||
Peet Profil |
#5 · Zasláno: 2. 1. 2012, 00:53:58
Tak toto chápu opravdu minimálně :D
Nevím v čem by mi to mohlo pomoct.. je to delší.. ale záleží na tom jestli je to rychlejší než můj přikald...? |
||
Tori Profil |
#6 · Zasláno: 2. 1. 2012, 01:05:22
Peet:
Je to jeden dotaz místo tří, mohlo by to být rychlejší (=můj subjektivní, ničím nepodložený názor). |
||
Časová prodleva: 12 let
|
0