1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

php mag javascript nicht

    • Frage
  • MarvinTheRobot
  • 31. März 2004 um 15:10
  • Unerledigt
  • MarvinTheRobot
    26
    MarvinTheRobot
    Mitglied
    Reaktionen
    53
    Punkte
    7.308
    Beiträge
    1.368
    • 31. März 2004 um 15:10
    • #1

    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:

    PHP
    echo"
    <script language=\"JavaScript\" type=\"text/JavaScript\">
    function myfunc(num) { 
     
    jsql='SELECT name FROM artikel WHERE number='+num;
    
    
     ".$names=''."''+jsql;";
      $sql=mysql_query($names);
      $obj=mysql_fetch_object($sql,MYSQL_ASSOC);  
    
     echo'
     alert("'.$names.'");
    }
    </script>';
    Alles anzeigen



    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/

  • beefy
    13
    beefy
    Mitglied
    Reaktionen
    18
    Punkte
    1.683
    Beiträge
    304
    • 31. März 2004 um 15:21
    • #2

    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.

  • MarvinTheRobot
    26
    MarvinTheRobot
    Mitglied
    Reaktionen
    53
    Punkte
    7.308
    Beiträge
    1.368
    • 31. März 2004 um 15:30
    • #3

    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/

  • beefy
    13
    beefy
    Mitglied
    Reaktionen
    18
    Punkte
    1.683
    Beiträge
    304
    • 31. März 2004 um 16:24
    • #4

    Ich hab offenbar ein bissl mehr Ahnung von PHP und Programmierung im Allgemeinen als du ... nur so nebenbei. :winking_face:

    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.

  • RandomUser03
    1
    RandomUser03
    Gast
    • 31. März 2004 um 19:09
    • #5
    Zitat von MarvinTheRobot


    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...

    Alles anzeigen

    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?

  • MarvinTheRobot
    26
    MarvinTheRobot
    Mitglied
    Reaktionen
    53
    Punkte
    7.308
    Beiträge
    1.368
    • 1. April 2004 um 08:38
    • #6

    @ 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/

  • RandomUser03
    1
    RandomUser03
    Gast
    • 1. April 2004 um 12:39
    • #7

    erklär mal bitte genau, ich hab immer nochned ganz verstanden was es eigentlich ist :winking_face:

  • nixor
    3
    nixor
    Mitglied
    Punkte
    50
    Beiträge
    9
    • 27. April 2004 um 17:39
    • #8

    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!

  • MarvinTheRobot
    26
    MarvinTheRobot
    Mitglied
    Reaktionen
    53
    Punkte
    7.308
    Beiträge
    1.368
    • 27. April 2004 um 18:34
    • #9
    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/

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung