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.623
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

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

29.04.2021 mirko_swm | Kategorie: PHP/ Mail
OXID eShop

Mit OXID eshop bieten wir Ihnen eine modulare und skalierbare Internet Shopping Software mit einem hervorragenden Preis-/Leistungsverhältnis.

29.04.2021 eric.jankowfsky@ | Kategorie: PHP/ Shops
PHP-Login

Die Aufgabenstellung bestand darin, ein einfaches Login-Script zu erstellen, dass schnell und universell auf jeder Webseiten eingebaut werden kann. Der Schwerpunkt lag dabei auf der Entwicklung eines universell einsetzbarem Modul für den Login und zur

05.04.2021 Wallhalla | Kategorie: PHP/ Kundenverwaltung
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:48 Uhr.