GCF-Board

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!

GCF-Board » Web-Programmierung » tabelle 1 in tabelle 2 » Threadansicht

Autor Thread - Seiten: -1-
000
03.04.2008, 15:50 Uhr
CaspeR

Foren Praktikant


hallo,
ich möchte die datensätze aus tabelle1(profil) in tabelle2(users) schreiben.
In tabelle2 sind username,password,mail,name,age,ort,mag,magnicht,hobbys,icq.
username, password und mail sind schon gefüllt nun möchte ich aus tabelle1 name,age,ort,mag,magnicht,hobbys,icq in tabelle2 schreiben. tabelle1 hat noch eine spalte nick die den gleichen namen wie username aus tabelle2 hat, nick und username müssen gleich sein damit die anderen spalten dem richtigen user zugewiesen werden können.
hat jemand eine idee wie ich das am besten machen kann? habs bisher mit replace,update und join erfolglos versucht
mfg casper
--
90% aller Fehler sitzen 60cm vor dem Bildschirm

Dieser Post wurde am 03.04.2008 um 15:51 Uhr von CaspeR editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
04.04.2008, 10:28 Uhr
CaspeR

Foren Praktikant


keiner ne ahnung?
--
90% aller Fehler sitzen 60cm vor dem Bildschirm
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
05.04.2008, 14:05 Uhr
n0b0dy
Schinder in Ehren (10k)
Foren Champion


wieso moechtest du die daten zusammenlegen?
welche db nebenbei?
--
(ja|nein|vielleicht)*

Dieser Post wurde am 05.04.2008 um 14:09 Uhr von n0b0dy editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
08.04.2008, 09:34 Uhr
CaspeR

Foren Praktikant


db is Mysql
und ich will halt das du user ihr profil bearbeiten können und so wie ich das habe wird atm immer ein neues feld angelegt.
--
90% aller Fehler sitzen 60cm vor dem Bildschirm
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
08.04.2008, 09:38 Uhr
CaspeR

Foren Praktikant



Quellcode:
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{

//if the cookie has the wrong password, they are taken to the login page
if ($pass != $info['password'])
{ header("Location: index.php");
}

else
{
echo "Site is in progress <img src='img/a040.gif'> <br> <br> ";
echo "<b>Freunde</b> <br>";

// Performing SQL query
$sql1 = mysql_query("SELECT * FROM profil WHERE 1");
$mailadd = mysql_query("SELECT mail FROM users WHERE 1");
while($row2 = mysql_fetch_array($mailadd)){
$mail = $row2['mail'];
}

while($row = mysql_fetch_array($sql1)){
  echo "<hr noshade size=1> <br>";
  echo "Name: ". $row['name']." <br>";
  echo "Alter: ". $row['age']." <br>";
  echo "Wohnort: ". $row['ort']." <br>";
  echo "Mag: ". $row['mag']." <br>";
  echo "Mag nicht: ". $row['magnicht']." <br>";
  echo "Hobbys: ". $row['hobbys']." <br>";
  echo "ICQ: ". $row['icq']." <br>";
  echo "<hr noshade size=1> <br>";  
}
echo "<font size='-1'> <br><a href=logout.php>[Logout]</a> | <a href=profil.php>[Profil bearbeiten]</a></font>";
}
}
}

soweit hab ichs das die profil daten ausgegeben werden man sie aber nicht user spezifisch bearbeiten kann sondern immer ein neues angelegt wird.
btw kann sein das da überflüssiger code drin is
--
90% aller Fehler sitzen 60cm vor dem Bildschirm

Dieser Post wurde am 08.04.2008 um 09:40 Uhr von CaspeR editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
08.04.2008, 14:22 Uhr
CaspeR

Foren Praktikant


oder hat jdm ne idee wie ich sowas am besten lösen könnte?
muss ja nicht unbedingt so sein wie ichs vorhatte
--
90% aller Fehler sitzen 60cm vor dem Bildschirm
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
08.04.2008, 18:17 Uhr
n0b0dy
Schinder in Ehren (10k)
Foren Champion


lass mir mal etwas zeit... muss mich erst eindenken.
--
(ja|nein|vielleicht)*
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
10.04.2008, 08:50 Uhr
CaspeR

Foren Praktikant


alles kla danke dir
--
90% aller Fehler sitzen 60cm vor dem Bildschirm
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
10.04.2008, 09:05 Uhr
Lucifer002

Foren Papst


Noch mal zum mitdenken:
Tabelle1:
name | nick | age | ort | mag | magnicht | hobbys | icq
Tabelle2:
username | password | mail | name | age | ort | mag | magnicht | hobbys | icq

Und nun möchtest du die Tabelle2 aktualisieren und die Daten von Tabelle1 drüber schreiben, wobei username und nick gleich sein sollen?

Ich würde mal sagen, dass geht ganz einfach über ein SQL-Statement

Quellcode:
UPDATE tabelle2 SET tabelle2.age=tabelle1.age, tabelle2.ort=tabelle1.ort, tabell2.mag=tabelle1.mag, tabelle2.magnicht=tabelle1.magnicht, tabelle2.hobbys=tabelle1.hobby, tabelle2.icq=tabelle1.icq WHERE tabelle2.username = tabelle1.nick

