anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 10 Jun, 2025 05:44

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Accountid-Name-Umwandlung
BeitragVerfasst: Fr 08 Apr, 2005 14:14 
Offline
Profi
Profi

Registriert: Mo 22 Nov, 2004 13:58
Beiträge: 107
LoGD: http://www.kerhoat.de/source.php
Ich möchte gerne in die Tabelle der DB die Accountid bestimmter User schreiben und beim aulesen gleich in den aktuellen Namen (mit Titel) umwandeln...

Geht das vielleicht per Funktion?

_________________
Erschaffe einen Charakter und trete ein in die Welt der Fantasie.
Reise nach Kerhoat, treffe auf seine Helden und beschütze es vor dem Grünen Drachen!
Nach Kerhoat reisen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 08 Apr, 2005 14:34 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 05 Feb, 2005 22:59
Beiträge: 699
Wohnort: OL
LoGD: http://aristo.w039.white.fastwebserver. ... source.php
Das geht auch ohne, dass du was neues erstellst... Name und Titel sind schliesslich in der DB gespeichert...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 08 Apr, 2005 14:37 
Offline
Profi
Profi

Registriert: Mo 22 Nov, 2004 13:58
Beiträge: 107
LoGD: http://www.kerhoat.de/source.php
Arîzto hat geschrieben:
Das geht auch ohne, dass du was neues erstellst... Name und Titel sind schliesslich in der DB gespeichert...


Ich weiß, dass Name und Titel in der DB sind, aber ich les das aus ner anderen Tabelle... und ansonsten müsst ich n zusätzliche Abfrage machen... ;)

_________________
Erschaffe einen Charakter und trete ein in die Welt der Fantasie.
Reise nach Kerhoat, treffe auf seine Helden und beschütze es vor dem Grünen Drachen!
Nach Kerhoat reisen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 08 Apr, 2005 14:39 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Es würd nur per funktion gehn wenne dr eine machst ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 08 Apr, 2005 14:41 
Kevz hat geschrieben:
Es würd nur per funktion gehn wenne dr eine machst ;)

Ok danke, wollt nur wissen, obs da schon eine gibt *g*


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 08 Apr, 2005 14:42 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Glaub kaum


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 08 Apr, 2005 15:21 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Du brauchst im Prinzip nur einfache joins.
Angenommen, Deine Tabelle hanswurst hat die Felder acctid und keks, wobei Du dann keks aus dieser Tabelle und name aus der Account-Tabelle haben willst. Das ist doch genau das, was Du meinst, oder?
In dem Fall sähe das so aus:

SELECT accounts.name, hanswurst.keks FROM hanswurst LEFT JOIN accounts USING(acctid) WHERE ...

Wenn die Felder nicht in beiden Tabellen gleich (also acctid) heißen, mußt Du statt dem USING(acctid) auf ON umsteigen:

SELECT accounts.name, hanswurst.keks FROM hanswurst LEFT JOIN accounts ON accounts.acctid=hanswurst.anderername WHERE ...

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 10:42 
Offline
Profi
Profi

Registriert: Mo 22 Nov, 2004 13:58
Beiträge: 107
LoGD: http://www.kerhoat.de/source.php
Chaosmaker hat geschrieben:
Du brauchst im Prinzip nur einfache joins.
Angenommen, Deine Tabelle hanswurst hat die Felder acctid und keks, wobei Du dann keks aus dieser Tabelle und name aus der Account-Tabelle haben willst. Das ist doch genau das, was Du meinst, oder?
In dem Fall sähe das so aus:

SELECT accounts.name, hanswurst.keks FROM hanswurst LEFT JOIN accounts USING(acctid) WHERE ...

Wenn die Felder nicht in beiden Tabellen gleich (also acctid) heißen, mußt Du statt dem USING(acctid) auf ON umsteigen:

SELECT accounts.name, hanswurst.keks FROM hanswurst LEFT JOIN accounts ON accounts.acctid=hanswurst.anderername WHERE ...


Danke, werds gleich mal ausprobieren ;)

_________________
Erschaffe einen Charakter und trete ein in die Welt der Fantasie.
Reise nach Kerhoat, treffe auf seine Helden und beschütze es vor dem Grünen Drachen!
Nach Kerhoat reisen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 10:57 
Jetzt wo ichs eingebaut hab, stellt sich mir die Frage, wie ich das dann ausgeben lassen kann...

zum Beispiel:
$row[name] geht nicht... Hab mehrer Sachen ausprobiert, komm aber auf keinen grünen Zweig....


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 11:01 
Offline
Profi
Profi

Registriert: Mo 22 Nov, 2004 13:58
Beiträge: 107
LoGD: http://www.kerhoat.de/source.php
Anonymous hat geschrieben:
Jetzt wo ichs eingebaut hab, stellt sich mir die Frage, wie ich das dann ausgeben lassen kann...

