Re: put problem - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Claus S. (1671 Beiträge) am Montag, 6.Januar.2003, 17:56.
    Re: put problem

      hallo jojo,

      schmeiss mal das zweite "put" raus, das führt nämlich zum eintrag in die db adressen, klar?

      gruss claus


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von jojo (9 Beiträge) am Freitag, 3.Januar.2003, 19:54.
    put problem

      hallo!
      bei folgenden code wird nur in db nutzer auch tats. was hinzugefügt.
      warum???
      kann mir jemand sagen, wie es richtig heissen müsste?

      gruß jojo

      hier der code
      <perl>
      get "Id==*", "adressen";
      $neu=$_amount_all+1;
      put["nutzer_name", "$nutzer_name", "nutzer_passwort", "$nutzer_passwort", "Numma", "$neu"], "nutzer";
      


      ["Vorname", "$Vorname", "Name", "$Name", "Geburtstag", "$Geburtstag", "bild", "$bild", "Strasse", "$Strasse", "PLZ", "$PLZ", "Ort", "$Ort", "Telefon", "$Telefon", "Handy", "$Handy", "EMail", "$EMail", "Homepage", "$Homepage", "Aktuelle_Firma", "$Aktuelle_Firma", "Position", "$Position", "Aktuelle_Branche", "$Aktuelle_Branche", "Telefon_gesch", "$Telefon_gesch", "Fax", "$Fax", "EMail_gesch", "$EMail_gesch", "Berufliche_Erfahrungen", "$Berufliche_Erfahrungen", "id", "$neu"], "adressen";


      </perl>
      
      eintrag hinzugefügt

     Antworten

    Beitrag von Friesecke (245 Beiträge) am Freitag, 3.Januar.2003, 21:38.
    Re: put problem

      Hallo jojo,

      die Variablen ohne "", also "Vorname", $Vorname,...

      hinter put/nutzer und vor ??/Adressen fehlt der put
      Gruß
      Fri

     Antworten

    Beitrag von jojo (9 Beiträge) am Montag, 6.Januar.2003, 17:46.
    Re: put problem

      hi fri,
      danke für den tipp, funzt aber nicht!

      jetzt habe ich folgendes problem:
      in der db "nutzer" klappt es nach wie vor, also eintrag wird hunzugefügt.
      in db "adressen" wird aber der erste eintrag dieser db einfach nochmal eingetragen....

      was ist nun los?

      gruß
      jojo



      hier der code:


      <perl>
      get "Id==*", "adressen";
      $neu=$_amount_all+1;
      put["nutzer_name", $nutzer_name, "nutzer_passwort", $nutzer_passwort, "Numma", $neu], "nutzer";
      put
      ["Vorname", $Vorname, "Name", $Name, "Geburtstag", $Geburtstag, "bild", $bild, "Strasse", $Strasse, "PLZ", $PLZ, "Ort", $Ort, "Telefon", $Telefon, "Handy", $Handy, "EMail", $EMail, "Homepage", $Homepage, "Aktuelle_Firma", $Aktuelle_Firma, "Position", $Position, "Aktuelle_Branche", $Aktuelle_Branche, "Telefon_gesch", $Telefon_gesch, "Fax", $Fax, "EMail_gesch", $EMail_gesch, "Berufliche_Erfahrungen", $Berufliche_Erfahrungen, "id", $neu], "adressen";
      </perl>
      
      eintrag hinzugefügt

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Montag, 6.Januar.2003, 17:56.
    Re: put problem

      hallo jojo,

      schmeiss mal das zweite "put" raus, das führt nämlich zum eintrag in die db adressen, klar?

      gruss claus

     Antworten

    Beitrag von jojo (9 Beiträge) am Montag, 6.Januar.2003, 18:09.
    Re: put problem

      hallo claus,

      also, habe es nun rausgenommen.
      nun wird in db nutzer alles schön eingetragen (wie beisher eben) aber in db adressen nicht!

      es soll aber ja in db adressen auch was eingetragen werden...

      hintergrund der ganzen geschichte:
      user kann seine daten eingeben, diese werden in db gespeichert.
      dann kann admin ihn freigeben.
      seine daten werden dann in 2 db's gesplittet...
      (das ist der punkt, wo wir gerade sind)
      ABER...
      in db adressen wird nichts geschrieben!

      gruß
      jojo

     Antworten

    Beitrag von Friesecke (245 Beiträge) am Montag, 6.Januar.2003, 21:35.
    Re: put problem

      Hallo jojo,

      das 2. put muß schon rein. Der Ausdruck sieht auch richtig aus. Irgendwo ist noch ne Macke.
      Du sagst ja, daß der put einen Satz anlegt, nur daß dieser mit dem ersten Satz identisch ist.
      Also mußt Du schrittweise an den Fehler herankommen. Schreib nur mal

      put ["Vorname", "Kurt"], "adressen";
      

      1. prüf mal, ob das ankommt.
      2. wenn nein, gibt es einen zusätzlichen leeren Datensatz in adressen oder passiert gar nichts?
         wenn ja, geh mal zu Variablen über, indem Du vor den put die Variable mit Kurt definierst :
      $test = "Kurt";
      put ["Vorname", $test], "adressen";
      

      3. wenn das ankommt, nimm als Variable mal Vorname :

      $Vorname = "Kurt";
      put ["Vorname", $Vorname], "adressen";
      

      4. wenn es immer noch funktioniert, wäre der nächste Schritt, die Zuweisung $Vorname = "Kurt"; zu entfernen.

      Spätestens jetzt müßtest Du wieder auf den Fehler kommen, daß der Vorname des ersten Satzes eingetragen wird.

      Sag mal Bescheid, ab wann es nicht mehr klappt.
      Dann machen wir von da an weiter.
      Gruß
      Fri

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 6.Januar.2003, 22:44.
    Re: put problem

      also ich sehe hier den fehler, das du die daten mit get aus adressen holst, und die eben geholten wieder wegspeicherst weil get alle vars vom formular überschreibt.
      Lösung:
      entweder im form name="Feld:=" schreiben und dann
      $_put{id}=$_amount_all+1;
      put undef,"adressen";
      
      oder mit
      put ["Vorname", $_get{Vorname}, "Name", $_get{Name}, "Geburtstag", $_get{Geburtstag},.......,$_get{Berufliche_Erfahrungen}, "id", $neu], "adressen";
      die daten wegspeichern.

      Dein get ist auch ineffizent
      get "id==#","adressen";
      holt dir die höchste eingetragene id aus der db.
      
      Dann muß aber die berechnung der neuen mit
      $_put{id}=$id+1;
      oder
      $neu=$id+1;
      
      berechnet werden.
      Mit dem get von dir wird die ganze db ausgelesen.

      Grüße

      Sander

     Antworten

    Beitrag von Friesecke (245 Beiträge) am Dienstag, 7.Januar.2003, 11:36.
    Re: put problem

      Hallo Sander,

      Du hast völlig recht.
      Er hat mit get "Id==*" die Datenbank durchlaufen lassen, um die Sätze zu zählen. Es liegt daran, daß Daten zum Vergleich gefunden wurden. * paßt ja auf alles. Dieser Vergleich endet auf Satz 1 und übernimmt beim folgenden put die Daten aus Satz 1.
      Mit get "Id==#" würde der Vergleich auf dem letzten Satz landen, und der put würde diese Daten übernehmen.

      Es geht aber auch noch anders. Es geht mit einem Vergleich, der nicht gefunden wird. Beim Id : Die Anzahl der Datensätze sei 100. Dann geht es mit einem get "Id==200" (jede Zahl über Anzahl der Datensätze).

      Die Datensätze werden gezählt. Sein Zählwert $neu = $_amount_all+1; wird richtig gebildet. Bei Name :
      get "Name==Zebra" : wenn es Zebra nicht gibt, dito.
      

      Also :
      $Name = "Alwin";
      get "Name==Zebra", "adressen";
      $neu = $_amount_all + 1;
      put ["Name", $Name], "adressen";
      

      speichert richtig den Namen Alwin ab, da Zebra nicht gefunden wurde.
      Gruß
      Fri

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 7.Januar.2003, 11:48.
    Re: put problem

      bei
      $Name = "Alwin";
      get "Name==Zebra", "adressen";
      $neu = $_amount_all + 1;
      put ["Name", $Name], "adressen";
      

      sollte dann eigentlich $Name leer sein, weil nicht vorhanden... hmmm.

     Antworten

    Beitrag von Friesecke (245 Beiträge) am Dienstag, 7.Januar.2003, 12:25.
    Re: put problem

      Hallo Sander,

      sollte man vermuten.
      Man kann sich ja auch die Id ausgeben lassen. Sie ist bei zulässigem Vergleich der entsprechende Wert.
      Bei "get==*" ist sie 0, also erster Satz.
      Bei "get==#" ist sie Anzahl Sätze - 1, wegen Beginn bei 0.
      Bei unzulässigem Vergleich get "Name==Zebra" ist sie leer bzw. undef.
      Gruß
      Fri

     Antworten

    Beitrag von Friesecke (245 Beiträge) am Dienstag, 7.Januar.2003, 12:20.
    Re: put problem

      Hallo Sander,

      Du hast völlig recht.
      Er hat mit get "Id==*" die Datenbank durchlaufen lassen, um die Sätze zu zählen. Es liegt daran, daß Daten zum Vergleich gefunden wurden. * paßt ja auf alles. Dieser Vergleich endet auf Satz 1 und übernimmt beim folgenden put die Daten aus Satz 1.
      Mit get "Id==#" würde der Vergleich auf dem letzten Satz landen, und der put würde diese Daten übernehmen.

      Es geht aber auch noch anders. Es geht mit einem Vergleich, der nicht gefunden wird. Beim Id : Die Anzahl der Datensätze sei 100. Dann geht es mit einem get "Id==200" (jede Zahl über Anzahl der Datensätze).

      Die Datensätze werden gezählt. Sein Zählwert $neu = $_amount_all+1; wird richtig gebildet. Bei Name :
      get "Name==Zebra" : wenn es Zebra nicht gibt, dito.
      

      Also :
      $Name = "Alwin";
      get "Name==Zebra", "adressen";
      $neu = $_amount_all + 1;
      put ["Name", $Name], "adressen";
      

      speichert richtig den Namen Alwin ab, da Zebra nicht gefunden wurde.
      Gruß
      Fri

     Antworten

    Beitrag von jojo (9 Beiträge) am Dienstag, 7.Januar.2003, 18:29.
    Re: put problem

      ich bin kein experte.
      verstehe nur bahnhof.
      die "putterei" soll doch lediglich die "übergebenen" werte in 2 versch. db's putten...

      was soll ich denn nun in meinen fall tun???

      idiotensicheres beispiel wäre nett!!!!!!

      gruße

      jojo

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 9.Januar.2003, 09:37.
    Re: put problem

      Hallo, jojo
      denke mal, daß du "nur" wissen willst, wieviel Datensätze in deiner Datenbank Nutzer stehen und dann aus dem Eingabeformular deines Templates für nen neuen Nutzer die eingegebenen Daten in zwei Datenbanken "splitten" willst.
      Erst mal nicht das get zum Belegen des Wertes von $_amount_all nehmen sondern nur per
      init deinedatenbank;
      $neu = $_amount_all;
      
      den gemeinsamen Schlüssel mit Wert füllen.
      Dann kannst du per einfaches put, wie du es gemacht hast, die Daten in die zwei Datenbanken abspeichern.
      Hintergrund:
      Wenn du mittels get die Datenbank lesen läßt, werden die Variablenwerte(Feldwerte des HTML-Forumlars), die offensichtlich die gleichen Namen wie die Feldnamen der Datenbank(en) haben, mit dem Inhalt des letzten Datensatzes belegt (Wie Sander schon geschrieben hat). Deshalb dann die "Duplizierung" des Datensatzes der db Adressen.
      Denke mal so könnte es gehen:
      <perl>
      init "adressen";
      $neu=$_amount_all+1;
      put ["nutzer_name", $nutzer_name, "nutzer_passwort", $nutzer_passwort, "Numma", $neu], "nutzer";
      put ["Vorname", $Vorname, "Name", $Name, "Geburtstag", $Geburtstag, "bild", $bild, "Strasse", $Strasse, "PLZ", $PLZ, "Ort", $Ort, "Telefon", $Telefon, "Handy", $Handy, "EMail", $EMail, "Homepage", $Homepage, "Aktuelle_Firma", $Aktuelle_Firma, "Position", $Position, "Aktuelle_Branche", $Aktuelle_Branche, "Telefon_gesch", $Telefon_gesch, "Fax", $Fax, "EMail_gesch", $EMail_gesch, "Berufliche_Erfahrungen", $Berufliche_Erfahrungen, "id", $neu], "adressen";
      </perl>
      
      Hoffe es funzt und hilft dir
      Gruß Ruben

     Antworten


     
 Liste der Einträge von 41400 bis 41550:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!