Alex S.: Max. 200 Zeichen ausgeben lassen von Datensatz?

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.

  1. Hello,

    Habt ihr ideen?

    Ja.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. 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>";
         }

      ?>

      1. 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

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. 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

          1. 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

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Hallo Tom,

              Harzliche Grüße aus http://www.annerschbarrich.de

              nur mal so, hats dir nicht mehr in braunschweig gefallen ;-) ?

              ciao Alex S.

              1. 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

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
                1. 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.

                  1. 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

                    1. Servus,

                      Benutzt du PHP 5?

                      nein benutze PHP Version 4.3.6 und das auf einem XAMPP System.

                      Gruß Alex S.

                      1. 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

                        --
                        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                        Nur selber lernen macht schlau
                        1. 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.

                          1. 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?

                            • PHP-Version
                            • Betriebssystem
                            • alle --with  Optionen aus der Compilation
                            • sonstige Absonderlichkeiten

                            Harzliche Grüße aus http://www.annerschbarrich.de

                            Tom

                            --
                            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                            Nur selber lernen macht schlau
                            1. 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.

                            2. 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

                              1. 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

                                --
                                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                                Nur selber lernen macht schlau
                                1. 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&auml;nge " . $length . "<b><br>";
                                            }

                                  wisst ihr vielleicht weiter?

                                  gruß Alex

                                  1. 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

                                    --
                                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                                    Nur selber lernen macht schlau
                  2. 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

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau
                2. 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.

                  1. 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

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau
                    1. 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

                      --

                      SelfCode: sh:( fo:) ch:? rl:( br:> n4:? ie:{ mo:} va:) de:> zu:| fl:{ ss:( ls:[ js:(
                      http://emmanuel.dammerer.at/selfcode.html
                      Deshalb können Pinguine nicht fliegen:
                      Was nicht fliegt kann auch nicht abstürzen
                      <img src="http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif" border="0" alt="">
                      http://againsttcpa.com
                      1. 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

                        --
                        MudGuard? Siehe http://www.Mud-Guard.de/
                        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                        1. 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

                          --

                          SelfCode: sh:( fo:) ch:? rl:( br:> n4:? ie:{ mo:} va:) de:> zu:| fl:{ ss:( ls:[ js:(
                          http://emmanuel.dammerer.at/selfcode.html
                          Deshalb können Pinguine nicht fliegen:
                          Was nicht fliegt kann auch nicht abstürzen
                          <img src="http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif" border="0" alt="">
                          http://againsttcpa.com
                3. 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

                  1. 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

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau