php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-09-2003, 20:07
Scriptmania
 Newbie
Links : Onlinestatus : Scriptmania ist offline
Registriert seit: Jun 2001
Beiträge: 45
Scriptmania ist zur Zeit noch ein unbeschriebenes Blatt
Scriptmania eine Nachricht über AIM schicken
Standard frage bezüglich doppelter einträge in einem array

tag!
vielleicht könnt ihr mir helfen .. wäre sehr nett. folgendes problem:

ich habe eine datenbank in der ich instant messages für ein forum speichere. jede message hat natürlich auch einen "absender" und auch einen "empfaenger" - so auch die felder in der datenbank.

nun will ich für die history etwas basteln das der user die messages aller gesprächspartner einsehen kann - dazu benötige ich aber ein dropdown damit der
user den jeweiligen gesprächspartner (also entweder absender oder empfaenger) auswählen kann.

mal angenommen meine user_id wäre die "2" .. so dachte ich, versuchs mal mit dieser abfrage:


PHP-Code:
$ich "2";
SELECT DISTINCT absenderempfaenger FROM $db WHERE
absender 
'$ich' OR empfaenger '$ich' 

nun .. fakt ist das ich die zwar alle angezeigt bekomme aber leider auch doppelt. wenn ich also mit user 5 geschrieben habe, hab ich ihn einmal als absender und einmal als empfaenger mit in der auflistung.

des weiteren habe ich mich selber auch mit in der auflistung was ich eigentlich nicht will ..also muss $ich auch raus .

könnte mir jemand mal einen gedankenanstoss oder die lösung für mein problem posten ? das wäre supernett !!!!


vielen dank & gruß,
patrick rost
Mit Zitat antworten
  #2 (permalink)  
Alt 02-09-2003, 20:10
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.625
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

ich verstehe zwar dein problem nicht, aber versuche dennoch mal zu helfen.

mache mal auf das 2. feld auch einen DISTINCT drauf.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #3 (permalink)  
Alt 02-09-2003, 20:11
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Code:
SELECT DISTINCT
  IF(empfaenger=5,absender,empfaenger) kontakt
FROM tabelle
WHERE
  absender = 5
  OR
  empfaenger = 5
probier das mal in phpmyadmin
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #4 (permalink)  
Alt 02-09-2003, 20:12
Scriptmania
 Newbie
Links : Onlinestatus : Scriptmania ist offline
Registriert seit: Jun 2001
Beiträge: 45
Scriptmania ist zur Zeit noch ein unbeschriebenes Blatt
Scriptmania eine Nachricht über AIM schicken
Standard

hm ..also das verursacht sicherlich nur einen fehler:

PHP-Code:
SELECT distinct absenderdistinct empfaenger FROM .. 
pat°
Mit Zitat antworten
  #5 (permalink)  
Alt 02-09-2003, 20:19
Scriptmania
 Newbie
Links : Onlinestatus : Scriptmania ist offline
Registriert seit: Jun 2001
Beiträge: 45
Scriptmania ist zur Zeit noch ein unbeschriebenes Blatt
Scriptmania eine Nachricht über AIM schicken
Standard

Zitat:
Original geschrieben von mrhappiness
Code:
SELECT DISTINCT
  IF(empfaenger=5,absender,empfaenger) kontakt
FROM tabelle
WHERE
  absender = 5
  OR
  empfaenger = 5
probier das mal in phpmyadmin
PERFEKT ! im phpmyadmin gehts super .. alles genial!
nur wenn ich das nun in meine abfrage packe und in den php-code schreibe, kommt nüschts als ausgabe

pat°

PS: DANKE !
Mit Zitat antworten
  #6 (permalink)  
Alt 02-09-2003, 20:20
Scriptmania
 Newbie
Links : Onlinestatus : Scriptmania ist offline
Registriert seit: Jun 2001
Beiträge: 45
Scriptmania ist zur Zeit noch ein unbeschriebenes Blatt
Scriptmania eine Nachricht über AIM schicken
Standard

HALT .. nehm alles zurück - geht perfekt !!!
vielen dank !!!!!!!!!!!!!!!!
Mit Zitat antworten
  #7 (permalink)  
Alt 02-09-2003, 20:21
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

EDIT:
mach sowas nie wieder
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #8 (permalink)  
Alt 02-09-2003, 20:33
Scriptmania
 Newbie
Links : Onlinestatus : Scriptmania ist offline
Registriert seit: Jun 2001
Beiträge: 45
Scriptmania ist zur Zeit noch ein unbeschriebenes Blatt
Scriptmania eine Nachricht über AIM schicken
Standard

lol
also ich muss doch nochmal stören.
was mich wundert .. phpmyadmin gibt mir 29 ergebnisse zurück .. wunderbar - das stimmt !

php gibt mir auf der seite jedoch 73 ergebnisse zurück..
ne idee woran es liegen könnte ?

mein code sieht nun so aus:

PHP-Code:

    $history_a 
