2009-06-09 7 views
0

Ich mache eine Seite, wo der Benutzer eigene Einstellungen vornehmen kann. Ich brauche eine Schleife, um das Kontrollkästchen zu aktivieren, wenn die Zeile wahr ist und nicht markiert ist, wenn dies nicht der Fall ist. Wie würde ich darüber gehen? in PHP/Javascript.checkboxes überprüft, wenn mysql row = true?

Dank

echo "<form method=\"post\">"; 

echo "<table> 
<tr> 
    <td>1</td> 
     <td><input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\"></td> 
</tr> 

<tr> 
     <td>2</td> 
     <td><input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\"></td> 
</tr> 


</table>"; 
echo"<input name=\"update\" type=\"submit\" id=\"update\" value=\"Update\" method\"post\">"; 
echo "</form>"; 

Antwort

1
while($row = mysql_fetch_assoc($rs)) 
{ 
    // some code... 

    $checked = ''; 
    if($row['setting_1'] === TRUE) 
    { 
      $checked = 'checked="checked"'; 
    } 

    echo '<input type="checkbox" name="setting_1" value="value_1" '.$checked.' />'; 

    // some code... 

} 
+0

Vielen Dank :) funktioniert super – Elliott

+0

Eine weitere Sache, wie kann ich eine Schleife hinzufügen, um die Zeile zu überprüfen? Ich habe diese in einem Array wie $ settings [0] gespeichert. kann ich etwas wie für i = 1 bis 5 usw. tun? Danke – Elliott

+0

edit: so kann ich verwenden, wenn Einstellungen [i] == wahr ...... – Elliott

0

Angenommen, Sie einen Wert aus Zeile und dann während Iterieren tun:

<input type="checkbox" <? if ($value==true) echo "checked=checked"; ?> /> 

PS. Ich hoffe nur, dass du nicht erwartest, dass wir hier den ganzen Code für dich schreiben, oder?

+1

Sollte checked = "checked" oder nichts sein, true/false ist kein gültiges HTML. –

+0

Nein bin ich nicht, nur um die Idee, wie es geht :) – Elliott

0

In der Schleife, fügen Sie diese:

echo "<input type=\"checkbox\" "; 
if ($value_which_should_be_true) { echo "checked=\"checked\""; } 
echo "/>"; 

Dies verwendet die checked HTML-Attribut für Kontrollkästchen, die den Standardstatus angibt.

+0

wie oben angegeben, sollte dies überprüft werden = "überprüft" – KOGI

+0

D'oh! Ich bin es gewöhnt, dass HTML einfach "überprüft" und erraten wurde. Tah. –

0

Das checked Attribut nimmt "geprüft" (siehe here), so möchte ich etwas tun:

<input type="checkbox" <? if ($value == true) echo 'checked="checked"'; ?> />

Alternativ können Sie so etwas wie tun:

if ($value == true) { $checked = 'checked="checked"' }; 
echo '<input type="checked".$checked.' />; 
0

In meinem Formular verwende ich

<input type="checkbox" name="check" id="check" value="checked" <?php $row['checkbox'];?> /> 

wWenn ich die Daten von einem Update-Formular oder einer Schleife anrufe, ruft das oben Genannte ab und der Toggle funktioniert mit jeder Aktualisierung oder Einreichung. Hoffe, das macht Sinn oder hilft.