[英]Adding multiple columns values from sql database in a php variable (without using an array name inhtml checkbox tag)
$queryStoreSecondaryInfo = $connection->query($sqlStoreSecondaryInfo);
if( $queryStoreSecondaryInfo ){
echo "<br />Updated Secondary! <br />";
$sqlUpdatedSecondaryInfo = " SELECT * FROM students_skills
WHERE ID='$_SESSION[ID]'
AND Email='$Email' ";
$queryUpdatedSecondaryInfo = $connection->query($sqlUpdatedSecondaryInfo);
while( $row = $queryUpdatedSecondaryInfo->fetch_assoc() ){
$_SESSION["Landscaping"] = $row["Landscaping"];
$_SESSION["Cleaning"] = $row["Cleaning"];
$_SESSION["Delivery"] = $row["Delivery"];
$_SESSION["Music"] = $row["Music"];
$_SESSION["Maintenance"] = $row["Maintenance"];
$_SESSION["Decoration"] = $row["Decoration"];
$_SESSION["Painting"] = $row["Painting"];
$_SESSION["PetCare"] = $row["PetCare"];
$_SESSION["Tutoring"] = $row["Tutoring"];
$_SESSION["Vehicles"] = $row["Vehicles"];
$_SESSION["SnowRemoval"] = $row["SnowRemoval"];
$_SESSION["Other"] = $row["Other"];
foreach( $row as $skill => $value ){
$postSkills=array();
if( $value == "1" ){
//if statement is true, add all column header names,
//ie. $skill values, together, and store in a variable, eg. $postSkills
}
echo $postSkills;
}
}
}
SESSION值來自多個復選框。 我想用字符串將所有名稱連在一起,並將其存儲為會話變量。 我看到了其他解決方案,到處都可以將復選框的名稱設置為“ name ='array []'”,但是由於數據庫的設置方式,我必須為每個復選框指定一個唯一的名稱。無論如何,是否可以將所有列標題名稱合並在一起,而無需創建單獨的數據庫來將全部技能列表存儲在一起?
謝謝!
不要將$ postSkills設置為數組,而應將其設置為字符串。 通過用'|'分隔技能來存儲技能 。
$queryStoreSecondaryInfo = $connection->query($sqlStoreSecondaryInfo);
if( $queryStoreSecondaryInfo ){
echo "<br />Updated Secondary! <br />";
$sqlUpdatedSecondaryInfo = " SELECT * FROM students_skills
WHERE ID='$_SESSION[ID]'
AND Email='$Email' ";
$queryUpdatedSecondaryInfo = $connection->query($sqlUpdatedSecondaryInfo);
while( $row = $queryUpdatedSecondaryInfo->fetch_assoc() ){
$_SESSION["Landscaping"] = $row["Landscaping"];
$_SESSION["Cleaning"] = $row["Cleaning"];
$_SESSION["Delivery"] = $row["Delivery"];
$_SESSION["Music"] = $row["Music"];
$_SESSION["Maintenance"] = $row["Maintenance"];
$_SESSION["Decoration"] = $row["Decoration"];
$_SESSION["Painting"] = $row["Painting"];
$_SESSION["PetCare"] = $row["PetCare"];
$_SESSION["Tutoring"] = $row["Tutoring"];
$_SESSION["Vehicles"] = $row["Vehicles"];
$_SESSION["SnowRemoval"] = $row["SnowRemoval"];
$_SESSION["Other"] = $row["Other"];
foreach( $row as $skill => $value ){
$postSkills="";
if( $value == "1" ){
//if statement is true, add all column header names,
//ie. $skill values, together, and store in a variable, eg. $postSkills
$postSkills .= "$skill|";
}
if($postSkills!="") {
$postSkills = substr($postSkills,0,-1);
}
echo $postSkills;
}
}
}
現在$ postSkills將包含所有值為1的技能的名稱。類似這樣的東西-
$postSkills = "Landscaping|Cleaning|Decoration|Vehicles";
為了從中設置會話變量,您需要-
$skillsArr = explode("|", $postSkills);
foreach($skillsArr as $skill) {
$_SESSION["$skill"] = 1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.