White_Virus Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 Soll ich die seite mal posten??? Zitieren
White_Virus Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 Was ist denn viel???? es sind 58 zeiln Zitieren
White_Virus Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 So siehts zur zeit aus zwar nicht super sortiert aber ich hoffe das es geht <html><head></head> <script language="JavaScript" > function chk(chki) { document.formname.chk[0].checked=true; } </script> <body> <? include ("../iconfig.php"); $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_check = @MYSQL_SELECT_DB($db_name); ?> <form action="admin.php" method="post"> <select name='wahl' size='1'> <? $tmp = mysql_query("SELECT Ally FROM $mysql_tablename GROUP BY Ally"); while ($temp = mysql_fetch_row($tmp)){ echo "<option value='".$temp[0]."'"; if($wahl==$temp[0])echo "selected"; echo">".$temp[0]."</option>"; } ?> <option value='alle'<? if ($wahl=="alle") echo "selected";?>>Alle</option> <option value='dhdb'<? if ($wahl=="dhdb") echo "selected";?>>Ally</option> <option value='bund'<? if ($wahl=="bund") echo "selected";?>>Bündnisse</option> <option value='feind'<? if ($wahl=="feind") echo "selected";?>>Feinde</option> <option value='plund'<? if ($wahl=="plund") echo "selected";?>>Leichte Beute</option> </select> <input name="ok" type="submit" value="OK"> </form> <? $remp=$wahl; if ($wahl==""){$wahl='';} else if ($wahl=="alle"){$wahl='';} else if ($wahl=="dhdb"){$wahl='WHERE member=1';} else if ($wahl=="bund"){$wahl='WHERE member=2';} else if ($wahl=="feind"){$wahl='WHERE member=3';} else if ($wahl=="plund"){$wahl='WHERE member=4';} else {$wahl="WHERE Ally='$wahl'";} if ($action!="" ){ $tmp = mysql_query("SELECT COUNT(*) FROM $mysql_tablename $wahl"); $count = mysql_fetch_row($tmp); } $dhdb = mysql_query("SELECT * FROM $mysql_tablename $wahl ORDER BY Ally,name ASC"); echo '<form name="formname" action="admin.php" method="post"><input type="hidden" name="wahl" value="'.$remp.'">'; echo '<table><tr><td>Änderung</td><td>Name</td><td>Ally</td><td>Ozean</td><td>Gruppe</td><td>Insel</td></tr>'; $i=0; echo ''; while ($ausgabe = mysql_fetch_array($dhdb)) { echo '<tr><td><center><input type="checkbox" name="chk['.$i.']"></center></td><td><input name=name'.$i.'" type="text" size="15" maxlength="40" value="'.$ausgabe['name].'" onChange="chk(\'chk['.$i.']\') "><input type=hidden" name="hidename'.$i.'" value="'.$ausgabe['name].'"></td><td><input name="ally'.$i.'" type="text" size="8" maxlength="40" value="'.$ausgabe['Ally'].'" onChange=chk(\'chk'.$i.'\') "><input type="hidden" name="hideally'.$i.'" value="'.$ausgabe['Ally].'"></td><td><input type="text" name="ozean'.$i.'" size="1" maxlength="3" value="'.$ausgabe['ozean'].'" onChange=chk(\'chk'.$i.'\') "><input type="hidden" name="hideozean'.$i.'" value="'.$ausgabe['ozean].'"></td><td><input name="gruppe'.$i.'" type="text" size="1" maxlength="3" value="'.$ausgabe['gruppe'].'" onChange=chk(\'chk'.$i.'\')"><input type="hidden" name="hidegruppe'.$i.'" value="'.$ausgabe['gruppe].'"></td><td><input name="insel'.$i.'" type="text" size="1" maxlength="3" value="'.$ausgabe['insel'].'" onChange=chk(\'chk'.$i.'\') "><input type="hidden" name="hideinsel'.$i.'" value="'.$ausgabe['insel].'"></td></tr>'; $i++; } echo '</table>'; echo '<input name="action" type="submit" value="Ändern">'; echo '<input name="action" type="submit" value="Löschen"></form>'; ?></body></html> Zitieren
loeti Geschrieben 15. April 2003 Geschrieben 15. April 2003 Sorry, aber wie ich bereits erwähnt habe, habe ich keine Ahnung von php. Ich habe zwar versucht, das zu verstehen, kann aber die Stelle nicht finden, an der du die besagte Auswertung vornimmst. Zitieren
White_Virus Geschrieben 16. April 2003 Autor Geschrieben 16. April 2003 Auswertung??? du meinst wo ich schaue ob die checkbox selectiert ist??? Das ist auch noch nicht drin denn als ich das gelesen hab wie das gehen soll hab ich erstmal den namen in ein array umgewandelt und da dort schon ein fehler war wollt ich den erstmal beheben. Zitieren
loeti Geschrieben 16. April 2003 Geschrieben 16. April 2003 Ok, jetzt habe ich den Code so geändert, dass du sie aus php evtl. als Array ansprechen kannst. Und zwar habe ich den Checkboxen jetzt einfach denselben Namen gegeben, ich denke, dann werden sie als Array behandelt: <html> <head> <title>Testformular</title> <script type="text/javascript"> <!-- function chk (index) { eval ("document.testform.check[" + index + "].checked=true;"); } function submitform() { alert ("Checkbox 1 checked: " + document.testform.check[0].checked); alert ("Checkbox 2 checked: " + document.testform.check[1].checked); alert ("Checkbox 3 checked: " + document.testform.check[2].checked); } // --> </script> </head> <body> <form name="testform" action="javascript:submitform();"> <table> <tr> <td>Checkbox 1:</td> <td><input type="checkbox" name="check"></td> </tr> <tr> <td>Checkbox 2:</td> <td><input type="checkbox" name="check"></td> </tr> <tr> <td>Checkbox 3:</td> <td><input type="checkbox" name="check"></td> </tr> <tr> <td colspan="2"><hr></td> </tr> <tr> <th colspan="2">Reihe 1</th> </tr> <tr> <td>Input 1.1:</td> <td><input type="text" name="input_1_1" onchange="chk(0)"></td> </tr> <tr> <td>Input 1.2:</td> <td><input type="text" name="input_1_2" onchange="chk(0)"></td> </tr> <tr> <td>Input 1.3:</td> <td><input type="text" name="input_1_3" onchange="chk(0)"></td> </tr> <tr> <th colspan="2">Reihe 2</th> </tr> <tr> <td>Input 2.1:</td> <td><input type="text" name="input_2_1" onchange="chk(1)"></td> </tr> <tr> <td>Input 2.2:</td> <td><input type="text" name="input_2_2" onchange="chk(1)"></td> </tr> <tr> <td>Input 2.3:</td> <td><input type="text" name="input_2_3" onchange="chk(1)"></td> </tr> <tr> <th colspan="2">Reihe 3</th> </tr> <tr> <td>Input 3.1:</td> <td><input type="text" name="input_3_1" onchange="chk(2)"></td> </tr> <tr> <td>Input 3.2:</td> <td><input type="text" name="input_3_2" onchange="chk(2)"></td> </tr> <tr> <td>Input 3.3:</td> <td><input type="text" name="input_3_3" onchange="chk(2)"></td> </tr> <tr> <td colspan="2"><input type="submit" value="OK"/></td> </form> </body> </html> Zitieren
jomama Geschrieben 16. April 2003 Geschrieben 16. April 2003 Dann kann ich mein PHP ja doch noch anbringen. Also wenn du beim echo einfache Anführungszeichen verwendest( ' statt " ), werden die Variablen im Argument nicht interpretiert. Folglich steht da chk[$i], womit JavaScript wenig anfangen kann. Probiers mal mit " und klammere die Anführungszeichen, die fürs HTML benötigt werden, mit einem Backslash aus. So etwa: \" Dann schreibst du für jedes onchange noch onchange=\"chk[$i]\" und dann postest du, obs funktioniert hat. Apropos, wenn du die Riesen echo-Anweisung innerhalb der Schleife in mehrere Teile aufteist, wirds bedeutend übersichtlicher. So wie es jetzt ist, hast du spätestens nach einer Woche keine Ahnung mehr, wie es gemeint war. :uli Zitieren
White_Virus Geschrieben 16. April 2003 Autor Geschrieben 16. April 2003 Danke ich werds bei gelegenheit mal testen dann melde ich mich wieder Zitieren
White_Virus Geschrieben 16. April 2003 Autor Geschrieben 16. April 2003 Original geschrieben von jomama Apropos, wenn du die Riesen echo-Anweisung innerhalb der Schleife in mehrere Teile aufteist, wirds bedeutend übersichtlicher. So wie es jetzt ist, hast du spätestens nach einer Woche keine Ahnung mehr, wie es gemeint war. :uli Ich weiß ds will ich auch noch mal ändern Wenn ich das so probiere wie ich es jetzt hab und in der JS funktion ein alert mache zeigt der mir aber richtig den wert an und zwar chk[0] Zitieren
jomama Geschrieben 16. April 2003 Geschrieben 16. April 2003 Hmmm, in der Form war mir das noch nicht bekannt. Ein bisschen mehr übersichtlichkeit würde beim Fehlerfinden helfen. Frag mal folgendes ab. if(document.DeinFormular.chk[0].checked == true){alert "Checkbox checked";} Bringt der da schon Fehler? Zitieren
loeti Geschrieben 16. April 2003 Geschrieben 16. April 2003 In meinem Beispielcode habe ich das bereits implementiert (function "submitform()"). Damit geht es, wenn die Checkboxen alle gleich benannt sind. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.