Wie geht das ?

Yael_17

Mitglied
Hallo und guten Abend,

ich hab ein Problem mit einer Arbfrage. Und zwar ich hab ein Forum dort sind verschieden Rubriken. Jetzt habe ich bis jetzt alle Beiträge ausgelesen das ist alles kein Problem. Jetzt möchte ich aber noch haben, dass ich auch immer noch den Namen auslesen kann also z.B. wenn ich ( Yale ) in der Rubik News was schreibe dann soll auch Yael in der Übersicht stehen, wenn dann später z.B. Verena was schreibt dann soll sie da stehen. Hab jetzt was gelsen, dass man da den Befehl max() anwenden muss hab auch schon was drüber nachgelesen aber ich verstehen den ganr nicht. Kann mir bitte jemand helfen. Hab auch schon fast alles fertig. Man sollte nur noch den max() Befehl glaube ich bei WHERE einbauen aber ich komme wie gesagt nicht mit klar.

Hier mal der Code:

PHP:
 <?php
   mysql_select_db('usr_web123_2');
 	$sql = "SELECT
 	 name
 	   FROM de_entries
 	  WHERE category = 'Poesie'"; // alles anzeigen
 			//echo $sql;
 
 	   $return = mysql_query($sql) or print(mysql_error());
 		 $_data = mysql_fetch_assoc($return);
 		   echo $_data['name'];
 			  ?>

Lg Yael
 
Hm, du könntest doch theoretisch auch einfach immer den User der jeweilige Kategorie, der als letztes gepostet hat rausholen und das z.B. über die IDs machen.
Also du machst dein select so in der Art
"select * from 'mytable' where Rubrik = 'poesie' order by ID desc limit 0,1"
Dann fängt er bei der letzten, höchsten ID an und holt genau den Eintrag mit der höchsten ID in dieser Rubrig, d.h. den letzten.
Damit würdes du dein Problem denke ich (falls ich es richtig verstanden habe) lösen und bräuchtest den max() Befehl auch nicht.
 
Nach welchen Kriterien willst du lezten Nick ermitteln? Hast du dafür ein Datum? Das könnte dann so aussehen:

PHP:
 $sql = "select
 nick
 from
 tabelle
 where max(Datum)
 order by was_auch_immer
 ;";
 
Hallo und guten Morgen,

danke für deine Hilfe, aber wenn ich ads jetzt so einbauen:

PHP:
<?php
   $sql = "SELECT
  name
   FROM de_entries
 	WHERE max(name)  
 	  order by category = 'Poesie'"; // alles anzeigen
 		//echo $sql;
   $return = mysql_query($sql) or print(mysql_error());
 	  $_data = mysql_fetch_assoc($return);
 	   echo $_data['name'];
 		 ?>

dann bekomme ich folgende Fehlermeldung:

Invalid use of group function
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web123/html/german/community/intern/forum.php on line 428

In der besagten Zeile steht folgendes drin:
PHP:
 $_data = mysql_fetch_assoc($return);

Was mach ich denn da falsch?
 
wonach soll den dein name ausgesucht werden? max() kann den maximalen Wert einer Spalte suchen, also sollte das Suchfeld ein auto_increment sein oder ein Datum.

mach mal statt order by ein group by
 
Hi,

hab das jetzt mal geamcht dann kommt diese Meldung:

Invalid use of group function
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web123/html/german/community/intern/forum.php on line 428

In der 428 steht dann:

PHP:
$_data = mysql_fetch_assoc($return);

Ich möchte eignetlich immer den den letzten Namen einer Kategorie ausgeben lassen, also wer den letzten Beitrag in der besagten Ktegorie geschrieben hat.
 
hmm also versuch das mal:

PHP:
 $sql = "select
 name
 from
 tabelle
 order by suchfeld(Datum oder ID o.ä.)
 LIMIT 1
 ;";

das mit max() in einer where-Klausel ist mal gar nicht so einfach, lt. Handbuch wird das dann mit einer Sub-Query gemacht.
 
Nee jetzt kommt das:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(namen) LIMIT 1' at line 5
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web123/html/german/community/intern/forum.php on line 430

In der Zeile steht:

PHP:
 $_data = mysql_fetch_assoc($return);
 
Zurück