Max. 200 Zeichen ausgeben lassen von Datensatz?
Alex S.
- php
0 Tom0 Alex S.0 Cheatah0 Alex S.0 Tom
Hallo zusammen,
schreibe gerade ein Such-Skript - allerdings hapert es ein wenig bei der ausgabe.
ich möchte gerne den Titel der Seite anzeigen lassen und darunter ca. 2 Zeilen des inhalts. Genau in der Mitte der 2 Zeilen soll dann der suchbegriff sein (in fettschrift, ich glaube das geht mit str_replace(); ?)
wie gesagt, bräuchte ich einen Ansatz wie ich den Inhalt begrenze und nicht ganz ausgeben lassen muss.
Habt ihr ideen?
Gruß Alex.
Hello,
Habt ihr ideen?
Ja.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
hii tom,
Ja.
ich kann ja mal gerne meinen code dazu schreiben, ist ja nicht so, dass ich nichts gemacht hätte:
wie gesagt benötige ja nur einen tipp wie ich die strings bedingt ausgeben lassen kann - habe gerade mal in der referenz geblättert und etwas gefunden was vielleicht passen könnte: substr($str, $start, $length);
weiß aber nicht ob das richtig ist.
<?php
if(!$c) {
?>
<form action="index.php?c=1" method=POST>
<b>Suche: </b><br>
<input type="text" length=40 name="any"> <br>
<input type="submit" value="Search">
</form>
<?
} else if($c) {
MySQL_connect("localhost", "root", "");
MySQL_select_db("test");
if((!$all) || ($all == "")) { $all = ""; } else { $all = "+(".$all.")"; }
$query = "
SELECT *,
MATCH(title, body) AGAINST ('$all $none $any' IN BOOLEAN MODE) AS score
FROM articles
WHERE MATCH(title, body) AGAINST ('$all $none $any' IN BOOLEAN MODE)";
$artm1 = MySQL_query($query);
if(!$artm1) {
echo MySQL_error()."<br>$query<br>";
}
echo "<b>Suchergebnisse</b><br>";
if(MySQL_num_rows($artm1) > 0) {
echo "<table>";
echo "<tr><td>Treffer</td><td>Titel</td><td>Inhalt</td></tr>";
while($artm2 = MySQL_fetch_array($artm1)) {
$val = round($artm2['score'], 3);
$val = $val*100;
echo "<tr><td>$val</td>";
echo "<td>{$artm2['title']}</td>";
echo "<td>{$artm2['body']}</td></tr>";
}
echo "</table>";
}
else {
echo "Es wurden leider keine Ergebnisse gefunden, die Ihren Suchkriterien entsprechen.<br>";
}
echo "<br>";
}
?>
Hi,
Ja.
ich kann ja mal gerne meinen code dazu schreiben, ist ja nicht so, dass ich nichts gemacht hätte:
hey, da hat einer verstanden :-)
substr($str, $start, $length);
weiß aber nicht ob das richtig ist.
Es ist einer von vielen möglichen Ansätzen, und wahrscheinlich derjenige, der am ehesten straight forward ist.
Cheatah
Servus,
hey, da hat einer verstanden :-)
hehe, danke ;-)
Es ist einer von vielen möglichen Ansätzen, und wahrscheinlich derjenige, der am ehesten straight forward ist.
Alles klar werde mal da ein bisschen rumknuffen - dankeschön (kann sein, dass ich mich aber nochmal melde ;-)
ciao Alex
Hello,
Es ist einer von vielen möglichen Ansätzen, und wahrscheinlich derjenige, der am ehesten straight forward ist.
Alles klar werde mal da ein bisschen rumknuffen - dankeschön (kann sein, dass ich mich aber nochmal melde ;-)
kein Problem...
Interessant bei diesen Lösungen sind eigentlich immer nur die Randbedingungen und die Extremfälle.
Suchwort nicht enthalten -> hat Du abgefangen
Suchwort am Anfang
Suchwort am Ende
Suchwort mehrfach enthalten
und was ich selbst übershen habe -> das ist dann immer die interessanteste Möglichkeit
Du solltest Dür die Darstellungsberechnung daher eine Funktion schreiben. Sowas kann man immer wieder gebrauchen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom,
Harzliche Grüße aus http://www.annerschbarrich.de
nur mal so, hats dir nicht mehr in braunschweig gefallen ;-) ?
ciao Alex S.
Hello,
Harzliche Grüße aus http://www.annerschbarrich.de
nur mal so, hats dir nicht mehr in braunschweig gefallen ;-) ?
Nö. Ich habe meine KollegInnen dort alleine zurückgelassen und bin hier oben nun inzwischen fast wieder gesund geworden... Scheint also vielleicht an der dreckicken Luft gelegen zu haben, oder aber meine Wohnung hatte doch irgendwelche merkwürdigen Stoffe. Allerdings kann ich hier tagelang das Fenster offen lassen und es liegt bestenfalls ein bisschen weißer Hausstaub da und wenn ich das in BS gemacht habe, dann war schon nach einem Tag alles schwarz.
Und das Bergauflaufen tut mir auch ganz gut. Ich schaffs sogar fast schon mit dem Bike die Mühlenstraße rauf (18,5% Steigung)
<img src="http://annerschbarrich.de/bilder/Breite_Strasse_vom_Markt.jpg" border="0" alt="">
Mit dem Bike natürlich nicht im Winter. Aber ein anderes Bild habe ich eben gerade nicht.
Demnächst steige ich erstmal durch den Hochseilgarten.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Servus,
Nö. Ich habe meine KollegInnen dort alleine zurückgelassen und bin hier oben nun inzwischen fast wieder gesund geworden... Scheint also vielleicht an der dreckicken Luft gelegen zu haben, oder aber meine Wohnung hatte doch irgendwelche merkwürdigen Stoffe.
ist ja schon richtig krass - wohne in darmstadt und hier geht es eigentlich, obwohl wir auch nicht gerade eine Kleinstadt sind.
nur mal kurz zurück zu PHP - ich muss ja erst einmal wissen an welcher posistion mein string ist, wollte dies mit stripos() realisieren:
$str = $artm2['body'];
$strs = $_REQUEST['any'];
$pos = stripos ($str,$strs);
if ($pos === false) {
$pos . "wurde leider nicht gefunden";
}
if ($pos !== false) {
echo "Wir haben dein gesuchtes wort <b>" . $strs . " in dem Text:<br><br>" . $str . "<br><br> gefunden, undzwar an der Position " . $pos . "<br><br>";
}
Erklärung:
-----------------
$artm2['body'] inhalt der body-spalte in der mySQL Datenbank
$_REQUEST['any'] inhalt vom suchformular.
Ich erhalte immer diese Fehlermeldung:
Fatal error: Call to undefined function: stripos() in .... on line ...
was mache ich denn da falsch? stripos liefert mir laut referenz einen booleschen wert. und den frage ich doch richtig ab?
gruß Alex S.
Moin!
nur mal kurz zurück zu PHP - ich muss ja erst einmal wissen an welcher posistion mein string ist, wollte dies mit stripos() realisieren:
Ich erhalte immer diese Fehlermeldung:Fatal error: Call to undefined function: stripos() in .... on line ...
Benutzt du PHP 5?
- Sven Rautenberg
Servus,
Benutzt du PHP 5?
nein benutze PHP Version 4.3.6 und das auf einem XAMPP System.
Gruß Alex S.
Hello,
Benutzt du PHP 5?
nein benutze PHP Version 4.3.6 und das auf einem XAMPP System.
Und was sagt die Liste der geladenen Funktionen?
Außerdem gab es da mal einen Bug, wenn man doppelte Defines von Konstanten erzeugt durch include-Dateien, in denen diese vorgenommen wurden. ich bin mir nicht sicher, ob der wirklich schon behoben ist. Da habe ich mich auch mal dämlich gesucht.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
Und was sagt die Liste der geladenen Funktionen?
die gibt ein Array mit allen Funktionen auf von 0 bis 1053 und stripos ist nicht dabei.
gibt es noch eine andere Möglichkeit das zu verwirklichen?
gruß alex.
Hello,
Und was sagt die Liste der geladenen Funktionen?
die gibt ein Array mit allen Funktionen auf von 0 bis 1053 und stripos ist nicht dabei.
gibt es noch eine andere Möglichkeit das zu verwirklichen?
Das ist eigentlich böse. Habe ich auch jetzt von Dir das erste Mal gehört. Können wir das mal fixen?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi Tom,
Das ist eigentlich böse. Habe ich auch jetzt von Dir das erste Mal gehört. Können wir das mal fixen?
hab dir mal die phpinfo als html datei hochgeladen hier ist sie:
http://www.morpheuz.net/host/xampp.html
brauchst du noch mehr infos?
Gruß Alex.
Moin!
die gibt ein Array mit allen Funktionen auf von 0 bis 1053 und stripos ist nicht dabei.
Das ist eigentlich böse. Habe ich auch jetzt von Dir das erste Mal gehört. Können wir das mal fixen?
Wieso fixen? Die PHP-Version von Alex ist 4, die Version, ab der stripos zur Verfügung steht, ist 5. Na, geht ein Licht auf?
Mit PHP 4 kann das nicht funktionieren, weil die Funktion noch gar nicht eingebaut wurde.
Ich würde aber soweit gehen, dass ein strpos(strtolower(haystack),strtolower(needle)) eine gute Ersatzfunktion ist.
- Sven Rautenberg
Hello,
Wieso fixen? Die PHP-Version von Alex ist 4, die Version, ab der stripos zur Verfügung steht, ist 5. Na, geht ein Licht auf?
Mit PHP 4 kann das nicht funktionieren, weil die Funktion noch gar nicht eingebaut wurde.
Sorry, da habe ich mich verguckt.
Ich ahbe eben irgendwie ab 4.0.6 gelesen. Das klärt baer nun alles.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hall nochmal!
ich weiß irgendwie nicht mehr weiter. Denn mit:
stripos(); strrpos() und strripos(); kann ich ja die position ermitteln meines gefragten wortes. stripos() funktioniert ja erst ab Version 5. strrpos() findet die position des letzten auftretens eines einzelnen zeichens genauso wie strripos() ich möchte ja aber gerne, das erste ausgeben und nicht das letzte.
habe bereits die position des letzten ausfindig machen können allerdings bringt mir das nicht viel:
$str = $artm2['body'];
$strs = $_REQUEST['any'];
$pos = strrpos ($str,$strs);
$start = $pos - 150;
$length = $pos + 300;
$ergebnis = substr ($str, $start, $length);
if ($pos === false) {
echo $pos . "wurde leider nicht gefunden";
}
if ($pos !== false) {
echo "<b>Position " . $pos . "</b><br>";
echo "<b>Start " . $start . "<b><br>";
echo "<b>Länge " . $length . "<b><br>";
}
wisst ihr vielleicht weiter?
gruß Alex
Hello,
wisst ihr vielleicht weiter?
Sven hatte Dir die Lösung eigentlich schon gepostet und uneigentlich auch *gg*
Du musst dann eben nur nochn das Verhalten für die Sonderfälle bestimmen, die ja für den Programmierer den eigentlichen Reiz ausmachen
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
Ich erhalte immer diese Fehlermeldung:
Fatal error: Call to undefined function: stripos() in .... on line ...
Welche PHP-Version auf welchem OS ist im Einsatz?
Hast Du Dir schon mal die Liste der Funktionen anzeigen lassen?
link:http://de2.php.net/manual/de/function.get-defined-functions.php]
Und sortieren lassen sollte man sie sich vielleicht auch. Das ist ganz praktisch...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi Tom,
[Bild]
Mit dem Bike natürlich nicht im Winter. Aber ein anderes Bild habe ich eben gerade nicht.
öhm - bei dem momentanem Wetter bei mir in Essen, NRW, hätte ich dir glatt geglaubt, dass das Bild von Heute ist ;-)
Gruß,
Andreas.
Hello,
[Bild]
Mit dem Bike natürlich nicht im Winter. Aber ein anderes Bild habe ich eben gerade nicht.öhm - bei dem momentanem Wetter bei mir in Essen, NRW, hätte ich dir glatt geglaubt, dass das Bild von Heute ist ;-)
Naja, von gestern vielleicht. Heute Abend ist es schon 2° wärmer als heute Früh. Und es schneit nicht mehr, sondern regnet jetzt.
Das bringt mich auf eine Idee. Wir sollten hier den SelfWettererdienst aufmachen. Wer macht mit? Jeden Tag ein bis drei Messungen und ein Bild, falls etwas Interessantes drauf ist... Und das über ganz Europa verteilt. Gibt es denn eine noch besser verteilte regelmäßige Posterschaar als die Selfer?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
Das bringt mich auf eine Idee. Wir sollten hier den SelfWettererdienst aufmachen. Wer macht mit? Jeden Tag ein bis drei Messungen und ein Bild, falls etwas Interessantes drauf ist
Au ja, da mach ich mit.
Hier ist schonmal das erste SelfWetter Bild:
<img src="http://kfgma.de/~brockal/selfforum/selfwetter.jpg" border="0" alt="">
Jetzt ratet mal, in welche Richtung ich photographiert habe.
Gruß
Alexander Brock
Hi,
<img src="http://kfgma.de/~brockal/selfforum/selfwetter.jpg" border="0" alt="">
Jetzt ratet mal, in welche Richtung ich photographiert habe.
Richtung Orion. Grobe Richtung Süden.
cu,
Andreas
Hallo MudGuard,
Richtung Orion. Grobe Richtung Süden.
Falsch, das sind zwei Straßenlaternen, gerade zwischen
den Blättern eines Baumes sichtbar waren :-))
Gruß
Alexander Brock
Moin Tom»»
Nö. Ich habe meine KollegInnen dort alleine zurückgelassen und bin hier oben nun inzwischen fast wieder gesund geworden... Scheint also vielleicht an der dreckicken Luft gelegen zu haben, oder aber meine Wohnung hatte doch irgendwelche merkwürdigen Stoffe. Allerdings kann ich hier tagelang das Fenster offen lassen und es liegt bestenfalls ein bisschen weißer Hausstaub da und wenn ich das in BS gemacht habe, dann war schon nach einem Tag alles schwarz.
Öhm Du solltest mal über einen Wohnortwechsel nachdenken.
Wo ich krank werde möchte ich nicht wohnen.
Zumal es ja auch bei Dir nicht das erste mal ist, dass es Dich so aus der Bahn wirft.
Internet gibs zum Glück überall.
TomIRL
Hello,
Moin Tom»»
Öhm Du solltest mal über einen Wohnortwechsel nachdenken.
Wo ich krank werde möchte ich nicht wohnen.
Zumal es ja auch bei Dir nicht das erste mal ist, dass es Dich so aus der Bahn wirft.Internet gibs zum Glück überall.
Hab ich mich ja nun nach langem Hin und Her auch dazu entschlossen und wie man sieht, gabs auch sofort Internet. Seitdem geht's mir eigentlich gesundheitlich jeden Tag besser. Nur Arbeit für das täglich Brot gibt es hier nicht. Von Projekt zu Projekt kann es aber leider schon mal ein halbes Jahr dauern, bis wieder was sprudelt und die letzten zwei Mal habe ich da leider "in die Schei.." gegriffen. Immer kurz bevor ich fertig war ist der Auftraggeber gestorben. Das scheint aber im Moment vielen Kollegen so zu gehen. Besserung ist nicht in Sicht, es sei denn, man heult mit den Wölfen...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom