You are not logged in.

  • Login

1

Friday, May 6th 2011, 9:49pm

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

Sheldon

Unregistered

2

Friday, May 6th 2011, 9:57pm

Wieso machst du es nicht aus der Datenbank mit der Klausel Limit? Ist doch das einfachste?

3

Friday, May 6th 2011, 10:05pm

raussuchen gewisser ziffern

außerdem was müsste ich den dann hinter lIMIT schreiben? weil ich hab in der größe %, also anpassend und nicht fest per px, oder pt, o.ä.

4

Monday, May 9th 2011, 3:22pm

ö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

Sheldon

Unregistered

5

Monday, May 9th 2011, 4:24pm

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

6

Tuesday, May 10th 2011, 2:53pm

Hiho,

jo, das ging, vielen Dank dafür...
allerdings habe ich immernoch das problem mit der ausgabe der länge... hat da vielleicht bitrte jemand ne lösung?

LG

Fipsi

7

Tuesday, May 10th 2011, 4:40pm

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.

8

Tuesday, May 10th 2011, 4:45pm

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:()

9

Tuesday, May 10th 2011, 4:58pm

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.

This post has been edited 1 times, last edit by "Deadman44" (May 10th 2011, 6:02pm)


10

Tuesday, May 10th 2011, 5:17pm

*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"^^

PHP Quellcode

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


ode rmach ich nur mal wieder was falsch?^^

11

Tuesday, May 10th 2011, 5:36pm

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 ;):

PHP Quellcode

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

12

Tuesday, May 10th 2011, 5:41pm


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)

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

PHP Quellcode

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


wird alles angezeigt... aber eben alles, also funzt nich...

13

Tuesday, May 10th 2011, 5:58pm

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.

PHP Quellcode

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

14

Tuesday, May 10th 2011, 6:02pm

so, dat funzt jez...;) dankeschön:)

Edit: geht das aber auch, dass die wörter nciht einfach abgeschnitten werden?

15

Saturday, May 14th 2011, 4:08pm

Nach dem Anwenden von substr, kannst deinen String nochmal kürzen.
Dazu findest mit strrpos die letzte Position eines Leerzeichens.
Lg

Similar threads

Social bookmarks