zum Beispiel:
$row[name] geht nicht... Hab mehrer Sachen ausprobiert, komm aber auf keinen grünen Zweig....


Blödes automatische Logout :(

_________________
Erschaffe einen Charakter und trete ein in die Welt der Fantasie.
Reise nach Kerhoat, treffe auf seine Helden und beschütze es vor dem Grünen Drachen!
Nach Kerhoat reisen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 11:28 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Dann zeig mal deine SQL abfrage mit den Variablen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 17:26 
$this->bbcode_second_pass_code('', ' $sql = "SELECT accounts.name, motd.motditem, motd.motdtitle, motd.motdbody, motd.motddate, motd.motdtype, motd.motdauthor FROM motd LEFT JOIN accounts ON accounts.acctid=motd.motdauthor ORDER BY motddate DESC limit 20";
$result = db_query($sql);
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
if ($row['motddate']>$session['user']['lastmotd'] || $i<5){
$row['motddate']=date("d.m.Y, H:i",strtotime($row['motddate']));
if ($row['motdtype']==0){
motditem($row[motdtitle].($session[user][superuser]>=3?"[<a href='motd.php?op=del&id=$row[motditem]' onClick=\"return confirm('Bist du sicher, dass dieser Eintrag gelöscht werden soll?');\">Del</a>]":"")."`n[`i`b{$row['...']} - {$row['motddate']}`b`i]",$row[motdbody]);
}else{
pollitem($row['motditem'],$row['motdtitle'].($session[user][superuser]>=3?"[<a href='motd.php?op=del&id=$row[motditem]' onClick=\"return confirm('Bist du sicher, dass dieser Eintrag gelöscht werden soll?');\">Del</a>]":"")."`n[`i`b{$row['...']} - {$row['motddate']}`b`i]",$row[motdbody]);
}
}
}')
Was kommt statt ... ?

P.S.: Kann mich nur grad mal wieder nicht einloggen ;)


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 18:57 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
'name' ist da korrekt.
Wenn da dann nix erscheint, prüf mal, ob motdauthor auch einen Wert hat (also nicht 0) und ob der dort eingetragene Account existiert.
Wenn das join keinen passenden Datensatz findet, liefert es für alle Felder (d.h. hier 'name') nur NULL zurück, was dann in $row einen Leerstring ('') ergibt.

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 19:17 
Chaosmaker hat geschrieben:
'name' ist da korrekt.
Wenn da dann nix erscheint, prüf mal, ob motdauthor auch einen Wert hat (also nicht 0) und ob der dort eingetragene Account existiert.
Wenn das join keinen passenden Datensatz findet, liefert es für alle Felder (d.h. hier 'name') nur NULL zurück, was dann in $row einen Leerstring ('') ergibt.


Argh. Ich war mir fast sicher, dasd ich per Hand in der phpmyadmin die richtige Id eingetragen hab... Hab ich wohl verwechselt... Funktioniert alles super ;)

Riesendanke


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 20:21 
Hm, funktioniert doch net alles... Ich scheitere kläglich daran, dass der Author auch in die Db eingetragen wird...


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 20:29 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Wie sieht denn das insert aus?

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 20:39 
Chaosmaker hat geschrieben:
Wie sieht denn das insert aus?

$this->bbcode_second_pass_code('', ' $sql = "INSERT INTO motd (motdtitle,motdbody,motddate,motdauthor) VALUES ("$_POST[subject]","$_POST[body]",now(),"$session[user][acctid]")";
db_query($sql);')

Hab auch schon ein paar andere Sachen versucht...


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 20:48 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Innerhalb von Strings werden nur eindimensionale Arrays direkt erkannt. Also entweder per \"".$session['user']['acctid']."\" machen oder per \"{$session['user']['acctid']}\".

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Apr, 2005 20:54 
Offline
Profi
Profi

Registriert: Mo 22 Nov, 2004 13:58
Beiträge: 107
LoGD: http://www.kerhoat.de/source.php
Chaosmaker hat geschrieben:
Innerhalb von Strings werden nur eindimensionale Arrays direkt erkannt. Also entweder per "".$session['user']['acctid']."" machen oder per "{$session['user']['acctid']}".


Jetzt kann ich mich echt nur noch bedanken... Es geht ohne Probleme.
Habt Nachsicht mit dem Php-Nix-Checker!

DANKE!

P.S.: Ich kann mich wieder einloggen

_________________
Erschaffe einen Charakter und trete ein in die Welt der Fantasie.
Reise nach Kerhoat, treffe auf seine Helden und beschütze es vor dem Grünen Drachen!
Nach Kerhoat reisen


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum