nur eine bestimmte länge ausgeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • nur eine bestimmte länge ausgeben

    n Abend miteinander,

    wie ich in meinem letzten Thread shcon angedeutet hab, habe ich eine weitere frage:

    wie kann ich die ausgabe einer datenbank-zelle eingrenzen?

    Beispiel zum leichteren Verständnis:

    in einer Datenbank-zelle sind mehrere lange Sätze... (news). diese werden kommtplat per $_GET['id'] über deren id aufgerufen, doch auf der news.php hauptseite (also ohne ?id=x) soll das datum (hab ich bereits), die ZWEI ERSTEN ZEILEN auf der seite (nicht aus der datenbank)ausgegeben werden und das soll halt so lang sein, wie halt der bildschirm des aufrufers ist... dass imme rnur zwei zeilen da sein und dann ein link zur kompletten news (hab ich auch bereits). Ich hoffe, es ist verständlich so, wnen nicht, dann versuchs ich mal per Screenshot (müsst ihr mir aber bitte sagen;))

    Ich zähl mal wieder auf euch:D
    LG

    Fipsi
  • öhm... will ja jez keinen Doppelpost machen, ich will nur mal dran erinnern, dass cih mcih über ne antwort sehr freuen würde^^
    Und ich reih ncoh ne frage ein: Is es dann auch mödlich, die news in der flaschen reihenfolge anzeigen zu lassen? weil jetzt stehen die alten oben und ie neuen unten, dass das andersrum ist?

    LG

    Fipsi
  • Fipsi schrieb:

    Is es dann auch mödlich, die news in der flaschen reihenfolge anzeigen zu lassen? weil jetzt stehen die alten oben und ie neuen unten, dass das andersrum ist?
    Fipsi


    Hierfür kannst du die SQL-Klausel ORDER-BY benutzen. Anbei eine große Auflistung von Dingen, die du mit SQL anstellen kannst. Link

    Mit freundlichen Grüßen

    Sheldon
  • Ich glaube du verstehst etwas anderes unter Länge als wir.
    Mit SQL Limit() grenzt du die Anzahl der Datensätze ein. Du hast zum Beispiel 6 passende Datensätze, die dir zurück gegeben würden. Dich interessieren jedoch nur die ersten drei, so würdest du am Ende deines Querys LIMIT(3) schreiben. Damit hört MySQL nach dem dritten passenden Datensatz auf zu suchen und liefert dir die frei passenden zurück.
    Allerdings kann ich dort in keinster Weise Pixel in Relation bringen, wie du weiter oben geschrieben hast.
    Vielleicht meinst du ja auch etwas völlig anderes mit Länge, dann musst du es uns aber genauer erläutern.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • ok, das kann falsch verstanden worden sein mit zeile und so... ich meinte nicht, wieviel zeilen von der datenbank ausgelesen werden sollen, sondern wieviele zeilen zum lesen, also inhaltenlich von den News angezeigt werden sollen.
    Hier zum vereinfachen:

    09.01.2010: Und wieder wurde etwas an der Website geändert. Es betifft nicht das Layout, den Inhalt, oder sonstiges, richtig sichtbares, sondern die Struktur.
    Dank php sind die Strukturen jetzt vereinfacht und wesentlich übersichtlicher, für die Coder.
    Solche Neuerungen sind leider auch immer mit Problemen verbunden. Falls also etwas nicht richtig funktioniert, benutzt bitte das Kontaktformular und sagt uns, was nicht funktioniert.[...]
    Wird angezeigt... ich will jetzt aber nur die ersten zwei zeilen, also bis "für die Coder."

    (weiß leide rnich, wieso der screenshot bei mir nimmer geht:()
  • Dafür könntest du substr oder wordwrap benutzen.
    Alternativ kannst du diese Aufgabe auch von MySQL mit SUBSTRING() lösen lassen. Der Einfachheit halber würde ich dir als Anfänger erst einmal die oben genannten PHP-Funktionen empfehlen.
    Wie man sie benutzt, kannst du prima in den Links nachlesen.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Deadman44 ()

  • *hust* so soll das eigenmtlich nicht aussehen: "Warning: wordwrap() expects parameter 1 to be string, array given in C:\xampp\htdocs\news.php on line 35"^^

    Quellcode

    1. $handle = file("data/templates/inhalt/news.txt");
    2. $file_array[$row->id] = $handle;
    3. $inhalt = $file_array[$row->id];
    4. $news_inhalt = wordwrap( $inhalt, 300 );
    5. echo $news_inhalt;'<br />';


    ode rmach ich nur mal wieder was falsch?^^
  • Du übergibst wordwrap() einen Array, es sollte aber ein String sein.
    Da ich deine Datenstrukturen nicht kenne, würde mir die Ausgabe von var_dump($inhalt); helfen.
    Alternativ hier ein Versuch ohne funktionsfähige Glaskugel ;):

    Quellcode

    1. $handle = file("data/templates/inhalt/news.txt");
    2. $file_array = $handle;
    3. $inhalt = $file_array[$row->id];
    4. $news_inhalt = wordwrap( $inhalt, 300 );
    5. echo $news_inhalt;'<br />';
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • Deadman44 schrieb:


    Da ich deine Datenstrukturen nicht kenne, würde mir die Ausgabe von var_dump($inhalt); helfen.


    kannste haben:
    array(4) { [0]=> string(3) "0 " [1]=> string(692) [...] [3]=> string(843) [...] array(4) { [0]=> string(3) "0 " [1]=> string(692)

    Deadman44 schrieb:


    Alternativ hier ein Versuch ohne funktionsfähige Glaskugel ;):

    Quellcode

    1. $handle = file("data/templates/inhalt/news.txt");
    2. $file_array = $handle;
    3. $inhalt = $file_array[$row->id];
    4. $news_inhalt = wordwrap( $inhalt, 300 );
    5. echo $news_inhalt;'<br />';


    wird alles angezeigt... aber eben alles, also funzt nich...
  • Sry, zu schnell geantwortet. Wie gesagt, ist im Moment ein bisschen hektisch um mich herum
    wordwrap() kannst du vergessen. Schau dir stattdessen mal substr() an.

    Quellcode

    1. $handle = file("data/templates/inhalt/news.txt");
    2. $file_array = $handle;
    3. $inhalt = $file_array[$row->id];
    4. $news_inhalt = substr($inhalt, 0, 300 );
    5. echo $news_inhalt;'<br />';
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.