SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 04.02.2010, 14:09:11
Wiesel82 Wiesel82 ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 42
Beiträge: 5
Werte aller Einträge der Tabelle ändern

Hallo zusammen,
ich hoffe ihr könnt mir helfen.
Ich habe 2 Tabellen die hier relvant sind.
Tabelle "users" und Tabelle "pms"
Der Vorgänger der die Tabelle pms angelegt hatte, war so schlau und hat 2 Spalten gehabt "Empfaeger" und "Sender" wo er die Namen der User gespeichert hat statt die ID des Users zu nehmen. Denn in der Tabelle Users stehen alle User drin, mit ID und Name.

In der neuen Version von dem PM-System werden nur noch die IDs der User in den Spalten gespeichert. Jetzt sollen die alten Einträge auch in der neuen Version vorhanden sein. Da ist jetzt die Frage ist es möglich eine SQL-Anweisung zu schreiben, die jeden Namen in der Tabelle "pms" hernimmt, miit dem Namen der Tabelle "users" vergleicht und bei erfolgreichen suchen die ID des Users in die Tabelle "pms" statt des Names schreibt.

Hoffe jemand von euch kann mir da helfen.

MfG
Wiesel82
Mit Zitat antworten
  #2  
Alt 04.02.2010, 14:25:50
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Werte aller Einträge der Tabelle ändern

Hi

Zitat:
Da ist jetzt die Frage ist es möglich eine SQL-Anweisung zu schreiben, die jeden Namen in der Tabelle "pms" hernimmt, miit dem Namen der Tabelle "users" vergleicht und bei erfolgreichen suchen die ID des Users in die Tabelle "pms" statt des Names schreibt.
Erstelle dazu ne neue Spalte z.B. "id" in der "pms" dann kannst du weiterverarbeiten
wer keine hat ohne die namen zu überschreiben.
Bsp.
Code:
update pms set id=(select id from user where name=pms.name)
mfg

Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #3  
Alt 04.02.2010, 15:24:18
Wiesel82 Wiesel82 ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 42
Beiträge: 5
AW: Werte aller Einträge der Tabelle ändern

Vielen Dank Ckaos für die blitzschnelle Antwort.
Habe die Anweisung ausgeführt, jetzt erhalte ich leider als Fehlermeldung
" MySQL said: Documentation
#1242 - Subquery returns more than 1 row "

Von daher scheint die Query selbst zu stimmen nur kann ich darüber nicht die Spalte ID von pms nicht mit den passenden ID des Users füllen.

Geht das überhaupt mit PHPmyadmin oder gibt es Skripte mit denen ich diese Anweisung für jeden Eintrag durchführen kann, sodass am Ende in der Spalte ID in pms von dem jeweiligen Benutzer die ID drin steht?

Geändert von Wiesel82 (04.02.2010 um 15:44:15 Uhr)
Mit Zitat antworten
  #4  
Alt 05.02.2010, 00:12:25
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Werte aller Einträge der Tabelle ändern

Hi

Die Fehlermeldung sagt ja das Abfrage nach dem Namen mehr als ein Ergebnis
liefert, was da wohl heisst das es den Namen mehrmals gibt. Natürlich könntest
du den Query um ein LIMIT erweitern, nur würde dann der erste gefundene Eintrag
gezählt was ja nicht immer die richtige ID wäre oder?

Um das zu verdeutlichen führe mal folgenden Query aus
Code:
SELECT name,count(*) as z FROM `user`  group by name having z>0
Das sollte dir zeigen wie oft welcher Name vorkommt.

Ich denke die doppelt musst du ausklammern und nachher per hand anpassen.

mfg

Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #5  
Alt 05.02.2010, 00:25:45
Wiesel82 Wiesel82 ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 42
Beiträge: 5
AW: Werte aller Einträge der Tabelle ändern

