Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 03:48

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



PHP MYSQL only first entry from user

Discussion on PHP MYSQL only first entry from user within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
DJRedMax's Avatar
 
elite*gold: 39
Join Date: Feb 2013
Posts: 1,834
Received Thanks: 83
PHP MYSQL only first entry from user

Code:
$founduserid = array();
$getmess = mysql_query("SELECT * FROM bg_message WHERE touser = '".$userdaten["id"]."' && userid NOT IN  (".implode(',', $founduserid).") ORDER by id DESC ");
while($werte = mysql_fetch_array($getmess))
{
$founduserid[] =  $werte["userid"];
}
ALso ich habe folgendes Problem. Ich habe in einer Datenbank viele einträge von verschiedenen Usern und möchte quasi von jedem User nur den neusten haben.

Wie kann ich das allerdings umsetzen? Wie ich es ca meine zeigt mein Beispiel oben, allerdings geht das ja nicht ^^
DJRedMax is offline  
Old 10/15/2013, 21:47   #2

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
Oh Glaskuugel, helf uns doch bitte. Oh - scheint ne Störung zu haben.

Man muss es glaub ich hier für jeden einzeln wiederholen, können wir hellsehen? Wie wäre es mit ner Datenbankstruktur?
Synatex is offline  
Old 10/15/2013, 22:11   #3
 
mhaendler's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
von jeden nur den neuesten : order by creation_date desc
dann von jeden nutzer nur einen: group by user_id

Ohne mehr Info's können wir dir allerdings nicht mehr helfen, wie Synatex schon sagt
mhaendler is offline  
Old 10/15/2013, 22:48   #4
 
DJRedMax's Avatar
 
elite*gold: 39
Join Date: Feb 2013
Posts: 1,834
Received Thanks: 83
In meinem Beispiel sind alle benötigten Informationen die Ihr braucht.

Es gibt touser, welche die eigene User ist ist und es gibt userid, dies ist die id vom anderen user.

Mir ist klar das ich mit ORDER by id DESC die neusten bekomme nun soller aber auch schauen das er nur 1 mal userid = 3 zb ausgibt, auch wenn es von ihm 4 einträge gibt.
DJRedMax is offline  
Old 10/15/2013, 23:05   #5
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
versuchs mal damit
tolio is offline  
Old 10/15/2013, 23:13   #6
 
KoKsPfLaNzE's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 731
Received Thanks: 233
meinst du vielleicht "group by userid"
KoKsPfLaNzE is offline  
Old 10/16/2013, 09:04   #7
 
mhaendler's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
Quote:
Originally Posted by DJRedMax View Post
In meinem Beispiel sind alle benötigten Informationen die Ihr braucht.

Es gibt touser, welche die eigene User ist ist und es gibt userid, dies ist die id vom anderen user.

Mir ist klar das ich mit ORDER by id DESC die neusten bekomme nun soller aber auch schauen das er nur 1 mal userid = 3 zb ausgibt, auch wenn es von ihm 4 einträge gibt.
Wenn es dir so klar ist wieso frägst du explizit danach?

Quote:
jedem User nur den neusten haben.
Desweiteren hast du mit Sicherheit in meinem Post den zweiten Teil überlesen, du brauchst noch ein "GROUP BY userid"...

Dadurch wird nun ein Eintrag der User-Id angezeigt
mhaendler is offline  
Old 10/16/2013, 11:39   #8
 
DJRedMax's Avatar
 
elite*gold: 39
Join Date: Feb 2013
Posts: 1,834
Received Thanks: 83
Post

Quote:
Originally Posted by dealaking View Post
Wenn es dir so klar ist wieso frägst du explizit danach?



Desweiteren hast du mit Sicherheit in meinem Post den zweiten Teil überlesen, du brauchst noch ein "GROUP BY userid"...

Dadurch wird nun ein Eintrag der User-Id angezeigt
Ich habe es schon mit GROUP BY userid versucht, allerdings stimmt dann die reihenfolge wieder nicht wie sie angeordnet werden.

Ich hab das ganze jetzt etwas sehr unsauber gelöst.

