chill0r55555
Mitglied
Hallo Miteinander,
ich habe ein Problem, an dem Ich mir gerade ein bisschen die zähne ausbeiße. Undzwar möchte
ich folgendes realisieren....
Ich habe einen Integerwert den ich mit einer PHP Abfrage aus einer Datenbank hole,
und in die Variable $dbwert speichere. Also sagen wir als Beispiel "130". Nun
wandle ich die Dezimalzahl in einer Binärzahl um. Danach drehe ich den String um (strrev).
Int=130
Binär=10000010
Ungekehrt Binär=01000001
Dann habe ich die Variable $boxes. Mit dieser lege ich fest wieviele Checkboxen ich
darstellen möchte. Im Code unten sind das z.B. "15". Das darstellen ist kein Problem.
Mit der for-Schleife habe ich dann 15 Checkboxen die alle NICHT angeklickt sind.
Ich möchte nun anhand von dem umgekehrten Binärwert sagen welche Boxen angeklickt sind und welche
nicht.
Hier ein BSP:
1-2-3-4-5-6-7-8-9-10-11-12-13-14-15 //checkboxen
--X-------X------------------------ // 01000001
X-X-X------------------------------ // 111
Es sollen also immer alle Checkboxen angehakt sein, wenn der ungekehrte Binärstring eine 1 enthält.
Nun ist es aber auch so, dass der String unterschiedlich lang sein kann wie Ihr im Beispiel seht.
Nun muss wenn man eine Box anklickt ein neuer Wert genertiert und in die Datenbank geschrieben werden.
Bsp.:
- Nur die erste Box wird angeklickt. // 1
- 1.Box und 5. Box geklickt // 10001
Ich wäre euch sehr dankbar wenn ihr mir dabei helfen könntet. Ich hoffe das meine Beschreibung verständlich
war.
MfG
EDIT:
Also das die Checkboxen angehakt sind wenn eine 1 in $eingabe vorhanden ist, habe ich hinbekommen:
ich habe ein Problem, an dem Ich mir gerade ein bisschen die zähne ausbeiße. Undzwar möchte
ich folgendes realisieren....
Ich habe einen Integerwert den ich mit einer PHP Abfrage aus einer Datenbank hole,
und in die Variable $dbwert speichere. Also sagen wir als Beispiel "130". Nun
wandle ich die Dezimalzahl in einer Binärzahl um. Danach drehe ich den String um (strrev).
Int=130
Binär=10000010
Ungekehrt Binär=01000001
Dann habe ich die Variable $boxes. Mit dieser lege ich fest wieviele Checkboxen ich
darstellen möchte. Im Code unten sind das z.B. "15". Das darstellen ist kein Problem.
Mit der for-Schleife habe ich dann 15 Checkboxen die alle NICHT angeklickt sind.
Ich möchte nun anhand von dem umgekehrten Binärwert sagen welche Boxen angeklickt sind und welche
nicht.
Hier ein BSP:
1-2-3-4-5-6-7-8-9-10-11-12-13-14-15 //checkboxen
--X-------X------------------------ // 01000001
X-X-X------------------------------ // 111
Es sollen also immer alle Checkboxen angehakt sein, wenn der ungekehrte Binärstring eine 1 enthält.
Nun ist es aber auch so, dass der String unterschiedlich lang sein kann wie Ihr im Beispiel seht.
Nun muss wenn man eine Box anklickt ein neuer Wert genertiert und in die Datenbank geschrieben werden.
Bsp.:
- Nur die erste Box wird angeklickt. // 1
- 1.Box und 5. Box geklickt // 10001
PHP:
.....
$boxes=15;
$eingabe = decbin($dbwert); //$dbwert ist eine Integer Zahl, zb. 130 oder 8192
$eingabe = strrev($eingabe);
$laenge=strlen($eingabe);
for ($c=0;$c<$boxes;$c++){
echo "<input type='Checkbox' name='box'".$c.">";
}
Ich wäre euch sehr dankbar wenn ihr mir dabei helfen könntet. Ich hoffe das meine Beschreibung verständlich
war.
MfG
EDIT:
Also das die Checkboxen angehakt sind wenn eine 1 in $eingabe vorhanden ist, habe ich hinbekommen:
PHP:
.....
$boxes=15;
$eingabe = decbin($dbwert); //$dbwert ist eine Integer Zahl, zb. 130 oder 8192
$eingabe = strrev($eingabe);
$laenge=strlen($eingabe);
for ($c=0;$c<$boxes;$c++){
if ($eingabe[$c]==1){
echo "<input type='Checkbox' name='box'".$c." checked>";
}
else{
echo "<input type='Checkbox' name='box'".$c.">";
}
}
Zuletzt bearbeitet: