php mag javascript nicht

  • ich brauchs aber... *G* oder jemand kann mir eine bessere lösung bieten. :)

    ich hab in einem formular ein feld mit onChange=javascript:meinefunction(this.value)

    soweit so gut, das wird an

    function meinefunction(meinvalue) auch übergeben.

    aber, wenn ich jetz meinvalue mit php in einem sql statement verarbeiten will und mir das ganze als object zurückgeben will zeigt er mir die lange nase...

    folgendes code fragment:



    sollte ja eigentlich beim alert das sql statement ausgeben... schmecks... da krieg ich ein ''+jsql; und sonst nix. ich hab schon alles mögliche versucht.... weiss wer rat?

    lg, Phil.

    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    http://www.chuckbronson.net/

  • Naja, so wird das leider nicht funktioneren. PHP wird server-seitig ausgeführt, Javascript aber am Client! No way...

    Achja,

    PHP
    mysql_fetch_object($sql,MYSQL_ASSOC);

    ist falsch, du meinst wahrscheinlich

    PHP
    mysql_fetch_array($sql,MYSQL_ASSOC);

    was wiederum mit

    PHP
    mysql_fetch_assoc($sql)

    ident ist.

  • mysql_fetch_object is net falsch.... nur so nebenbei. :)

    $obj=mysql_fetch_object() fetcht mir die die felder in ein (ich glaub so nennt man das) assoziatives array und somit kann ich dann mit

    $obj->feldname auf die felder zugreifen.

    hab ich mir so angewöhnt, funktioniert prächtig....

    guckst du hier: http://www.selfphp.de/funktionsrefer…etch_object.php

    :)

    lg, Phil.


    EDIT: vielleicht hat ja wer einen lösungsansatz....

    es geht darum. in einem formular können bestellungen erfasst werden, ich hab 1 feld zur verfügung und schreib da was rein, beim klick auf (+ noch ein feld) erscheint ein weiteres feld usw usf.... solang bis ich auf absenden klick, dann kommts in die DB.

    nachdem die artikel aber schon ziemlich viel sind und nie jemand genau gleich die artikelnamen eingibt und das natürlich irrsinnig viel speicher verbraucht hab ich mir gedacht ich geb die genauen artikelnummern als feld dazu, bei eingabe von dieser wird dann automatisch das feld mit dem artikelnamen ausgefüllt.

    anders als mit javascript wüsst ich nicht wie man das lösen könnte...

    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    http://www.chuckbronson.net/

  • Ich hab offenbar ein bissl mehr Ahnung von PHP und Programmierung im Allgemeinen als du ... nur so nebenbei. ;)

    Als primäre Informationsquelle zu PHP würde ich immer das ausgezeichnete Manual empfehlen, dort hättest du auch alles wissenswerte über mysql_fetch_object() gefunden.

    Einerseits kann man dieser Funktion gar keinen 2. Parameter übergeben. Andererseits müsstest du mir mal den "Sinn" darin erklären, ein Objekt assoziativ bzw. nicht assoziativ zu machen - das gehört zu den Arrays, nicht zu den Objekten.

    Dazu steht auch schön im Manual:

    Zitat von PHP Manual

    mysql_fetch_object() is similar to mysql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).


    Nona.

    Ein assoziatives Array bekommst du in PHP nun entweder durch mysql_fetch_array() oder durch mysql_fetch_assoc(), wie ich es dir hier auch hergeschrieben habe. Bitte lies dir die Dokumentation durch.

  • wenn du einfach nen seperaten php teil machst für den eintrag in die datenbank und das javascript und das formular ausserhalb des php teil machst und das formular action="<?php echo $PHP_SELF; ?>" machst?

  • @ tschebel: das problem ist wohl dass ich schon daten an diese seite übergeben hab, und die müsste ich dann jedesmal wieder mitschicken was doch net wirklich gschickt ist...

    @ beefy: danke für deine ausführungen, ich werd nie wieder irgend ein anderes manual als das geniale php manual verwenden... und wegen mysql_fetch_object()....

    Unter Berücksichtigung der Ausführungsgeschwindigkeit ist diese Funktion identisch zu mysql_fetch_array() und fast so schnell wie mysql_fetch_row() (der Unterschied ist unwesentlich).

    das leben ist schön... :) der rest is mir egal, für das was ich daten aus einer DB brauch reicht oben genannter "böser" befehl auch.

    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    http://www.chuckbronson.net/

  • erklär mal bitte genau, ich hab immer nochned ganz verstanden was es eigentlich ist ;)

  • seas MarvinTheRobot!

    verstehe zwar dein problem und deinen Quelltext nicht ganz, aber würd mal sagen du solltest mal alle fehler beseitigen!
    da du ja anscheinend der Variablen $names etwas zuweisen willst, und da es das ende des befehls echo ist gehört auf jeden fallen ein ; und kein . da du ja sonst zwei strings verbindest!

    was du in diesem teil: ''."''+jsql;"; bezweckst ist mir schleierhaft. wenn ich dich richtig verstanden habe, solltest du das ganze einfach so machen:

    var jsql="SELECT name FROM artikel WHERE number="+num+";";

    LEIDER muß ich dir sagen, daß es so prinzipiell nicht funktioniert, wenn du schon umbedingt beides kombiniert verwenden willst, machs doch so:

    <?$name="geht do";?>
    <script language="JavaScript">
    <!--
    document.write('<?echo $name;?>');
    //-->
    </script>

    an deiner stelle würd ich alles in php machen!

    hoffe ich konnte dir helfen!


    mfg,

    nixor!

  • Zitat von nixor

    seas MarvinTheRobot!

    .....das ende des befehls echo ist gehört auf jeden fallen ein ; und kein . da du ja sonst zwei strings verbindest!.....


    genau da lag mein fehler. er hat mir natürlich somit alles im quellcode ausgegeben und net wirklich php verarbeitet sondern einfach die variablen ausgegeben! thx! :) so einfach kanns gehn. :)

    lg, Phil.

    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    http://www.chuckbronson.net/

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!