- 締切済み
if()文が上手くいかない。パート2
$sql= 'SELECT a.id,a.name,a.ji,a.pass,b.id,b.name,b.day,b.st,b.sh,b.tday,b.tt,b.th,b.go FROM t AS a, ti AS b WHERE a.id=b.id group by a.id ORDER BY b.day DESC'; $res = mysql_query($sql); $sql2 = 'SELECT * FROM ti'; $res2 = mysql_query($sql2); while($row = mysql_fetch_array($res)){ $st = $row['st']; } while($row2 = mysql_fetch_array($res2)){ if(!$st==""){ echo $row2['name'].'<br>出勤<br>'; }else{ echo $row2['name']; } } 改善点御教授下さい。お願いします。 参考:http://okwave.jp/qa/q7424432.html
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hitomura
- ベストアンサー率48% (325/664)
…… $sql= 'SELECT a.name,b.day,b.st FROM t AS a, ti AS b WHERE a.id=b.id group by a.id ORDER BY b.day DESC'; $res = mysql_query($sql); while($row = mysql_fetch_array($res)){ $st = $row['st']; if(!$st==""){ echo $row['name'].'<br>出勤<br>'; }else{ echo $row['name']; } } ……一応プロ(ただしPHPはよく分からないC言語プログラマー)ですが5分でできました。 > じゃあ企業はプロだから全部自社でしてますか? > 下請けにだしたり、内職さんにまかせたり、コンサルタントに相談したり、商工会に相談したりしますよね? 確かにしますね。しかし、コンサルトや商工会への相談はその相手が自分の専門外の知識を持っているから行い、下請けや内職さんにお願いするのは自分の専門で自身でできるけど仕事全体をこなすには時間が足りないからです。 自身の専門分野がWebプログラマーであると名乗る(参考URL)なら、Webプログラマーが5分くらいで解決できることを解決できるようになってください。そうでないと、自分が受けた仕事がどのくらい時間がかかるか判断することも、間に合わない分を下請けや同僚に任せるときどの範囲お願いするかを見積もることもできません。
- hitomura
- ベストアンサー率48% (325/664)
どうやら開発のプロのようなので、要点のみ。 > $sql= 'SELECT a.id,a.name,a.ji,a.pass,b.id,b.name,b.day,b.st,b.sh,b.tday,b.tt,b.th,b.go FROM t AS a, ti AS b WHERE a.id=b.id group by a.id ORDER BY b.day DESC'; 余計なデータを取得している。そもそもテーブル構成としてt.nameとti.nameが重複している。取得する必要のある項目は何か、どういうテーブル構成にすればいいかは自分で考えましょう、プロなんだから。 > $sql2=... > $res2=... > while($row2 = ...){...} 不要。表示に必要なデータは前のSQLで取得可能。どういうロジック(というほどのものではないが)で表示させればいいかは自分で考えましょう、プロなんだから。
補足
じゃあ企業はプロだから全部自社でしてますか? 下請けにだしたり、内職さんにまかせたり、コンサルタントに相談したり、商工会に相談したりしますよね? わけのわからない回答、そして全くもって質問のそぐわない回答をしておきながら偉そうな言葉を使わないで下さい。不躾です。