Zum Inhalt springen

[TYPO3 6.0] Gespeicherter String wird bei Integer-Inhalt als Anzahl der Integer in der DB ausgegeben

Erstellt am 12. Dezember 2012 · Noch keine Antworten

Tags: Fluid, Frage

Damoch ·

Hallo,

sorry wegen des Titels, keine Ahnung, wie ich das formulieren soll.

Ich speichere über eine fluid textbox einen String in eine Datenbanktabelle, die auf varchar(255) gestellt ist. Die zu speichernden Variablen sind im Model auf String gestellt.

Nach dem Speichern, soll Fluid mir den String anzeigen. Funktioniert auch (bei Strings).

Wenn ich jetzt allerdings reine Zahlen speichere (z.B. 11000), dann zeigt er mir nicht die Zahl selbst an, sondern er zählt die reinen Zahlen in der DB und zeigt mir die Nummer an, die wieviele reine Zahl es ist...

Beispiel:
Speichere ich nun:
(DB Feld message_text varchar(255))

Das ist ein Text 
222
Weiterer Text
444
555
Nochmal Text
666

dann gibt Fluid mir bei der 666 eine 4 aus, statt die Zahl selbst.
Schwer zu erklären, ich weiß. Wenn ich allerdings: 12.12.12 speichere, dann zeigt er mir den String korrekt an.

Also:

Speichern

$this->messageRepository->add($message);
$this->view->assign('messageStored', "Nachricht in Datenbank gespeichert.\"\);

(Escape am Ende wegen der Forensmilies..)

Ausgabe

$this->view->assign('storedMessage', $message->getMessages());

Ist $message nun eine reine Zahl, dann zeigt er bei {storedMessage} an, die wievielte Zahl es in der DB ist.
Das sieht wie ein Autoincrement einer uid aus, ist aber _nicht_ die uid.

Ich hoffe, ihr versteht mich.

Viele Grüße

EDIT:

Ich habe herausgefunden, dass er mir den Array komisch abspeichert:

array(24 items)
   0 => '- Bitte wählen -' (17 chars)
   sdffddfs => 'sdffddfs' (8 chars)
   sdvfdsf => 'sdvfdsf' (7 chars)
    => '' (0 chars)
   Das ist eine weitere Nachricht! => 'Das ist eine weitere Nachricht!' (31 chars)
   yxcxycyxc => 'yxcxycyxc' (9 chars)
   j,jh => 'j,jh' (4 chars)
   1 => '555' (3 chars)
   2 => '445' (3 chars)
   lol => 'lol' (3 chars)
   Heute nur 3,99! => 'Heute nur 3,99!' (15 chars)

Da erkennt man, dass er Zahlen falsch speichert. Woran kann das liegen?

EDIT No. 2:

Okay...es lag an einem:

array_unshift($allMessagesArray, '- Bitte wählen -' );

Damit wollte ich, dass der erste Wert des Arrays 0 und - Bitte wählen - ist. So klappt das allerdings nicht...

EDIT No. 3:

Okay, für die Nachwelt. Wenn jemand den ersten Wert eines Arrays, gefolgt von einem anderen Array, manipulieren möchte, mit z.b. "- Bitte wählen -", dann habe ich das folgendermaßen gelöst:

    $arrayone=array(""=>"- Bitte wählen -"\) + $allMessagesArray;

    return $arrayone;

(ohne den \)

FALL (von selbst) ERLEDIGT! ^^

Viele Grüße