$db->query("SELECT DISTINCT IF(empfaenger='$data[userid]',absender,empfaenger) kontakt FROM Short_Messi_messages WHERE absender = '$data[userid]' OR empfaenger = '$data[userid]' and datetime > '2003-09-01 20:28:14' ");
    while(
$row_a $db->fetch_array($history_a))
              {
              
$rowid++;
                        echo 
$row_a[kontakt]." ->"
              } 
(das mit datetime ist nur zum testen für den moment ...)

danke nochmal
patrick
Mit Zitat antworten
  #9 (permalink)  
Alt 02-09-2003, 20:36
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

lass dir mal die abfrage ausgeben

versuch dich mal an mysql_num_rows, bzw. der äquivalenten funktion in deiner klasse
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #10 (permalink)  
Alt 02-09-2003, 20:42
Scriptmania
 Newbie
Links : Onlinestatus : Scriptmania ist offline
Registriert seit: Jun 2001
Beiträge: 45
Scriptmania ist zur Zeit noch ein unbeschriebenes Blatt
Scriptmania eine Nachricht über AIM schicken
Standard

hallo mrhappiness.
warum auch immer .. die 79 ergebnisse in php stimmen und die 29 in phpmyadmin sind falsch.

nun .. ich habe noch eine frage und hoffe das ich dich hiermit nicht nerve.

die abfrage liefert mir nun jede menge userid`s zurück .. perfekt.

probelm ist nun das ich die usernamen dazu brauche . die abfrage lautet eigentlich im einzelnen:
PHP-Code:
SELECT from bb2_users where userid '$row[kontakt]' 
das könnte ich unter deine vorhin gezeigten abfrage einfach in eine whileschleife packen - problem ist das ich die user dann nach userid und nicht nach username sortiert habe

hast du hierzu noch eine idee ?

danke dir
pat°
Mit Zitat antworten
  #11 (permalink)  
Alt 02-09-2003, 21:07
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Code:
SELECT DISTINCT
  IF(t.empfaenger=5,u2.username,u1.username) kontakt
FROM
  usertabelle u1
  INNER JOIN tabelle1 t ON t.empfaenger=u1.userid
    INNER JOIN usertabelle u2 ON t.absender=u2.userid
WHERE
  t.empfaemger=5
  OR
  t.absender=5
probier das mal (ohne garantie)

OffTopic:
muss ich jetzt der dritte sein, der dien mail-zusatz in die sig mit aufnimmt?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #12 (permalink)  
Alt 02-09-2003, 21:21
Scriptmania
 Newbie
Links : Onlinestatus : Scriptmania ist offline
Registriert seit: Jun 2001
Beiträge: 45
Scriptmania ist zur Zeit noch ein unbeschriebenes Blatt
Scriptmania eine Nachricht über AIM schicken
Standard

das geht schon wieder perfekt .. DANKE!

letzte frage ..order by username .. wo muss das jetzt hin ?
habs getestet, bekomms aber nich hin
Mit Zitat antworten
  #13 (permalink)  
Alt 02-09-2003, 21:27
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

ich glaub ich fang bald an geld damit zu verdienen *g*

ORDER BY kommt nach WHERE

entweder ORDER BY kontakt oder - wenn er da meckert - ORDER BY IF(t.empfaenger=5,u2.username,u1.username)
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #14 (permalink)  
Alt 02-09-2003, 21:32
Scriptmania
 Newbie
Links : Onlinestatus : Scriptmania ist offline
Registriert seit: Jun 2001
Beiträge: 45
Scriptmania ist zur Zeit noch ein unbeschriebenes Blatt
Scriptmania eine Nachricht über AIM schicken
Standard

danke .. klappert!
samma .. wenn ich mal jemand brauche, hättest du bock damit geld zu verdienen ?

mail mal falls ja.
gruß
patrick
Mit Zitat antworten
  #15 (permalink)  
Alt 02-09-2003, 21:36
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von Scriptmania
danke .. klappert!
fein
OffTopic:
Zitat:
samma .. wenn ich mal jemand brauche, hättest du bock damit geld zu verdienen ?
schon, aber ich weiß nich ob du dir meinen stundensatz leisten kannst (rest gern per mail)
__________________
Ich denke, also bin ich. - Einige sind trotzdem...

Geändert von mrhappiness (02-09-2003 um 21:48 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

Simple Forum PHP ansehen Simple Forum PHP

If you need simple forum or discussion on your website, then you've come to the right place. Simple Forum PHP is a script that is very easy to install and administer.

28.08.2021 nevenov | Kategorie: PHP/ Forum PHP Software
Formmailer Bootstrap 4

Mit dem Formmailer kann man sich eMails über seine Seite zukommen lassen.

08.07.2021 arne-home | Kategorie: PHP/ Formular
Fehlerseite Bootstrap 4

Bei Aufruf einer nicht existierenden Seite, teilen Sie Besuchern mit einer eigenen Fehlerseite mit, dass die gewünschte Seite nicht gefunden wurde. Die eigene Fehlerseite sollte dasselbe Design wie die Website haben. Zudem sollte ein Link zur Startseite a

04.07.2021 arne-home | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:13 Uhr.