PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Checkbox


Twolf
25.03.2002, 11:59:32
Hallo zusammen,
ich habe in einen Onlineformular "dank7.php mit einigen chexboxen integriert z.B:
<INPUT TYPE="checkbox" NAME="Infoline" VALUE="-1">

ich habe eine Anweisung gegeben meine DB upzudaten:
<?
if( isset($update) ) {
$conn1 = odbc_connect($dsn, $uid, $pwd) or die( "Fehler beim Datenbankaufruf" );
$sql1 = "Update Allcontacts SET T_Infolines='$Infoline' WHERE ContactID=$id";
$result1 = odbc_exec($conn1, $sql1);
}

if( !isset($update) ) {
?>
<FORM ACTION="Dank7.php" METHOD="POST">
Mein Problem:
nur wenn ich die Checkbox anklicke geht die Update-Anweisung durch, wenn nicht dannbekommen ich diese Fehlermeldung:

Warning: SQL error: [Microsoft][ODBC Microsoft Access Driver] Datentypen in Kriterienausdruck unverträglich., SQL state 22005 in SQLExecDirect in C:Webserver

Ich danke euch im voraus für die Hilfe!
Twolf

Matthias
25.03.2002, 14:02:01
Oje wieder odbc :)))

Welcher Datentyp ist T_Infolines in deiner db??

Hab da einer Vermutung. Lösch mal aus deiner Ceckbox VALUE="-1".

Klapps jetzt??

Matthias

Twolf
25.03.2002, 14:16:24
Klappt nicht!

Matthias
25.03.2002, 14:21:14
OK falsche Vermutung.

Welcher Datentyp ist T_Infolines jetzt in deiner db??

Die id übergibst du auch noch mit. Sehe ich nämlich im quelltext jetzt nicht.

Twolf
25.03.2002, 14:22:06
Daten Typ: Access, Ja/nein felder, Kontrollkästchen

Twolf
25.03.2002, 14:25:28
die Id wird über andereparameter weitergegeben:

Matthias
25.03.2002, 15:55:14
Dann liegt das doch an dem Wert deiner Checkbox.
Schreib mal 0 statt -1.

Twolf
25.03.2002, 16:09:00
Geht auch nicht!

Matthias
25.03.2002, 16:21:20
Klammer folgendes mal aus:

$conn1 = odbc_connect($dsn, $uid, $pwd) or die( "Fehler beim Datenbankaufruf" );
$sql1 = "Update Allcontacts SET T_Infolines='$Infoline' WHERE ContactID=$id";
$result1 = odbc_exec($conn1, $sql1);

und schreib:
echo $Infoline;

Was erscheint wenn du jetzt das Formular abschickst??

Twolf
25.03.2002, 16:39:57
die Datenbank wird nicht aktualisiert.
Es liegt scheinbar an den Wert der Checkbox.
Ich muss in der VALUE 2 Werte integrieren:
Bei Inaktiv= "0"
bei aktiviert="-1"
Aber Wie???

Matthias
25.03.2002, 17:14:11
eben. Deshalb wollte ich mal wissen was übergeben wird.

Normal müsste 0 übergeben werden. Wollte es aber noch mal testen. Kann auch sein das Infoline einfach leer ist.

Schreib mal bevor die db aktuallisiert wird:
if(!$Infoline) $Infoline=0;

Twolf
25.03.2002, 17:35:05
Echt Klasse! merci beaucoup!
Oh! Du mein Retter in der Not!
Grüße Twolf

Matthias
25.03.2002, 17:43:06
bidde bidde ;)))