ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / PHP / MySQL Probleme / SQL: Anzahl Zeichen in Datentyp


Seite 1 von 1

PhoenixDH schrieb am 08.02.2005 um 20:48 Uhr

Kann mir mal bitte jemand ne Übersicht geben wieviele Zeichen man in verschiedenen Datentypern speichern kann.

Z.B. in Smalltext, largetext, varchar etc.

Wäre sehr Dankbar !

theDon schrieb am 08.02.2005 um 22:50 Uhr

http://dev.mysql.com/doc/mysql/en/column-types.html

PhoenixDH schrieb am 08.02.2005 um 22:53 Uhr

Ich glaub ich nehm dann doch varchar(255), bei den anderen blicke ich net durch !

theDon schrieb am 09.02.2005 um 15:39 Uhr

smalltext ist eigtl aequivalent zu varchar(255).

PhoenixDH schrieb am 09.02.2005 um 16:24 Uhr

D.h. in ein Smalltext gehen 255 Zeichen rein, richtig ?

Denn ich bin da grad am basteln wegen dem erweiterten Profil, und mir ist da aufgefallen, das egal was ich als Typ im Adfmincenter für ein neues Feld nehme, ich immer nur die Anzahl an Zeichen speichern kann, die ich an einer Stelle in der Datenbank festlege !

Deswegen suche ich jetzt was das auf 255 begrenzt ist, das man da keinen Roman eingeben kann !

Aber ich scheine ja jetzt eine Lösung zu haben !

Danke !

MrNase schrieb am 09.02.2005 um 19:13 Uhr

Du denkst aber dran, dass der Text dann mitten drin nach 255 Zeichen abgeschnitten wurde? Da kannst du besser einen Check per Javascript einbauen welches überprüft ob der Text länger als 255 Zeichen ist.

PhoenixDH schrieb am 09.02.2005 um 19:31 Uhr

Ich weiß das er abgeschnitten wird, hab da aber schon ne Funktion für die mir ... dransetzt !

Hab da aber ein Probelm die Funktion einzusetzen ! Wie muss ich das ändern, das es für alle Felder gemacht wird ( die ... Erweiterung meinte ich)

// Erweitertes Profil

$r_userext = thwb_query("SELECT uek.extid, uek.extname, ue.extvalue, uek.exttype "
                      . "  FROM ".$pref."userextkeys uek "
                      . "  LEFT "
                      . "  JOIN ".$pref."userext ue "
                      . "    on ue.extid = uek.extid "
                      . "   AND userid   ='$user[userid]'"
                      . " ORDER BY displayorder ");


while( $userext = mysql_fetch_array($r_userext) )
{
        thwb_query("SELECT 1 "
                 . "  FROM ".$pref."userext "
                 . " WHERE userid = " . $g_user[userid]
                 . "   AND extid  = " . $userext['extid'] ); 

        if( mysql_affected_rows() > 0 ) 
        {
        if( !thwb_query("UPDATE ".$pref."userext "
                      . "   SET extvalue ='".addslashes(EditboxDecode($userextedit[$userext['extname']]) ). "'"
                          . " WHERE userid = " . $g_user[userid]
                          . "   AND extid  = " . $userext['extid'] ) )  
            {
        message("Fehler","Interner Fehler!");
            }
        }
        else
        {
            if( !thwb_query("INSERT "
                          . "  INTO ".$pref."userext (userid, extid, extvalue) "
                      . "VALUES (" . $g_user[userid] . "," . $userext['extid'] . ","
                          .         " '" . addslashes(EditboxDecode($userextedit[$userext['extname']]) ). "')") )
            {
        message("Fehler","Interner Fehler!");
        }
        }
}

// Ende Erweitertes Profil

Die Funktion

function chopstring($string, $maxchars)
{
    if( strlen($string) > $maxchars )
        $string = substr($string, 0, ($maxchars - 3)) . '...';
            
    return $string;    
    
}

Seite 1 von 1