PHP Code:
$founduserid = array();
$getmess mysql_query("SELECT * FROM bg_message WHERE touser = '".$userdaten["id"]."' && userid ORDER by id DESC");
while(
$werte mysql_fetch_array($getmess))
{
    if(!
in_array($werte["userid"], $founduserid))
        {
        
$founduserid[] =  $werte["userid"];

    }

DJRedMax is offline  
Old 10/16/2013, 11:48   #9
 
mhaendler's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
Okay, des sollte allerdings nicht sein, versuch bitte mal dieses SQL Statement:

Code:
$getmess = mysql_query("SELECT * FROM bg_message WHERE touser = '".$userdaten["id"]."' GROUP BY userid ORDER by id DESC");
Mir ist aufgefallen du sortierst nirgends nach deinem Erstellungsdatum oder so, wird dies überhaupt gespeichert? Wenn ja bitte ORDER BY "erstellungsdatum" DESC;
mhaendler is offline  
Old 10/16/2013, 11:55   #10
 
DJRedMax's Avatar
 
elite*gold: 39
Join Date: Feb 2013
Posts: 1,834
Received Thanks: 83
ORDER BY id DESC sortiert nach erstellungs datum
DJRedMax is offline  
Old 10/16/2013, 12:26   #11


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,220
Received Thanks: 6,758
Wenn 'id' nicht zufällig vom Typ 'datetime' oder 'timestamp' ist eher weniger, sondern einfach nach der ID. Hast du es denn nun mit den etlichen Tipps hier hinbekommen?
#SoNiice is offline  
Old 10/16/2013, 12:39   #12
 
DJRedMax's Avatar
 
elite*gold: 39
Join Date: Feb 2013
Posts: 1,834
Received Thanks: 83
Quote:
Originally Posted by Hühnchenkopf View Post
Wenn 'id' nicht zufällig vom Typ 'datetime' oder 'timestamp' ist eher weniger, sondern einfach nach der ID. Hast du es denn nun mit den etlichen Tipps hier hinbekommen?

dadurch das ID immer einen höheren wert hat pro eintrag kann man es zum sortieren perfekt verwenden, neuster eintrag hat die höchste id, hingegen wenn ich es per time sortiere und 3 einträgein der selben sekunde bekomme unterscheiden die sich nicht, die ids sind aber anders


Naja ich habs daweil mit meiner methode gemacht.
DJRedMax is offline  
Old 10/16/2013, 12:42   #13
 
KoKsPfLaNzE's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 731
Received Thanks: 233
soblad du mal paar tausend user in der DB hast, kannst das aber vergessen das du überalle User mal drüber gehst und guckst via PHP
KoKsPfLaNzE is offline  
Old 10/16/2013, 14:17   #14
 
DJRedMax's Avatar
 
elite*gold: 39
Join Date: Feb 2013
Posts: 1,834
Received Thanks: 83
Quote:
Originally Posted by KoKsPfLaNzE View Post
soblad du mal paar tausend user in der DB hast, kannst das aber vergessen das du überalle User mal drüber gehst und guckst via PHP
Naja Limit 25 klärt das dann.

Nur was soll ich denn sonst machen wenn GROUP BY userid dazu führt das garkeines mehr angezeigt wird, oder die reihenfolge nicht stimmt.
DJRedMax is offline  
Old 10/16/2013, 14:22   #15

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
... nach zeit und user id sortieren?.. das die die gleichen sind ist sehr sehr unwahrscheinlich
Synatex is offline  
Reply


Similar Threads Similar Threads
Mysql User Problem
03/05/2013 - Metin2 Private Server - 2 Replies
Hello, ich habe ein mysql user problem doch ich weiß nicht wie ich es den griff gekomme in filezilla stehen alle dateien datenbanken ( account,common, etc da doch in navicat nicht bitte um schnelle hilfe und ja alle sachen haben die dateiberechtigung 777).
[MYSQL]User Anlegen
01/26/2013 - Metin2 Private Server - 5 Replies
Da ich lange wieder mit User Anlegen && nicht gearbeitet habe Leider hab ich es Verlernt jetzt wieder nen Mysql user anzulegen da ich den fehler imma Kriege Beim Starten Real Server Log Offmysql_real_connect: Access denied for user 'mt2'@'localhost' (using password: YES) failed, retrying in 5 seconds Der es mir per TV macht kriegt mein Rest e*gold
[SUCHE] 'user'@ mysql
04/08/2012 - Metin2 Private Server - 3 Replies
Hey. Habe ausversehen den Inhalt der Tabelle 'user' aus der Datenbank 'mysql' geändert, und suche jetzt den Standardinhalt. Ich nehme Version 6.1 der Serverfiles von Daroo 1678. Wäre dankbar wenn jemand ein Bild hochladen könnte oder den Inhalt irgendwie anders schnell hochlädt (: Danke (:
Mysql neuen user + EInschränkung?
01/27/2011 - Metin2 Private Server - 6 Replies
Hi ich wollte mich mal erkdundigen ob einer von euch weiß wie es möglich ist 1. einen neuen user für navicat zu machen ( also nicht root sondern z.b.: Lee ) dem sein Wunsch Pw zugeben und dem User dann nur bestimmten DB tabellen anzeigen zu können? also das der User Lee nur Player und backup tabelle sehen kann under der user Root alles :D mfg
[MySQL] Neuen User anlegen // * All
05/17/2010 - Metin2 PServer Guides & Strategies - 9 Replies
Vorwort Ich habe die Suchfunktion benutzt! Screen: http://www.abload.de/img/suchergebnisuuyd.png Tutorial Ihr startet Navicat



All times are GMT +1. The time now is 03:49.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.