CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
20.03.2012, 15:05:53
|
Anfänger
|
|
Registriert seit: Mar 2012
Alter: 37
Beiträge: 4
|
|
tabellenausgabe
hi,
ich bin erst relativ kurz dabei, sql und php zu verstehen,
und habe seit einigen tagen ein problem, dass ich trotz googlen und forensuchen
nicht lösen kann,...
ich habe 2 tabellen:
news:
- id_news
- news_title
- news_content
imgs_general:
- id_imgs_general
- news_imgs_id (<- id_news zugeordnet)
- imgs_general_title
- imgs_general_descr
wie mach ich, dass der nur so viele news anzeigt, wie auch vorhanden sind und unter jedem news-eintrag aber alle zugehörigen bilder?
ich möchte nach möglichkeit jeden news eintrag in nem eigenen div container, und die bilder darin dann vllt später in nem grid anzeigen lassen...
freue mich über jede hilfe, habs nämlich schon fast aufgegeben...
mein bisheriger code:
PHP-Code:
$res=mysql_query("SELECT * FROM news LEFT JOIN imgs_general ON news.id_news=imgs_general.news_imgs_id ORDER BY news.id_news DESC");
while ($row = mysql_fetch_assoc($res)) { echo '<div style="border: 1px solid black;">' . '<h1>' . $row['news_title'] . '</h1>' . '<p><span style="color:#CCC;">' . $row['news_title'] . '</span></p>' . '<img src="images/imgs_general/' . $row['imgs_general_url'] . '" /></td>' . '</div>'; }
|
20.03.2012, 15:43:26
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: tabellenausgabe
Hallo und willkommen hier im Forum.
Zitat:
Zitat von himmelsW
[..]
wie mach ich, dass der nur so viele news anzeigt, wie auch vorhanden sind und unter jedem news-eintrag aber alle zugehörigen bilder?
ich möchte nach möglichkeit jeden news eintrag in nem eigenen div container, und die bilder darin dann vllt später in nem grid anzeigen lassen...
|
Wieso - erhälst Du mehr News als Du in der Datenbanktabelle hast?
Vlt. solltest Du auf JOIN verzichten und die Daten für die Darstellung in zwei Schritten ermitteln.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
20.03.2012, 16:00:45
|
Anfänger
|
|
Registriert seit: Mar 2012
Alter: 37
Beiträge: 4
|
|
AW: tabellenausgabe
ich habe momentan 2 news zum testen angelegt,
den ersten news sind 3 bilder zugeordnet und den zweiten news 4 bilder,
d.h., die ersten news werden 3x ausgegeben und die zweiten 4x....
ja, wenns gar nichts mehr wird,
werd ich wohl 2 abfragen starten...
ka, wie sich das dann im laufe der zeit performance-mäßig bemerkbar macht (wenns das überhaupt tut)...
wie gesagt, aller erste schritte auf dem gebiet =)
|
20.03.2012, 16:24:17
|
Anfänger
|
|
Registriert seit: Jul 2011
Alter: 65
Beiträge: 45
|
|
AW: tabellenausgabe
Warum * (=ALLES) abfragen wenn Du doch nur 3 Infos brauchst ?
Vielleicht hilft Dir folgendes (falls ALLE news Bilder haben):
PHP-Code:
$QUERY = "SELECT A.news_title, A.news_content, B.imgs_general_url FROM news AS A, imgs_general AS B WHERE A.id_news = B.news_imgs.id ORDER BY A.id_news DESC";
$res=mysql_query($QUERY);
while ($row = mysql_fetch_row($res)) { echo '<div style="border: 1px solid black;">' . '<h1>' . $row[0] . '</h1>' . '<p><span style="color:#CCC;">' . $row[1] . '</span></p>' . '<img src="images/imgs_general/' . $row[2] . '" /></td>' . '</div>'; }
p.s.: die hier gewählte Schreibweise für den SQL-Abfragestring erhöht, so wie die
Abkürzung der Tabellennamen mittels AS-Anweisung die Übersichtlichkeit und hilft
bei der Fehlersuche ungemein!
|
20.03.2012, 17:19:37
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: tabellenausgabe
Zitat:
Zitat von himmelsW
ich habe momentan 2 news zum testen angelegt,
den ersten news sind 3 bilder zugeordnet und den zweiten news 4 bilder,
d.h., die ersten news werden 3x ausgegeben und die zweiten 4x....
|
Ergebnis des JOINs.
Zitat:
Zitat von himmelsW
[..] ja, wenns gar nichts mehr wird,
werd ich wohl 2 abfragen starten...
ka, wie sich das dann im laufe der zeit performance-mäßig bemerkbar macht (wenns das überhaupt tut)...
wie gesagt, aller erste schritte auf dem gebiet =)
|
Hier könnte die Anzeige von einer fest definierten Anzahl von News (z.Bsp. immer nur 10) mit entsprechender Seitennavigation auch interessant sein.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
20.03.2012, 19:57:47
|
Anfänger
|
|
Registriert seit: Mar 2012
Alter: 37
Beiträge: 4
|
|
AW: tabellenausgabe
@derNichtGlaubt:
ja, da hast du recht,... danke für den tip,
werde das auch so machen,... zum rumprobieren habe ich mir jetzt erstmal einfach alles ausgeben lassen,
ging grad schneller, einfach n sternchen zu tippen...
@vt1816:
werd ich wohl ebenfalls umsetzen, danke!
so, ihr werdet euch bestimmt die hände über dem kopf zusammenschlagen,
wenn ihr meinen code seht, aber ich bin grad froh, dass es klappt,
auch wenn der bestimmt 10 mio mal durch die einträge loopt....
PHP-Code:
$sql_rsNews = mysql_query("SELECT * FROM news ORDER BY news.id_news DESC LIMIT 10"); $sql_rsIMGs=mysql_query("SELECT * FROM imgs_general ORDER BY id_imgs_general DESC");
while($r[]=mysql_fetch_array($sql_rsIMGs)); array_pop($r);
$thumbs = array(); foreach($r as $i => $ImgResult ) { $thumbs[] = array( 'irID' => $ImgResult['id_imgs_general'], 'irNewsID' => $ImgResult['news_imgs_id'], 'irTitle' => $ImgResult['imgs_general_title'], 'irURL' => $ImgResult['imgs_general_url'], 'irDescr' => $ImgResult['imgs_general_descr'] ); }
while($newsResult = mysql_fetch_assoc($sql_rsNews)) { echo 'NEWSTITEL: '.$newsResult['news_title'].'<br>'; foreach( $thumbs as $thumb) { if ($thumb['irNewsID'] == $newsResult['id_news']){ echo '<img src="images/imgs_general/thumbnails2/'.$thumb['irURL'].'" alt="" /><br>'; echo 'thumbNewsID: '.$thumb['irNewsID'].', newsID: '.$newsResult['id_news'].', nr.: <span style="color: red;">'.$thumb['irNewsID'].'</span><br>'; }; } echo '<hr>'; }
|
21.03.2012, 18:13:34
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: tabellenausgabe
Zitat:
Zitat von himmelsW
[...]
so, ihr werdet euch bestimmt die hände über dem kopf zusammenschlagen,
wenn ihr meinen code seht, aber ich bin grad froh, dass es klappt,
auch wenn der bestimmt 10 mio mal durch die einträge loopt....
|
Finde es immer gut, wenn NewPHPler erst programmieren und dann nachdenken was sie eigentlich wollen.
Nun wenn Du zufrieden bist - dann mach es. Wir lesen uns dann wieder, wenn die Applikation zu langsam wird und Du nach Optimierungen fragst.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
22.03.2012, 12:37:06
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: tabellenausgabe
Zitat:
Zitat von himmelsW
so, ihr werdet euch bestimmt die hände über dem kopf zusammenschlagen,
|
Genau. So, wie Du simple Datenbanklogik mit PHP nachbastelst, kann man vermuten, daß Du nur mit wenigen Besuchern rechnest, denen Du Deine news-Häppchen servieren möchtest.
|
29.03.2012, 17:54:02
|
Anfänger
|
|
Registriert seit: Mar 2012
Alter: 37
Beiträge: 4
|
|
AW: tabellenausgabe
ja, danke für die kritik.
ich weiß schon, was ich will.. ich weiß es nur nicht umzusetzen..
es ist eben auch nicht so einfach, gleich alles nachzuvollziehen, wenn man null plan hat...
ich werde versuchen, es mit einem gruppenwechsel zu lösen,
auch wenn ich mich dann erstmal ind dieses if-abfragen zeugs reinversetzen muss.
das hier funktioniert soweit auch erstma ganz gut...
schüss
PHP-Code:
$query_rsNews = "SELECT * FROM news n LEFT JOIN imgs_general ig ON n.id_news =ig.news_imgs_id ORDER BY n.id_news DESC, ig.id_imgs_general DESC "; $result = mysql_query($query_rsNews);
$count = NULL; while ($row = mysql_fetch_assoc($result)) { if ($row['id_news'] != $count) { echo '</div>'; $boxStyle++; $newsContainer = "newsContainer".$boxStyle%2; echo '<div class="'.$newsContainer.'">'; echo '<b>'.$row['news_title'].'</b><br>'; $count = $row['id_news']; } if ($row['id_imgs_general'] != "") { echo $row["imgs_general_title"]; } }
|
29.03.2012, 18:45:15
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: tabellenausgabe
Zitat:
Zitat von himmelsW
ja, danke für die kritik.
|
Gerne. SQL ist strukturierte Mengenlehre.
Zitat:
...wenn man null plan hat...
|
Mach aus der null ne eins und beginne mit der Planung.
Zitat:
das hier funktioniert soweit auch erstma ganz gut...
|
1: Bienchen oder Fleißpunkte gibts erst dann wenn der * weg is.
2. verwende die mysqlI Extension und nutze da den "oo style"
Ich spinne mal ein wenig:
PHP-Code:
require __dir__ . '/lib/config.php'; $db = new mysqli( $hostname, $username, $passwort, $datenbankname); if ($db->connect_error) { die('Connect Error: ' . $mysqli->connect_error); }
$sql = "janz wildes SQL"; $result = $db->query($sql);
# meine Lieblingstemplateklasse von R. Geschke # http://kuerbis.org/asap/article/15/ktemplate-download.html
$t = new template(INDEX); # das mastertemplate $ts = new template(SNIPPETS); # ein Schnipseltemplate
# die GROSSgeschriebenen Bezeichner sind entweder die # Variablenplatzhalter {TITLE} oder die Blockbezeichner # <!-- BEGIN ZEILE_ROT --> # viel HTML und {} # <!-- END ZEILE_ROT -->
# Geschke verwendet die magischen Methoden __get() und __set()
$t->TITLE = "heute neu in diesem Mäusekino"; $t->CHARSET = 'UTF-8';
$c = 0; while ($row = $result->fetch_assoc()) { $trow = (($c % 2) != 0) ? $ts->ZEILE_ROT : $ts->ZEILE_BLAU; $trow->HL = $row['ueberschrift']; $trow->TEXT = $row['text']; $t->NEWS = $trow; $trow->reset(); } $t->out(); # das einzige Echo im janzen Scriptgetümmel
So oder so ähnlich...
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:37:47 Uhr.
|