php while为每个
我有这个密码。我不知道为什么while循环不起作用。我无法从课程数据库检索数据。请帮忙 我什么都试过了,但不知道怎么做。php while为每个,php,loops,Php,Loops,我有这个密码。我不知道为什么while循环不起作用。我无法从课程数据库检索数据。请帮忙 我什么都试过了,但不知道怎么做。 if(isset($_POST['enroll'])){ $n = 0; foreach($_POST['trainings'] as $textbox){ $strpicture = $_POST['strpicture'][$n]; $stridnumber = $_POST['stridnumber'][$n]; $strfullname
if(isset($_POST['enroll'])){
$n = 0;
foreach($_POST['trainings'] as $textbox){
$strpicture = $_POST['strpicture'][$n];
$stridnumber = $_POST['stridnumber'][$n];
$strfullname = $_POST['strfullname'][$n];
$strtraining =$textbox;
//Add Query to Training Masterlist
$AddQuery ="INSERT INTO tms_ml
(strpicture,stridnumber,strfullname,strtraining)
VALUES
('$strpicture','$stridnumber','$strfullname','$strtraining')";
mysql_query($AddQuery, $con);
$strcoursestat="OPEN";
//query for training and status training
$SearchCourseQuery =
"SELECT strtraining
FROM course
WHERE strtraining like '%".$strtraining."%' AND strcoursestat like '%".$strcoursestat."%'";
$resultcoursequery =mysql_query($SearchCourseQuery);
require("dbc.php");
//retrieve data from Course DB
while($record = mysql_fetch_array($resultcoursequery)){ //this is
echo $sessionnum= $record['strsessnum']; // the part
//not working
};
$countcourse=mysql_num_rows($resultcoursequery);
if($countcourse==0){
echo '</br>' . $strtraining . ' ' . '<b>No Available Schedule for this Training</b>' .'</br>';
} else{
echo '</br>' . $strtraining . ' ' . '<b>Enrolled</b>' .'</br>';
//Add to Training Session
$test="ab";
$AddtoSession ="INSERT INTO trn_session(strsessnum)VALUES('$sessionnum')";
mysql_query($AddtoSession, $con);
}//else if count
$n++;
} // for each
谢谢大家的帮助 首先
php中的foreach有一个“索引”;可以这样确定:
foreach ($items as $key => $item)
{
}
关键是你的索引(可以随意命名)认为这是一个值得你知道的技巧。。。i、 e您不需要使用$n变量并递增它
第二:
什么是
mysql\u fetch\u array($resultcoursequery)
返回?您的Insert语句中有一个输入错误:
INSERT INTO tms_ml
(strpicture,stridnumber,strfullname,strtraining)
VALUES
('$strpicture','$stridnumber',$strfullname','$strtraining')
$strfullname
处缺少引号
INSERT INTO tms_ml
(strpicture,stridnumber,strfullname,strtraining)
VALUES
('$strpicture','$stridnumber','$strfullname','$strtraining')
除此之外,mysql*扩展已被弃用,您很容易受到SQL注入的攻击。考虑使用<代码> PDO < /代码>或<代码> MySqL*<代码>扩展和准备语句。p> 您需要添加结果类型:
while($record = mysql_fetch_array($resultcoursequery, MYSQL_BOTH)){
echo $sessionnum= $record['strsessnum'];
};
mysql_fetch_数组($resultcoursequery)将从课程数据库返回值。我将通过它将查询添加到trn_会话中。当然可以;但是你有什么结果吗?你把结果加进去了吗?没有,这是我的问题。我尝试回显$sessionnum=$record['stressnum'];但它没有任何价值。所以我相信while不起作用。是的,对不起,我只是编辑了原文,在stackoverflow发布在这里。我的原始代码有正确的引用。是的,我知道mysqli。我只需要在继续之前完成这个项目。然后尝试打印您的
$searchCourceQuery
,检查您是否返回了有效的查询,并使用mysql\u error
检查是否有任何mysql错误。检查mysql\u fetch\u数组($resultcoursequery)实际上返回任何东西..可能它返回一个空数组?我尝试了回显,但什么也没有发生。你能确保mysql的连接是正确的吗?您可以插入第一个查询($AddQuery)yap,第一个$AddQuery和$AddtoSession都执行得很好,并将数据添加到数据库中。只是while循环不起作用。
while($record = mysql_fetch_array($resultcoursequery, MYSQL_BOTH)){
echo $sessionnum= $record['strsessnum'];
};