Falls du das nur für einen Bestimmten User machen möchtest kannst das ganz einfach in der WHERE-Clause mit einer weiteren Bedingung steuern

Quellcode:
UPDATE tabelle2 SET tabelle2.age=tabelle1.age, tabelle2.ort=tabelle1.ort, tabell2.mag=tabelle1.mag, tabelle2.magnicht=tabelle1.magnicht, tabelle2.hobbys=tabelle1.hobby, tabelle2.icq=tabelle1.icq WHERE tabelle2.username = tabelle1.nick AND tabelle2.username = 'ABC'

Hoffe jetzt dein Problem richtig verstanden zu haben
LG Lucifer
--
Wer Rechtschreibfehler findet muss einen ausgeben *g* ; Mozilla Firefox User und stolz darauf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
10.04.2008, 10:45 Uhr
CaspeR

Foren Praktikant


habs so probiert:

Quellcode:
<?php
  $eintrag = "UPDATE users SET users.age=profil.age, users.ort=profil.ort, users.mag=profil.mag, users.magnicht=profil.magnicht, users.hobbys=profil.hobbys, users.icq=profil.icq WHERE users.username = profil.username AND users.username = '$username'";
?>
<?php
  $eintragen = mysql_query($eintrag);
echo " <br> Profildaten gespeichert!";
}
}
}
else{
echo "Nicht angemeldet!";
}
?>

und es passiert in beiden tabellen nix =/
argh hatte in tabelle 1 nick in username geändert
geht aber trotzdem nich =/^^
--
90% aller Fehler sitzen 60cm vor dem Bildschirm

Dieser Post wurde am 10.04.2008 um 10:50 Uhr von CaspeR editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
10.04.2008, 11:29 Uhr
Lucifer002

Foren Papst


Hast schon mal versucht, das Statement direkt auf der DB auszuführen?

Hilfreich ist auch immer

Quellcode:
<?php
  $eintragen = mysql_query($eintrag) or DIE("Fehler beim Datenabgleich: <br />".mysql_error());
  if($eintrage == false){
     echo "<br /> Daten konnten nicht verarbeitet werden";
  }
echo " <br> Profildaten gespeichert!";
}
...

weil man dann gleich eine Meldung bekommt,

PS: Hast du nicht gesagt, im Profil hast die Spalte 'nick' welche zum User.username gehört?
--
Wer Rechtschreibfehler findet muss einen ausgeben *g* ; Mozilla Firefox User und stolz darauf

Dieser Post wurde am 10.04.2008 um 11:31 Uhr von Lucifer002 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
011
10.04.2008, 11:42 Uhr
CaspeR

Foren Praktikant


Fehler beim Datenabgleich:
Unknown column 'profil.username' in 'where clause'
hmm komisch... denn `ID`, `name`, `age`, `ort`, `mag`, `magnicht`, `hobbys`, `icq`, `username` steht in der tabelle drin ...

zum nick.. den hab ich jetzt in username geändert hab nun also users.username und profil.username. Oder gibts da probleme?
gibts vlt noch eine andere lösung als das was ich vorhatte? geht das vlt auch alles in einer tabelle? weil ich ja eigentlich immer nur die profildaten erstellen bzw ändern und dann auf einer anderen seite ausgeben möchte.
--
90% aller Fehler sitzen 60cm vor dem Bildschirm
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
012
10.04.2008, 12:21 Uhr
CaspeR

Foren Praktikant


habs nun erstmal so:

Quellcode:
<?php
  mysql_query("INSERT INTO profil (ID, name, age, ort, mag, magnicht, hobbys, icq, username)VALUES('','$name','$age','$ort','$mag','$magnicht','$hobbys','$icq','$username')");
  $eintrag = "UPDATE profil SET name='$name', age='$age', ort='$ort', mag='$mag', magnicht='$magnicht', hobbys='$hobbys', icq='$icq' WHERE username = '$username'";
?>
<?php
  $eintragen = mysql_query($eintrag) or DIE("Fehler beim Datenabgleich: <br />".mysql_error());
  if($eintragen == false){
     echo "<br /> Daten konnten nicht verarbeitet werden";
  }
echo " <br> Profildaten gespeichert!";
}
}
}
else{
echo "Nicht angemeldet!";
}
?>

tjaa so einfach hätts mir gereicht
Danke für eure Hilfe !!
--
90% aller Fehler sitzen 60cm vor dem Bildschirm
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
013
10.04.2008, 18:45 Uhr
n0b0dy
Schinder in Ehren (10k)
Foren Champion


... leute, habt ihr zeit :o)

ich wuerde aber empfehlen, die ganze sache etwas aufzudroeseln
--
(ja|nein|vielleicht)*
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
014
11.04.2008, 08:23 Uhr
Lucifer002

Foren Papst


Und was meinst mit aufdroeseln?
--
Wer Rechtschreibfehler findet muss einen ausgeben *g* ; Mozilla Firefox User und stolz darauf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
015
12.04.2008, 07:31 Uhr
n0b0dy
Schinder in Ehren (10k)
Foren Champion


sry, falsche baustelle :o)
--
(ja|nein|vielleicht)*
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ Web-Programmierung ]  



German Computer Freaks

powered by ThWboard 3 Beta 2.85-rc3
© by Paul Baecher & Felix Gonschorek