PHPのfor文
送り側で次の情報を送ると、
select SyaName from Syain where SyaNo = 2select SyaName from Syain where SyaNo =
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /result.php on line 33
という文がループします。
SyaNo=1 から SyaNo=10 の計算をさせたいのですが、
なぜこれではだめなのでしょうか。。。
どう表記したらよろしいのでしょうか?
送り側>----------------------------<input type="text" name="WorDateYear" size="8" maxlength="4">年
<input type="text" name="WorDateMonth" size="5" maxlength="2">月<br>
<input type="submit" name="create" value="作成">
>-------------------------------
受け側>----------------------------
$sql = "select WorDate,ComName,GenName,StrTime,EndTime,SyaNo1,SyaNo2,SyaNo3,SyaNo4,SyaNo5,SyaNo6,SyaNo7,SyaNo8,SyaNo9,SyaNo10 from Denpyo where WorDate like '%" . $_GET['WorDateYear'] . "-%" . $_GET['WorDateMonth'] . "%'";
$result1 = mysql_query($sql,$link);
<?
$body .= "<table>
while($col = mysql_fetch_array($result1)){
for($cnt=1; $cnt<=10; $cnt++){
$sql = "select SyaName from Syain where SyaNo = " . $col[SyaNo.$cnt];
print $sql;
$result2 = mysql_query($sql,$link);
$col2 = mysql_fetch_array($result2);
$SyaNo . $cnt = $col2['SyaName'];
}
$body .= "<tr>\n";
$body .= "<td rowspan='2'>" . date("j",$col['WorDate']) . "日</td>\n";
$body .= "<td rowspan='2'>" . date("w",$col['WorDate']) . "曜日</td>\n";
$body .= "<td rowspan='2'>" . $col['ComName'] . "</td>\n";
$body .= "<td rowspan='2'>" . $col['GenName'] . "</td>\n";
$body .= "<td>" . $col['StrTime'] . "</td>\n";
$body .= "<td>" . $col['EndTime'] . "</td>\n";
$body .= "<td>" . $SyaNo1 . "</td>\n";
$body .= "<td>" . $SyaNo2 . "</td>\n";
$body .= "<td>" . $SyaNo3 . "</td>\n";
$body .= "<td>" . $SyaNo4 . "</td>\n";
$body .= "</tr>\n";
$body .= "<tr>\n";
if ($col['StrTime'] < 074500){
$Str = 074500 - $col['StrTime'];
}
$body .= "<td>" . $Str . "</td>\n";
if ($col['EndTime'] > 170000){
$EndT = $col['EndTime'] - 170000;
}
$body .= "<td>" . $EndT . "</td>\n";
$body .= "<td>" . $SyaNo5 . "</td>\n";
$body .= "<td>" . $SyaNo6 . "</td>\n";
$body .= "<td>" . $SyaNo7 . "</td>\n";
$body .= "<td>" . $SyaNo8 . "</td>\n";
$body .= "</tr>\n";
}
$body .= "</table>\n";
print $body;
?>
>-------------------------------
お礼
$str1 = $col["ArrTime"]; $str2 = $col["DepTime"]; datesub($str1,$str2); function datesub($str1,$str2){ print $str1 . " "; print $str2 . " "; $hour = date("H",$str1)*60; print $hour . " "; $minutes = date("i",$str1); print $minutes . " "; $Arr = $hour + $minutes; print $Arr . " "; $hour = date("H",$str2)*60; print $hour . " "; $minutes = date("i",$str2); print $minutes . " "; $Dep = $hour + $minutes; print $Dep . " "; $time = $Arr - $Dep; } と作ってみましたが、 07:35:00 06:30:00 540 00 540 540 00 540 のように、全て、 540 00 540 540 00 540 と表示されてしまいます。
補足
コメントありがとうございます。 時間や分を秒にするということですよね。 どうやったら、00:00:00から、時間・分・秒を取り出せるでしょうか。。。 取り出し方がわからなく。。。