Ok die Tabelle PMS speichert sozudagen PM's der User, sodass unter umständen umzählige Einträge mit dem Namen existieren. Gibt es keine Möglichkeit das ohne nachtragen per Hand zu machen, da bei 10000 Einträgen etwas Zeit und Nerven fehlen würde mindestens die Hälfte der Einträge manuell anzupassen.
Mit Zitat antworten
  #6  
Alt 05.02.2010, 00:35:20
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Werte aller Einträge der Tabelle ändern

Hi

Zitat:
Zitat von Ckaos Beitrag anzeigen
Ich denke die doppelt musst du ausklammern und nachher per hand anpassen.
Je nachdem wieviele Namen doppelt sind und wieviel PM's denen zugewiesen
werden müssen, musst du wohl per hand arbeiten den rest (Namen eindeutig zuordbar)
kannst du ja mit der Zeile ändern (angepasst darauf das doppelte Namen ausgeschlossen sind)

Wie soll das anders möglich sein. Geh in einen Raum wo 10 Leute drin sind alle haben den
Namen Wiesel82 wem gibst du den an Wiesel82 geschriebenen Brief?

mfg

Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #7  
Alt 05.02.2010, 00:50:48
Wiesel82 Wiesel82 ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 42
Beiträge: 5
AW: Werte aller Einträge der Tabelle ändern

Ok habs mal gemacht.
Da haben welche bis zu 150 Nachrichcten geschrieben.
Es gibt nur einen Username Wiesel82 aber der kann 150 Nachrichten gesendet habenund da muss ich da für den einen Benutzer Wiesel82 dann 149x die Einträge manuell per Hand ändern?!?! Da häng ich ja bei 1000 Usern und mehr das ganze Jahr dran. Das ist definitv keine Lösung. ;)
Ne andere Lösung gibts da nicht?
Mit Zitat antworten
  #8  
Alt 05.02.2010, 01:15:19
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Werte aller Einträge der Tabelle ändern

Hi

Ich rede die ganze Zeit von deiner user tabelle wo anscheinend
Namen doppelt vergeben sind. Also müssen da z.B. 2x wiesel82 drin sein vielleicht auch mit
unterschiedlichen ID's welches ein automatisches richtiges zuweisen unmöglich macht.
Wäre es anders würde dir bei meiner angebotenen Query keinen solchen fehler ausgeben.

Du denkst es geht um die PM's
Zitat:
Zitat von Wiesel82 Beitrag anzeigen
Ok habs mal gemacht.
Da haben welche bis zu 150 Nachrichcten geschrieben.
Ich denke du verstehst meine Antworten nicht was weitere Ausführungen meinerseits
unnötig macht.

mfg

Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #9  
Alt 05.02.2010, 11:24:05
Wiesel82 Wiesel82 ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 42
Beiträge: 5
AW: Werte aller Einträge der Tabelle ändern

Ahh sorry mein Fehler war wohl gestern schon zu spät dafür. ;)
Klasse habe die doppelten Einträge gelöscht, was wohl ein Bug im alten System war, da im neuen auch der Username geprüft wird. Jetzt hats dann auch funktioniert, vielen Dank für deine Hilfe.
Mit Zitat antworten
  #10  
Alt 05.02.2010, 12:36:38
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Werte aller Einträge der Tabelle ändern

Hi

kein problem und immer wieder gerne ;)

mfg

Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
Antwort

Stichworte
eintrag ändern, tabelle, update


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Doppelte Einträge einer Tabelle markieren Schneidoa PHP Grundlagen 1 02.02.2010 10:02:06
Werte aus Tabelle auslesen markus_tirol MySQLi/PDO/(MySQL) 3 19.10.2008 15:23:56
UPDATE mit Werte aus anderer Tabelle cuto8 MySQLi/PDO/(MySQL) 0 20.08.2008 12:15:25
Javascript + PHP = Werte in Tabelle lusitaz HTML, CSS und JavaScript Help! 3 19.06.2008 00:05:40
ausgewählte Werte in neue Tabelle schreiben klaus-maus MySQLi/PDO/(MySQL) 3 02.03.2005 20:24:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:45:31 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt