SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.03.2012, 15:05:53
himmelsW himmelsW ist offline
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>';
  
  } 
Mit Zitat antworten
  #2  
Alt 20.03.2012, 15:43:26
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: tabellenausgabe

Hallo und willkommen hier im Forum.


Zitat:
Zitat von himmelsW Beitrag anzeigen
[..]
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!
Mit Zitat antworten
  #3  
Alt 20.03.2012, 16:00:45
himmelsW himmelsW ist offline
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 =)
Mit Zitat antworten
  #4  
Alt 20.03.2012, 16:24:17
derNichtGlaubt derNichtGlaubt ist offline
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!
Mit Zitat antworten
  #5  
Alt 20.03.2012, 17:19:37
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: tabellenausgabe

Zitat:
Zitat von himmelsW Beitrag anzeigen
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 Beitrag anzeigen
[..] 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!
Mit Zitat antworten
  #6  
Alt 20.03.2012, 19:57:47
himmelsW himmelsW ist offline
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>';

Mit Zitat antworten
  #7  
Alt 21.03.2012, 18:13:34
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: tabellenausgabe

Zitat:
Zitat von himmelsW Beitrag anzeigen
[...]
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!
Mit Zitat antworten
  #8  
Alt 22.03.2012, 12:37:06
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: tabellenausgabe

Zitat:
Zitat von himmelsW Beitrag anzeigen
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.
Mit Zitat antworten
  #9  
Alt 29.03.2012, 17:54:02
himmelsW himmelsW ist offline
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"];
     
  }

Mit Zitat antworten
  #10  
Alt 29.03.2012, 18:45:15
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: tabellenausgabe

Zitat:
Zitat von himmelsW Beitrag anzeigen
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...
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellenausgabe umkehren Doc_McSky MySQLi/PDO/(MySQL) 5 17.06.2010 14:18:09
Formatierung bei Tabellenausgabe PHP/MySQL ceptar PHP Grundlagen 8 17.02.2006 21:43:41
Komplette Tabellenausgabe in Datei Blue7 MySQLi/PDO/(MySQL) 12 17.02.2004 21:48:11
Tabellenausgabe zu lang - verteilen, wie? marty2 PHP für Fortgeschrittene und Experten 4 23.10.2002 15:37:32


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:37:47 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt