Hallo,
ich bin ein Blutiger anfänger was PHP angeht und was Mysql angeht noch mehr.
Ich habe auch bereits versucht an die informationen ranzukomemn die ich suche in dem ich google und andere quellen ausgefragt habe.
also ich habe eine tabelle.. es ist eine Kommentartabelle...
In der Tabelle werden Kommenatre für Bilder abgelegt, das heist. es ist so das Pro Bild auch mehrere Kommentare abgelegt sind.
Mein vorhaben: ich möchte aus dem Datenbank die letzten 15 oder 20 Kommentare auslesen und zwar so das aber pro bild nur ein Kommentardatensatz vorhanden ist.
Also, ich möchte nacher in meinem array diese daten drinn haben um damit weiterarbeiten zu können.
Mit welcher funktionen könnte ich das machen, da ich wirklich sehr frisch einsteige weis ich nicht nach welcher funktionen ich suchen muss.
vielen dank im vorraus
faruk
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Anfänger] Daten Sortieren und Filtern mit Mysql
Einklappen
Neue Werbung 2019
Einklappen
X
-
[Anfänger] Daten Sortieren und Filtern mit Mysql
Stichworte: -
-
Ein Gast antworteteerste schritt ist getan:
die query habe ich so hinbekommen:
PHP-Code:<?php
SELECT `kommentarzeit`, `imgid`,
SUBSTRING( MAX( CONCAT(LPAD(`kommentarzeit`,10,'0'),`userid`) ), 11) AS userid,
SUBSTRING( MAX( CONCAT(LPAD(`kommentarzeit`,10,'0'),`comment`) ), 11) as comment
FROM `bb1_jgs_galerie_kommentar` GROUP BY `imgid` order by id desc
?>
ich habe sie zwar nur in der sql-konsole getest aber dort funktioniert sie einwandfrei
als nächtes brauche eine möglichkeit aus dem userid direkt den namen des users sowie den bildnamen die jeweils in einer anderen tabelle sind herauszubekommen...
-
Ein Gast antwortetevielen dank, mir geht es vorerst darum das ich in den array das reinkriege was ich zum weiterarbeiten brauche.
Richtig ist das ich die grundlagen lernen muss, deswegen habe ich letzten wochende samstag und sonntag auch ein grundlagen kurs fürPHP besucht, leider ohne Mysql, der kommt erst im dezember.
Ich frage erst hier nach dem ich wie heute auch mehre stunden versucht habe das zu finden was ich brauche und das uch zu verstehen, nur an einem Praxisbeispiel den ich auch selber gebrauchen kann lerne ich am besten den es bringt mir nichts wenn ich das code den ich brauche nicht verstehe.. deswegen gehe ich ja auch schritt für schritt vor. Sonst könnt ich jemanden auch geld geben und der macht das für mich, nur ich will es ja lernen.
Ich kann jetzt nach dem PHP kurs nun ein textarea auswerten und dann mit echo befehl ausgeben.. und zuvor überpüfen ob im feld auch wirklich was steht...
wie auch immer...
ich greife in die abfdrage des forums den ich betreibe um einfach ein username und pasworteingabe zu verhindern damit ich keine sicherheitslücken einprogrammiere...
in der in der tabelle sind folgende spalten:
id, imgid, comment, kommentarzeit
Ich möchte nach kommentarzeit absteigent sortieren lassen-. das habe ichd amit geschafft
SELECT * FROM `bb1_jgs_galerie_kommentar` order by "kommentarzeit" desc
dann kann ich wie folgt duplikate im feld "imgid" entfernen:
SELECT * FROM `bb1_jgs_galerie_kommentar` group by "imgid"
gibst es nicht eine möglichkeit das ich order by und group by in einer abfrage zusammen verwenden kann?
als resultat würde ich gerne das ich zuerst nach kommentarzeit absteigend sortiere und dann mit der spalte imgid die duplikaten bereinige so das am ende die zuletzt kommentierten bilder erhalte so aber das im array die anderen daten noch erhalten bleiben, da ich kommentarzeit, imgid, comments usw brauche...
mein code sieht mommentan wie folgt aus:
PHP-Code:<?php
require("jgs_galerie_global.php");
require ("./acp/lib/class_parse.php");
//Die letzten 10 Kommentare
$result = $db->query("SELECT * FROM bb".$n."_jgs_galerie_kommentar ORDER BY kommentarzeit DESC LIMIT 0, 10");
while($row=$db->fetch_array($result)){
echo date("j.m.Y",$row["kommentarzeit"])." kommentar: ".$row['comment']."
";
}
?>
ergebniss:
http://www.hobbyphotographen.de/jgs_portal.php?id=61
Einen Kommentar schreiben:
-
Ein Gast antworteteda ich wirklich sehr frisch einsteige weis ich nicht nach welcher funktionen ich suchen muss.
http://www.php.net/manual/de
http://www.php-faq.de
http://www.schattenbaum.net/php/ (leider etwas veraltet)
http://www.galileocomputing.de/openbook/php4 (leider etwas veraltet)
http://tut.php-q.net/index.html
http://dev.mysql.com/doc/mysql/de/index.html
http://ffm.junetz.de/members/reeg/DSP/
http://www.phptutorials.de
http://www.dynamic-webpages.de/05.tutorials.php
Es bringt dir nämlich nichts, wenn du hier eine Lösung geschrieben bekommst, diese aber dann nicht verstehst.
Gruß
phpfan
Einen Kommentar schreiben:
-
Ein Gast antworteteSo ist besser:
<?php
$result = $db->query("SELECT * FROM bb".$n."_jgs_galerie_kommentar ORDER BY kommentarzeit DESC LIMIT 0, 10");
while($row = mysql_fetch_row($result))
{
echo"Feld1 von Tabelle: $row[0]";
echo"Feld2: $row[1]";
echo"Feld3: $row[2]";
usw...
}
?>
Einen Kommentar schreiben:
-
Ein Gast antwortetejein, $result ist aus php kein Feld sondern eine resource.
mit mysql_fetch_array/row/assoc/object liest Du darüber jeweils einen Datensatz aus.
Bei http://de3.php.net/mysql_fetch_array stehen auch Beispiele, an denen Du Dich orientieren kannst/sollst.
Von welcher Klasse ist $db ein Objekt? (Anders gefragt: Was für eine Datenbankklasse verwendest Du? Gibt es dafür evtl auch eine Funktion wie zB fetch_row?)
Einen Kommentar schreiben:
-
Ein Gast antworteteich habe gerade gemerkt ich muss von ganz vorne...
daher ein schritt nach dem anderen..
um eine tabelle auszulesen benutze ich folgende query anweisung:
PHP-Code:<?php
$result = $db->query("SELECT * FROM bb".$n."_jgs_galerie_kommentar ORDER BY kommentarzeit DESC LIMIT 0, 10");
?>
PHP-Code:<?php
print_r($result);
?>
deResource id #47
müsste ich jetzt den array $result mit mysql-fetch-array in ein asoziativen array verwandeln, mache ich das am besten in einer for each schleife?
Einen Kommentar schreiben:
-
schau dir mal das an:
http://php.benscom.com/manual/de/fun...etch-array.php
fals du ein bischen code zur veranschaulichung hast, her damit
Einen Kommentar schreiben:
Einen Kommentar schreiben: