Daten auslesen und in andere Tabelle schreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten auslesen und in andere Tabelle schreiben

    Hallo Zusammen,

    ich habe folgendes Problem und stelle mich vieleicht als Newbie einwenig dämlich an.
    Ich möchte gerne die "ID" und den "username" von einerm Login (Tabelle: "linker_login") in die Tabelle "linker_wait" im Zuge eines Formulares übertragen.
    Beide Tabellen befinden sich in der gleichen Datenbank.
    Ich habe mal folgendes in mein Formularscript geschrieben und mal nur für die "ID" probiert:
    PHP-Code:
    <?php
    $abfrage 
    "SELECT id FROM db_phplinks.linker_login";
      
    $ergebnis mysql_query($abfrage);
      while(
    $row mysql_fetch_object($ergebnis))
        {
        
    $insert "INSERT INTO `linker_wait` (`id`)
                            VALUES ('id')"
    ;

       if(!
    $insert) echo "Der Eintrag konnte nicht erstellt werden!";
       else echo 
    "Der Eintrag wurde erfolgreich erstellt!";
       }
    ?>
    Es wird mir, ohne daß das Formular abgesendet wurde, angezeigt:
    "Der Eintrag wurde erfolgreich erstellt!", es erfolgt aber kein Eintrag in die DB-Tabelle (soll ja auch erst mit den Formulardaten zusammen passieren).

    Gehe ich da falsch ran, oder wie mach Ihr sowas?

    Airis

  • #2
    Re: Daten auslesen und in andere Tabelle schreiben

    Original geschrieben von Airis
    es erfolgt aber kein Eintrag in die DB-Tabelle
    Ja, und? Wer sollte das denn da auch eintragen?

    Original geschrieben von Airis
    (soll ja auch erst mit den Formulardaten zusammen passieren).
    Ich sehe da keine Formulardaten.
    hopka.net!

    Kommentar


    • #3
      das ist das, was du machst: du weist der variablen $abfrage einen wert zu, nämlich deine INSERT abfrage. dann prüfst du, ob die variable $abfrage keinen wert aufweist. willst du das?

      tip: die INSERT abfrage macht alleine garnix, wenn man sie nicht auch aufruft: mysql_query. bei der ersten hast dus gemacht.

      alles andere ist suchen und lesen.

      Kommentar


      • #4
        Hallo Ihr beiden,

        besten Dank für Eure Antworten auf mein Posing, komme aber nicht so recht weiter.

        @peetjoff :

        Habe mich zwischenzeitlich durch das halbe Forum gelesen und bin immer wieder auf JOIN-Statements gestoßen, ist das der richtige Weg oder ist es besser so wie ich begonnen habe?
        Wie gesagt, der User befindet sich in einer Login-Session. Kann man hier doch die Session-Id weitergeben oder?
        Bin leider noch am lernen, könntest Du mir zeigen wie ich das Statement richtig machen muß?


        @Hopka:
        quote:
        --------------------------------------------------------------------------------
        Original geschrieben von Airis
        es erfolgt aber kein Eintrag in die DB-Tabelle
        --------------------------------------------------------------------------------


        Ja, und? Wer sollte das denn da auch eintragen?
        Sorry, wenn ich fragte, aber ich hatte ja eine Ausgabe, wie bereits erwähnt.

        quote:
        --------------------------------------------------------------------------------
        Original geschrieben von Airis
        (soll ja auch erst mit den Formulardaten zusammen passieren).
        --------------------------------------------------------------------------------


        Ich sehe da keine Formulardaten.
        Sorry, ich habe auch nur den Teil gepostet, den es betrifft.

        Kommentar


        • #5
          Original geschrieben von Airis
          Sorry, wenn ich fragte, aber ich hatte ja eine Ausgabe, wie bereits erwähnt.
          Ich wollte dich lediglich darauf hinweisen, dass dir das Statement, dass du dir zusammengebaut hast nichts nützt, solange du es nicht via mysql_query an die Datenbank schickst (was peetjoff dir übrigens auch sagen wollte) - es ist daher auch nicht weiter verwunderlich, dass eine Ausgabe erscheint, denn du prüfst nur, ob die Variable $insert einen Wert hat, der nicht false entspricht. Das ist aber immer der Fall, weil da dein Statement drin steht.

          Übrigens bringt dir VALUES ('id') auch nix - da solltest du den Inhalt einer PHP-Variablen reinsetzen.

          Original geschrieben von Airis
          Sorry, ich habe auch nur den Teil gepostet, den es betrifft.
          Wieso schreibst du dann was von Formulardaten, wenn das scheinbar doch unwichtig ist?
          hopka.net!

          Kommentar


          • #6
            Hi Hopka,

            kannst Du mir dann zeigen wie
            solange du es nicht via mysql_query an die Datenbank schickst
            ich das hinbekomme.
            Ist es möglich mein Statement zu korregieren?

            Airis

            Kommentar


            • #7
              lese auf www.schattenbaum.net nach, wie man mit mysql arbeitet.

              Kommentar


              • #8
                Hallo peetjoff,

                Danke für Deine Direkthilfe. Ich bin nun auf folgendem Stand:
                PHP-Code:
                <?php

                $auslesen 
                mysql_query("SELECT id FROM login
                WHERE nickname='"
                .$_SESSION["nickname"]."'");

                while(
                $row=mysql_fetch_array($auslesenMYSQL_ASSOC)) {

                $eintragen=mysql_query("INSERT INTO wait (id) VALUES ('".$row["id"]."')");

                $testen=MYSQL_NUMROWS(mysql_query("SELECT * FROM wait WHERE id ='".$row["id"]."'"));

                if(
                $testen==1){
                echo 
                "Die ID ".$row["id"]." wurde erfolgreich eingetragen.<br>";
                }
                else{
                echo 
                "Fehler! Die ID ".$row["id"]." wurde nicht eingetragen.<br>";
                }

                }
                ?>
                Es wird nun einmal die "ID" in die Tabelle "wait" eingetragen. Ich habe auch zwischenzeitlich mit dem Script herumgespielt, komme aber nicht dahinter woran es liegt.
                Ich habe mehrere Einträge in der "Login-Tabelle", wenn ich nun bei neu geöffnetem Browser ein Login/Session-Anmeldung durchführe kommt anschließend auf der nächsten Seite :
                "Fehler! Die ID 123 wurde nicht eingetragen.
                Woran könnte das liegen?

                Airis

                Kommentar


                • #9
                  also.
                  du solltest erst mal GENAU beschreiben, was passieren soll,
                  sonst kann die hier keiner helfen, ohne zeit zu verschwenden.

                  wozu wird das formular verwendet? stell das formular ins forum!
                  wie sollen die beiden tabellen genau berührt werden?

                  speziell wegen deiner fehlermeldung ...:
                  woher kommt $_SESSION["nickname"] ?
                  gibts die id 123 überhaupt in deiner tabelle login?

                  Kommentar


                  • #10
                    Hallo peetjoff,

                    also ich habe ein Login mit Session.
                    1. Schritt: Ein User logt sich ein oder meldet sich an, wenn er einen Links schalten möchte.
                    2. Schritt: Der User gelangt auf die Formularseite (es wird seine ID mit dem Schnips von der Login-Tabelle in die Wait-Tabelle geschrieben) und gibt seine Daten ein.
                    3. Schritt: Er sendet die Daten zu der Wait-Tabelle und updatet den Eintrag mit der zuvor eingetragenen ID. FERTIG

                    Hier das Formularscript (es ist aus einem sehr umfangreichen Link-Script):
                    PHP-Code:
                    <?php
                    //add.php
                    session_start();
                    ?>

                    <?php
                    if(!isset($_SESSION["nickname"]))
                       {
                       
                    header ("Location:login4.html");
                       
                    //echo "Bitte erst einloggen";
                       
                    exit;
                       }
                    ?>

                    <?php
                    //=====================================
                    // id-tranfer von login
                    //=====================================

                    $auslesen mysql_query("SELECT id FROM login
                    WHERE nickname='"
                    .$_SESSION["nickname"]."'");

                    while(
                    $row=mysql_fetch_array($auslesenMYSQL_ASSOC)) {

                    $eintragen=mysql_query("INSERT INTO wait (id) VALUES ('".$row["id"]."')");

                    $testen=MYSQL_NUMROWS(mysql_query("SELECT * FROM wait WHERE id ='".$row["id"]."'"));

                    if(
                    $testen==1){
                    echo 
                    "Die ID ".$row["id"]." wurde erfolgreich eingetragen.<br>";
                    }
                    else{
                    echo 
                    "Fehler! Die ID ".$row["id"]." wurde nicht eingetragen.<br>";
                    }

                    }
                    ?>

                    <?php
                    //=====================================
                    // LINKER Category Engine
                    //=====================================
                    // Filename : add.php
                    // Path  : Main directory
                    // last update : 2002/03/13
                    // Desc : Add User new Link
                    //=====================================


                    //=====================================
                    // File include part
                    //=====================================

                    $time1 microtime();
                    include (
                    "./function/base_info.php");
                    include (
                    "./function/main_func.php");
                    include (
                    "./function/$Sdb_type.php");
                    include (
                    "./function/template.php");
                    include (
                    "./function/userfield_info.php");

                    $lan_dir $HTTP_COOKIE_VARS[cook_lan];
                    if (
                    $lan_dir && file_exists("./$lan_dir/u_common.php"))
                    include (
                    "./$lan_dir/u_common.php");
                    else include (
                    "./$Slang/u_common.php");


                    //=====================================
                    // Prepare progrom
                    //=====================================

                    isset($_POST) ? extract($_POST) : extract($HTTP_POST_VARS) ;
                    isset(
                    $_FILES) ? extract($_FILES) : extract($HTTP_POST_FILES) ;

                    $db = new DB_Sql($Sdb_host,$Sdb_user,$Sdb_pass,$Sselect_db);
                    $tpl = new Stemplate($Stemplate);

                    //=====================================

                    $tpl->assign( array(
                    TEMPLATE => $Stemplate,
                    DOMAIN         => $Sdomain,
                    CHARSET        => $Scharset,
                    MWIDTH         => $Smain_width,
                    BGCOLOR        => $Sbgcolor,
                    ALIGN        => $Salign,
                    PAGE_HEADER  => implode("",file("$Stemplate/header.html")),
                    PAGE_FOOTER  => implode("",file("$Stemplate/footer.html"))
                    ));

                    show_menu();
                    show_here("","",$l_link_add);
                    show_search();


                    //=====================================
                    // Link data Input Form part
                    //=====================================

                    if (!$switch) {

                    //template define
                    $tpl->define(    array(add => "add.html"));
                    $tpl->dyn_define "tdcol""add" );
                    $tpl->dyn_define("upfile","add");

                    // Make category selectbox
                    $tpl->assign( array( VIEW_CAT => view_category("","",$sid,1) ));

                    // User Filed
                    for ($k=;$k<=;$k++) {
                    $u_name = ${"u_user" $k};
                    $u_fname "user"$k;

                        if(
                    $u_name) {
                        
                    $tpl->assign( array( ADD_NAME    => $u_nameADD_RNAME    => $u_fname ));
                        
                    $tpl->parse("TDCOL"".tdcol");
                        }
                    }

                    // File upload

                    if ($Sfupload) {
                    $tpl->assign(array(L_UPLOAD => $l_upload ));
                    $tpl->parse("UPFILE""upfile");
                    }


                    // Language
                    $tpl->assign( array(
                    L_LINK_ADD => $l_link_add,
                    L_ERROR_1 => $l_error_1,
                    L_ERROR_2 => $l_error_2,
                    L_ERROR_3 => $l_error_3,
                    L_ERROR_4 => $l_error_4,
                    L_ERROR_5 => $l_error_5,
                    L_ERROR_6 => $l_error_6,
                    L_ERROR_7 => $l_error_7,
                    L_ADD_PRE_TXT => $l_add_pre_txt,
                    L_TITLE     => $l_title,
                    L_CAT => $l_cat,
                    L_SELECT_CAT => $l_select_cat,
                    L_SCONT => $l_scont,
                    L_LCONT => $l_lcont,
                    L_NAME => $l_name,
                    L_EMAIL => $l_email,
                    L_PASS => $l_pass,
                    L_ADD_SUBMIT => $l_add_submit,
                    L_ADD_HEAD => $l_add_head
                    ));


                    $tpl->parse(MAIN,"add");
                    $tpl->simprint("MAIN");

                    }


                    //=====================================
                    // Insert Database
                    //=====================================

                    if ($switch=='add') {


                    $tpl->define(    array( add_sub => "add_sub.html" ));
                    $tpl->dyn_define "tdcol""add_sub" );
                    $tpl->dyn_define "upfile""add_sub" );

                    if (!
                    $parenterrmsg($l_error_1);
                    if (!
                    $titleerrmsg($l_error_2);
                    if (!
                    $urlerrmsg($l_error_3);
                    if (!
                    $sconterrmsg($l_error_4);
                    if (!
                    $nameerrmsg($l_error_5);
                    if (!
                    $emailerrmsg($l_error_6);
                    if (!
                    $passwderrmsg($l_error_7);
                    if (!
                    check_email($email)) errmsg ($l_error_8);

                    $url add_http($url);
                    $time time();

                    //=====================================
                    //  fileupload part
                    //=====================================

                    if ($Sfupload && $upfile[name] && $upfile[size] >0) {

                    $upfile_ext substr($upfile[name],-strlen(strrchr($upfile[name],"."))+1);

                    if (
                    $Sfupext)     {
                    $extar = @implode("|"explode(",",$Sfupext));
                    if (!
                    ereg($extar,$upfile_ext)) errmsg ($l_error_9);
                    }



                    $check_upload move_uploaded_file($upfile[tmp_name], "upfile/$md5");
                    if (
                    $check_upload) {

                        
                    $add_filear[0]= $upfile[name];
                        
                    $add_filear[1]= $md5;
                        
                    $add_filear[2]= $upfile[size];
                        
                    $add_filear[3]= $upfile[type];
                        
                    $add_filear[4]= $upfile_ext;
                        
                    $add_filear[5]= 0;
                        
                    $add_file serialize($add_filear);

                      }
                    }

                    //---------------------------------
                    // Plus Link num and Selective query
                    //---------------------------------


                    $db->query("select path,pathtxt from {$Stb_name}_CAT where sid='$parent'");
                    $row $db->nrecord();


                    if (
                    $Saddtype) {            // 1 -> wait 0 -> link
                    $maxnum maxnum("{$Stb_name}_WAIT","sid");


                    mysql_select_db("db_phplinks_de");



                    $sid stripslashes($maxnum);
                    $parent stripslashes($parent);
                    $title stripslashes($title);
                    $scont stripslashes($scont);
                    $lcont stripslashes($lcont);
                    $url stripslashes($url);
                    $path stripslashes($row[path]);
                    $name stripslashes($name);
                    $email stripslashes($email);
                    $passwd stripslashes($passwd);
                    $upfile stripslashes($add_file);
                    $user1stripslashes($user1);
                    $user2stripslashes($user2);
                    $user3stripslashes($user3);
                    $user4stripslashes($user4);
                    $user5stripslashes($user5);


                    $query "UPDATE {$Stb_name}_WAIT SET  WHERE id

                    sid = '
                    $maxnum',
                    parent = '
                    $parent',
                    title = '
                    $title',
                    scont = '
                    $scont',
                    lcont = '
                    $lcont',
                    url = '
                    $url',
                    path = '
                    $row[path]',
                    name = '
                    $name',
                    email ='
                    $email',
                    passwd =  '" 
                    md5($passwd) . "',
                    upfile = '
                    $add_file',
                    user1='
                    $user1',
                    user2='
                    $user2',
                    user3='
                    $user3',
                    user4='
                    $user4',
                    user5='
                    $user5'
                    "
                    ;
                    }

                    else {


                    $maxnum maxnum("{$Stb_name}_LINK","sid");

                    mysql_select_db("db_phplinks_de");

                    $query "insert into {$Stb_name}_LINK SET
                    sid = '
                    $maxnum',
                    parent = '
                    $parent',
                    title = '
                    $title',
                    scont = '
                    $scont',
                    lcont = '
                    $lcont',
                    url = '
                    $url',
                    uptime = '
                    $time',
                    path = '
                    $row[path]',
                    pathtxt = '
                    $row[pathtxt]',
                    name = '
                    $name',
                    email ='
                    $email',
                    passwd = '" 
                    md5($passwd) . "',
                    upfile = '
                    $add_file',
                    user1='
                    $user1',
                    user2='
                    $user2',
                    user3='
                    $user3',
                    user4='
                    $user4',
                    user5='
                    $user5',
                    c_new = 'Y'
                    "
                    ;


                    //---------------------------------
                    // parent last update time update
                    //---------------------------------

                    $parent_array = @explode("/"$row[path]);
                    for (
                    $i=0$i<count($parent_array) ;$i++)
                    {
                        
                    $parent_last[] = "sid = $parent_array[$i]";
                    }
                    $parent_update = @implode(" or " $parent_last);
                    $db->query("update {$Stb_name}_CAT set bingo1 = '$time' where $parent_update");

                    //---------------------------------
                    // plus sub_link num
                    //---------------------------------

                    if (isset($parent)) $db->query("update {$Stb_name}_CAT set sub_link = sub_link+1 where sid='$parent'");

                    }

                    $db->query($query);


                    //---------------------------------
                    // Add output Print
                    //---------------------------------

                    $category str_replace($Ssepchar$Sarrow ,stripslashes($row[pathtxt]));

                    $tpl->assign( array(
                    CATEGORY            => htmlspecial($category),
                    TITLE                    => htmlspecial($title),
                    SCONT                => htmlspecial($scont),
                    LCONT                => nl2br(htmlspecial($lcont)),
                    NAME                    => htmlspecial($name),
                    EMAIL                => htmlspecial($email),
                    URL                    => htmlspecial($url),
                    PASSWD            => htmlspecial($passwd)
                        )
                    );


                    // User field
                    for ($k=;$k<=;$k++) {
                    $u_name = ${"u_user" $k};
                    $u_fname = ${"user"$k};

                        if(
                    $u_name) {
                        
                    $tpl->assign( array( ADD_NAME    => $u_nameADD_VALUE    => htmlspecial($u_fname) ));
                        
                    $tpl->parse("TDCOL"".tdcol");
                        }
                    }


                    // File Upload
                    if ($Sfupload) {
                    $tpl->assign( array( L_UPLOAD => $l_upload UPFILE_NAME => $upfile[name] ));
                    $tpl->parse("UPFILE""upfile");
                    }



                    $tpl->assign( array(
                    L_ADDED_CONTENT => $l_added_content,
                    L_TITLE     => $l_title,
                    L_CAT => $l_cat,
                    L_SCONT => $l_scont,
                    L_LCONT => $l_lcont,
                    L_NAME => $l_name,
                    L_EMAIL => $l_email,
                    L_PASS => $l_pass
                    ));


                    $tpl->parse("MAIN","add_sub");
                    $tpl->simprint("MAIN");
                    }


                    //====================================
                    // Establish time
                    //====================================

                    if ($Stime == "Y"check_time($time1);

                    ?>
                    Es wird momentan nur einmal eine "ID" in die Tabelle "wait" eingetragen, obwohl mehere ID-Eintäge in der Login-Tabelle vorhanden sind.
                    Ich möchte auch, das jeweils die neuste Zeile der Tabelle "wait" innerhalb der Session ein "UPDATE" erhält (Scipt-Zeile 245). Im Moment wird jeweils der vorhandene Eintrag geupdatet.

                    Kann mir jemand weiterhelfen?
                    Airis

                    Kommentar

                    Lädt...
                    X