substr mit Feld

  • $Table->AddField(new KTableField("Notizen", "substr({.Notizen}, 0, 50)", ""));

    Notizen ist ein String, den ich kürzen will. Jedoch funktioniert dieses nicht.

    $Table->AddField(new KTableField("Notizen", "{.Notizen}", ""));

    Dieses jedoch funktioniert. Wie kann ich dieses am besten einbauen?

  • du willst ja auch in einem String eine Methode aufrufen und das Funktioniert in Java nunmal nicht, ohne es getestet zu haben
    $Table->AddField(new KTableField("Notizen", ""+substr({.Notizen}, 0, 50)+"", ""));

    sowas in der Art

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Parse error: parse error, unexpected '{', expecting ')' in /var/www/localhost/htdocs/KFramework/CAS/Kontaktnotiz.php on line 1033

    das ist die fehler meldung!
    Ich muss irgendwie nen string durch das {.Notizen} ersetzen, ohne dass ich das { verwende!

  • also um das mal klar zu stellen, es geht hier um php?
    falls ja, macht der Syntax mit den {} und dem punkt da drinnen imho keinen sinn.

    aber falls es sich hierbei um einen string handeln sollte, solltest du wissen, das diese inerhalb von " eine Bedeutung habe (Ankündigung von variabele)

    also ende weder mit ' (hochkomma) einschließen oder jeweils ein \ vor drann setzen.

  • ja genau es geht um php

    das mit dem {.Notizen} macht wohl Sinn, da das Feld vorher schon eingelesen wurden und dieses nun nur noch so abrufbar ist!

    Es klappt ja auch wenn ich
    $Table->AddField(new KTableField("Notizen", "{.Notizen}", ""));

    nur halt nicht auf 50 Zeichen begrenzt!

  • $Table->AddField(new KTableField("Notizen", substr("{.Notizen}",1,2), ""));

    ergibt .N

    also kein Syntax Fehler!

    Wie würde das denn gehen, wenn man ein String aus einem normalen KStringFeld auslesen würde, vielleicht klappt es ja darüber?!?

  • Lagere den Substring mal aus und speiher das ergebnis in ner localen Variable, dass müsste Funktionieren, sofern das mit den inhalt in den Klammern korrekt ist, lass dir das am besten davor mal testweise mit echo ausgeben.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Zitat von No0ob

    Ich hab noch nie gesehen, dass jemand eine Variable mit {.Variable} aufruft.


    Ich schon, aber der ganze kram ist nicht so ganz einfach aufgebaut.
    Das ganze nennt sich variable Variablen, es sei denn ich vertue mich grad völlig.
    Ein wenig kompliziert, aber man kanns hier begreifen.
    Falls ihrs nicht versteht, kann ich das noch ein wenig ausführlicher machen, aber das ist für dieses Topic irelevant.

    Code
    $Table->AddField(new KTableField("Notizen", substr("{.Notizen}", 0, 50), ''));
    Code
    $Table->AddField(new KTableField("Notizen", substr($Notizen, 0, 50), ''));
    Code
    $Table->AddField(new KTableField("Notizen", substr(${Notizen}, 0, 50), ''));

    Davon sollte eins funktionieren, oder ich bin grad verplant.
    Wenn nicht, zeig bitte mal den Rest des Scripts, vorallem wie Notizen definiert wird.

  • @ DarkSyrus, das währe dann aber in folgenden Syntax:

    für Konstanten dürfte das stimmen:
    $Table->AddField(new KTableField("Notizen", substr(${Notizen}, 0, 50), ''));

    für Vars währe es so:
    $Table->AddField(new KTableField("Notizen", substr($$Notizen, 0, 50), ''));