PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
[PHP & mysql] aktuellesten Eintrag hervorheben
Beitrag
<blockquote data-quote="Curanai" data-source="post: 2703331" data-attributes="member: 534923"><p>Ui, das läuft falsch - hallo in die Runde. Freut mich, dass Du, Zaolat, wieder dran bist ... anders lernt man es ja auch nicht. <img src="/styles/default/xenforo/smilies/zwinker.gif" class="smilie" loading="lazy" alt=";)" title="Wink ;)" data-shortname=";)" /> Legen wir also mal los ...</p><p></p><p>Wie webcasi schrieb, ist Dein "break" falsch - es war in XHTML mal so, dass es als "<br />" geschrieben wurde, in HTML5 macht man (wie in HTML4.01) eigentlich nur noch "<br>". Und, webcasi, einen öffnenden "<br>" gab es noch nie. <img src="/styles/default/xenforo/smilies/biggrin.gif" class="smilie" loading="lazy" alt=":D" title="Big Grin :D" data-shortname=":D" /></p><p></p><p>Dann lass Dich bitte nicht vom Muster von webcasi verwirren - dt und dd (die Tags) sind für Definitionslisten und ihre Daten. Bitte nicht einfach so übernehmen ... das ist HTML5-Semantik und wenn Du es Dir jetzt falsch aneignest, wirst Du Dich im Pro-Bereich später wundern, warum etwas nicht klappt - bspw. mit Google. Sorry, webcasi, vergiss Du, Zaolat, das Posting mit dem CSS von webcasi. <img src="/styles/default/xenforo/smilies/biggrin.gif" class="smilie" loading="lazy" alt=":D" title="Big Grin :D" data-shortname=":D" /> (gerade der Einsatz von em mit Prozent etc. ... nein, <em>viel zu früh</em> für unseren Zaolat)</p><p></p><p>Also ... Ausgabe ... aufgrund der verschiedenen Browser und ihren Eigenarten ist es IMMER, IMMER und IMMER notwendig, dass Du für alle Browser eine Basis schaffst. Nur als Beispiel: Dein benutztes Paragraph-Tag wird in den drei gängigen Browsern unterschiedlich dargestellt; ausgelöst durch das "margin" (Außenabstand) nach unten. Stellst Du bpsw. vier Parapraphen untereinander, gibt es immer leichte Abweichungen in verschiedenen Browsern.</p><p></p><p>Um dies zu umgehen, setzt man alle Browser-Standardwerte erstmal zurück. Hierzu bedient man sich etwas namens "normalize.css" (darüber findest Du via Google eine CSS-Datei, die diesen Job für Dich macht; ins Projekt einbinden und ab da sieht Dein Aufbau für alle Browser gleich aus; hier liegt die aktuelle <a href="https://necolas.github.io/normalize.css/8.0.1/normalize.css" target="_blank">Version 8.01</a> [originale Herausgeber-Seite]).</p><p></p><p>Sooo ... dann wirst Du irgendwo schon - was webcasi korrekt meinte - CSS im Einsatz haben, was jetzt wohl einen "float" (ähnlich Fließtext um ein Bild) hat ODER Dein Parapraph (das p-Tag) ist in seiner Breite von Dir angefasst worden ("width: 200px" bspw.); dann flanscht der Browser womöglich einen Folge-Pragraph direkt dahinter und es sieht einreihig aus. Einblick kannst Du Dir mittels Rechtsklick verschaffen - mit der sog. "Entwicklerkonsole". Hierzu klickt Du mal bitte mit der rechten Maus auf eine Deiner Ausgaben und wählst im sich öffnenden Menü "Untersuchen" (Firefox: Element untersuchen) aus. Du bekommst dann in einem weiteren Fenster exakt diese Stelle im Quellcode angezeigt - zzgl. CSS.</p><p></p><p>Vorschlag: Nimm mal die Paragraphen raus und arbeite zu anfangs nur mit "<br><br>" (zwei Mal Zeilenumbruch).</p><p></p><p>Soweit so chic ... und DANN wäre da das Problem mit Deinem Wunsch: ein "echo" im PHP an einer Stelle irgendwo in der HTML-Seite. Mmmhm ... ich mache sowas hier schon etwas länger und kenne organisch gewachsene Projekte: tue es nicht! Generiere Dir im PHP-Teil die Ausgabe und schreibe diese in eine Variable. An der Stelle, wo das ausgegeben werden soll, gibt es max ein "echo $meineVariableMitDemString;" - fertig!</p><p></p><p>Als Beispiel gaaanz rudimentär erklärt ...</p><p></p><p>[php]</p><p><?php </p><p>$meinString = ""; // leer</p><p>for ($i = 0; $i < 10; $i++) {</p><p> $meinString .= $i . " - ";</p><p>}</p><p>?></p><p><html></p><p> <body></p><p> <?php echo $meinString; // ergibt sowas wie: 0 - 1 - 2 - ... 9 - ?></p><p> </body></p><p></html></p><p>[/php]</p><p></p><p>Mit anderen Worten: Trenne Logik von Ausgabe! Du wirst es mir - wenn Du am Ball bleibst - irgendwann mal später danken!!! Spätestens dann, wenn Du Klassen und Funktionen für Dich entdeckst, geht's rund mit return-Werten etc.</p><p></p><p>Was Dir mein kleines Beispiel oben auch zeigt: wie Du Zeichenketten "konkatenierst" - also einfach aneinander hängst. Das regelt der "Punkt" (.). Statt also ... </p><p> [php]echo $a; echo $b;[/php]</p><p>... zu machen, probiere dies ...</p><p>[php] echo $a . " " . $b;[/php]</p><p></p><p>Der Punkt verbindet zwei Zeichenketten - ich habe mittels " " noch ein Leerzeichen dazwischen gesetzt.</p><p></p><p>Damit ergibt sich für Dein Beispiel oben ...</p><p>[php]</p><p><?php</p><p> </p><p> $sql = "SELECT * FROM whiteboard_eintraege WHERE done = 0 ORDER BY datum";</p><p> $ausgabe = ""; // neu!</p><p> $aktuelleZeit = time(); // da schlug ich vor, den nur 1x abzufragen</p><p> foreach ($pdo->query($sql) as $row) {</p><p> $timestamp = strtotime($row['time']);</p><p> if (($timestamp + 3600) >= $aktuelleZeit) {</p><p> $ausgabe .= "<p class='aktuell'>" . $row['datum'] . " - " . $row['eintrag'] . "</p><br>";</p><p> } else {</p><p> $ausgabe .= "<p class='alt'>" . $row['datum'] . " - " . $row['eintrag'] . "</p><br>";</p><p> }</p><p> }</p><p></p><p> echo $ausgabe; // !</p><p>?></p><p>[/php]</p><p></p><p>Eines muss ich Dir jetzt schon hoch anrechnen - Du scheinst mit der PSR (Code-und Formatierungsrichtlinien für PHP in Kontakt gekommen zu sein): foreach () { ... } ... oder if () { ... } ... (die Formatierung und eingesetzten Leerschritte) ... das ist schon goldrichtig!! Super Sache und gut gemacht!!!</p><p></p><p>Meld Dich, wenn es irgendwo knirscht oder Probleme gibt ... !</p></blockquote><p></p>
[QUOTE="Curanai, post: 2703331, member: 534923"] Ui, das läuft falsch - hallo in die Runde. Freut mich, dass Du, Zaolat, wieder dran bist ... anders lernt man es ja auch nicht. ;) Legen wir also mal los ... Wie webcasi schrieb, ist Dein "break" falsch - es war in XHTML mal so, dass es als "<br />" geschrieben wurde, in HTML5 macht man (wie in HTML4.01) eigentlich nur noch "<br>". Und, webcasi, einen öffnenden "<br>" gab es noch nie. :D Dann lass Dich bitte nicht vom Muster von webcasi verwirren - dt und dd (die Tags) sind für Definitionslisten und ihre Daten. Bitte nicht einfach so übernehmen ... das ist HTML5-Semantik und wenn Du es Dir jetzt falsch aneignest, wirst Du Dich im Pro-Bereich später wundern, warum etwas nicht klappt - bspw. mit Google. Sorry, webcasi, vergiss Du, Zaolat, das Posting mit dem CSS von webcasi. :D (gerade der Einsatz von em mit Prozent etc. ... nein, [I]viel zu früh[/I] für unseren Zaolat) Also ... Ausgabe ... aufgrund der verschiedenen Browser und ihren Eigenarten ist es IMMER, IMMER und IMMER notwendig, dass Du für alle Browser eine Basis schaffst. Nur als Beispiel: Dein benutztes Paragraph-Tag wird in den drei gängigen Browsern unterschiedlich dargestellt; ausgelöst durch das "margin" (Außenabstand) nach unten. Stellst Du bpsw. vier Parapraphen untereinander, gibt es immer leichte Abweichungen in verschiedenen Browsern. Um dies zu umgehen, setzt man alle Browser-Standardwerte erstmal zurück. Hierzu bedient man sich etwas namens "normalize.css" (darüber findest Du via Google eine CSS-Datei, die diesen Job für Dich macht; ins Projekt einbinden und ab da sieht Dein Aufbau für alle Browser gleich aus; hier liegt die aktuelle [URL='https://necolas.github.io/normalize.css/8.0.1/normalize.css']Version 8.01[/URL] [originale Herausgeber-Seite]). Sooo ... dann wirst Du irgendwo schon - was webcasi korrekt meinte - CSS im Einsatz haben, was jetzt wohl einen "float" (ähnlich Fließtext um ein Bild) hat ODER Dein Parapraph (das p-Tag) ist in seiner Breite von Dir angefasst worden ("width: 200px" bspw.); dann flanscht der Browser womöglich einen Folge-Pragraph direkt dahinter und es sieht einreihig aus. Einblick kannst Du Dir mittels Rechtsklick verschaffen - mit der sog. "Entwicklerkonsole". Hierzu klickt Du mal bitte mit der rechten Maus auf eine Deiner Ausgaben und wählst im sich öffnenden Menü "Untersuchen" (Firefox: Element untersuchen) aus. Du bekommst dann in einem weiteren Fenster exakt diese Stelle im Quellcode angezeigt - zzgl. CSS. Vorschlag: Nimm mal die Paragraphen raus und arbeite zu anfangs nur mit "<br><br>" (zwei Mal Zeilenumbruch). Soweit so chic ... und DANN wäre da das Problem mit Deinem Wunsch: ein "echo" im PHP an einer Stelle irgendwo in der HTML-Seite. Mmmhm ... ich mache sowas hier schon etwas länger und kenne organisch gewachsene Projekte: tue es nicht! Generiere Dir im PHP-Teil die Ausgabe und schreibe diese in eine Variable. An der Stelle, wo das ausgegeben werden soll, gibt es max ein "echo $meineVariableMitDemString;" - fertig! Als Beispiel gaaanz rudimentär erklärt ... [php] <?php $meinString = ""; // leer for ($i = 0; $i < 10; $i++) { $meinString .= $i . " - "; } ?> <html> <body> <?php echo $meinString; // ergibt sowas wie: 0 - 1 - 2 - ... 9 - ?> </body> </html> [/php] Mit anderen Worten: Trenne Logik von Ausgabe! Du wirst es mir - wenn Du am Ball bleibst - irgendwann mal später danken!!! Spätestens dann, wenn Du Klassen und Funktionen für Dich entdeckst, geht's rund mit return-Werten etc. Was Dir mein kleines Beispiel oben auch zeigt: wie Du Zeichenketten "konkatenierst" - also einfach aneinander hängst. Das regelt der "Punkt" (.). Statt also ... [php]echo $a; echo $b;[/php] ... zu machen, probiere dies ... [php] echo $a . " " . $b;[/php] Der Punkt verbindet zwei Zeichenketten - ich habe mittels " " noch ein Leerzeichen dazwischen gesetzt. Damit ergibt sich für Dein Beispiel oben ... [php] <?php $sql = "SELECT * FROM whiteboard_eintraege WHERE done = 0 ORDER BY datum"; $ausgabe = ""; // neu! $aktuelleZeit = time(); // da schlug ich vor, den nur 1x abzufragen foreach ($pdo->query($sql) as $row) { $timestamp = strtotime($row['time']); if (($timestamp + 3600) >= $aktuelleZeit) { $ausgabe .= "<p class='aktuell'>" . $row['datum'] . " - " . $row['eintrag'] . "</p><br>"; } else { $ausgabe .= "<p class='alt'>" . $row['datum'] . " - " . $row['eintrag'] . "</p><br>"; } } echo $ausgabe; // ! ?> [/php] Eines muss ich Dir jetzt schon hoch anrechnen - Du scheinst mit der PSR (Code-und Formatierungsrichtlinien für PHP in Kontakt gekommen zu sein): foreach () { ... } ... oder if () { ... } ... (die Formatierung und eingesetzten Leerschritte) ... das ist schon goldrichtig!! Super Sache und gut gemacht!!! Meld Dich, wenn es irgendwo knirscht oder Probleme gibt ... ! [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ★ = 12, ◇ = 4 und die Hälfte von ★ zu ◇ addiert wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
[PHP & mysql] aktuellesten Eintrag hervorheben
Oben