Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
294 views
in Technique[技术] by (71.8m points)

php - Retain Checked the checkbox inside While

this code is inside while after I submit the form instead of retaining what I checked it checked all after submitting.

I just want to happen after submitting the only check box i check is checked.

What should i do ?

 <input  type="checkbox" title ="<?php echo $sym ?>"<?php if(isset($_POST['poscon'])) echo "checked='checked'"; ?> name="poscon[]" value ="<?php echo $pc?>"><?php echo $pc?>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

refer to in_array

<?php
if(isset($_GET["poscon"])) { 

    $_SESSION["poscon"] = $_GET["poscon"]; 
    $dr=$_SESSION['poscon']; 

    if(isset($_POST['submit'])) { 
        if(!empty($_GET['poscon'])) 
            $_SESSION['poscon'] = $_POST['poscon']; 
        $part=$_GET["poscon"]; 
    }

    $poscon=mysqli_real_escape_string($link,$_GET['poscon']); 

    $p = mysqli_query($link,"select distinct PossibleCondition,Symptoms from healthguide where Subpart like '%$poscon%' and PossibleCondition REGEXP '^[N-Z].*$' Order by PossibleCondition "); 

    while($r=mysqli_fetch_array($p)) { 
        $pc=$r["PossibleCondition"]; 
        $sym=$r["Symptoms"]; 

        if(isset($_POST) && isset($_POST['poscon']) && in_array($pc,$_POST['poscon']))
            $strIsChecked='checked="checked"';
        else
            $strIsChecked=null;

        echo '<tr>';    
        echo '<td><input type="checkbox" '.$strIsChecked.' title ="'.$sym.'" name="poscon[]" value ="'.$pc.'"></td>';
        echo '<td>'.$pc.'</td>';
        echo '</tr>';   

    } 

} 
?>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...