Mailinglisten-Archive |
hallo stefan, erstmal danke für die antwort: noch kurioseres problem, ich hab in der tabelle 9 Datensaetze, wenn ich einen neuen Datensatz hinzufügen möchte fülle ich die felder in meinen formular aus (lasse das id feld leer), der datensatz wird dann mit id 10 angelegt, (das feld id hat jetzt die "karakteristiken " die du mir genannt hast , war vorher ein INT :) so wenn ich nun versuche einen weiteren Datensatz anzulegen dann passiert wieder nichts, sei denn ich vergeb die id per hand, komisch oder? wenn ich den datensatz mit id 10 lösche und dann einen DS anlegen möchte dann wird die 10 wieder automatisch vergeben....... tür steht auf für tips :) falls es sich jemand angucken möchte kann er gerne den link per mail anfordern wegen den username und passwort folgende Funktion hinterlegt das formular was ich benötige um die datensaetze zu aendern oder anzulegen, vielleicht ist da ja nen fehler drin :) bei mir garantiert *g* function manageData_submit( $cmd ) { global $link, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg; $pResult = mysql_list_fields( $dbname, $tablename ); $num = mysql_num_fields( $pResult ); mysql_select_db( $dbname, $link ); if( $cmd == "add" ) $queryStr = "INSERT INTO $tablename VALUES ("; else if( $cmd == "edit" ) $queryStr = "REPLACE INTO $tablename VALUES ("; for( $i = 0; $i < $num-1; $i++ ) { $field = mysql_fetch_field( $pResult ); $func = $GLOBALS[$field->name. "_function"]; if( $func != "" ) $queryStr .= " $func("; if( $field->numeric == 1 ) { $queryStr .= $GLOBALS[$field->name]; if( $func != "" ) $queryStr .= "),"; else $queryStr .= ","; } else { $queryStr .= "'" . $GLOBALS[$field->name]; if( $func != "" ) $queryStr .= "'),"; else $queryStr .= "',"; } } $field = mysql_fetch_field( $pResult ); if( $field->numeric == 1 ) $queryStr .= $GLOBALS[$field->name] . ")"; else $queryStr .= "'" . $GLOBALS[$field->name] . "')"; mysql_query( $queryStr , $link ); $errMsg = mysql_error(); viewData( "" ); } > wie bewerkstelligt man das wenn man einen neuen datensatz > anlegt das die id > des jeweiligen DS sich automatisch eintraegt? Ganz einfach, das erledigt mysql von alleine. Dazu mußt Du in der Tabellendefinition den Parameter AUTO_INCREMENT in der Spalte mit angeben. Etwa so: CREATE TABLE Test( ID varchar(255) NOT NULL AUTO_INCREMENT, PRIMARY KEY ( ID) ); Gruß Stefan
php::bar PHP Wiki - Listenarchive