MovableType Livesuche

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

  • man kann mysql abfragen mit JOIN verknüpfen
    http://dev.mysql.com/doc/refman/5.0/en/join.html

    ob das hier die optimale lösung ist, weiß ich nicht
    im zweifelsfall 2 mysql abfragen staffeln

    Quellcode

    1. $res1 = mysql_query("SELECT entry_id from mt_entry where entry_status=2; ");
    2. while($row1 = mysql_fetch_object($res1))
    3. {
    4. $id = $row1->entry_id;
    5. $res2 = mysql_query("SELECT entry_date from mt_date where entry_id=$id; ");
    6. while($row2 = mysql_fetch_object($res2)) {
    7. $datum = $row2->entry_date;
    8. }
    9. echo "$datum und $id";
    10. }
  • Ich glaub ich habs rausbekommen:

    Ich habe es mit INNER JOIN versucht und es klappt :)
    Als Rücklage nutze ich die Informationen dieser Seite:
    http://www.aspheute.com/artikel/20001023.htm - ist zwar über asp aber...klappt

    Quellcode

    1. <?php
    2. include('db_config.inc.php');
    3. header("Content-type: text/xml;charset=ISO8859-1");
    4. ?>
    5. <p>Results for: <strong><?=$_GET["q"]; ?></strong></p>
    6. <ul class="LSRow">
    7. <? $res = mysql_query("SELECT entry_basename, entry_status, entry_title, category_id, category_label, placement_category_id, placement_entry_id from mt_entry INNER JOIN mt_placement, mt_category ON (mt_placement.placement_category_id = mt_category.category_id) WHERE entry_status=2 AND (entry_title like '%$_GET[q]%' OR entry_text like '%$_GET[q]%') AND mt_placement.placement_entry_id = mt_entry.entry_id LIMIT 5; ");
    8. while($row = mysql_fetch_object($res)) {
    9. echo '<li class="LSRes"><a href="archives/'.$row->entry_basename.'.php#more">'.$row->entry_title.'</a><br /><b>abgelegt in:</b>&nbsp;'.$row->category_label.'</li>';
    10. } ?>
    11. </ul>
    Alles anzeigen
  • Ja, ich glaube damit bin ich aktuell mehr als zufrieden, hab schön was dazu gelernt und jetzt möchte ich mich auf jedenfall für die schnelle und vorallem unkomplizierte Hilfe bedanken. Findet man nicht in allen Foren! In diesem Sinne - vielen Dank!!! Falls das Skript noch entschlackt werden kann, her mit den Tipps*g
  • hm, falsch ausgedrückt..
    der typ ist weiterhin TEXT, MEDIUMTEXT, LONGTEXT, ...
    nur kann man mit FULLTEXT (spaltenname) die spalte als volltextindex definieren

    kann dir jetzt nicht genau sagen, wie man das in phpMyAdmin oder anderen tools erkennt..
    du kannst es ja einfach mal ausprobieren
    wie das geht wird auf der mySQL Seite beschrieben

    falls es nicht klappt, dann suche weiterhin mit LIKE.. bei "kleineren" datenbanken ist das nicht so tragisch
  • jetzt mal völlig von der abfrage weg gibt es doch bei der bitflux-livesearch die möglichkeit mit keydown und keyup durch die ergebnisse zu tippern. Ist da noch nen trick? oder muss ich das noch definieren?

    Quellcode

    1. function liveSearchInit() {
    2. if (navigator.userAgent.indexOf("Safari") > 0) {
    3. document.getElementById('livesearch').addEventListener("keydown",liveSearchKeyPress,false);
    4. // document.getElementById('livesearch').addEventListener("blur",liveSearchHide,false);
    5. } else if (navigator.product == "Gecko") {
    6. document.getElementById('livesearch').addEventListener("keypress",liveSearchKeyPress,false);
    7. document.getElementById('livesearch').addEventListener("blur",liveSearchHideDelayed,false);
    8. } else {
    9. document.getElementById('livesearch').attachEvent('onkeydown',liveSearchKeyPress);
    10. // document.getElementById('livesearch').attachEvent("onblur",liveSearchHide,false);
    11. isIE = true;
    12. }
    Alles anzeigen

    Quellcode

    1. //KEY DOWN
    2. {
    3. highlight = document.getElementById("LSHighlight");
    4. if (!highlight) {
    5. highlight = document.getElementById("LSShadow").firstChild.firstChild;
    6. } else {
    7. highlight.removeAttribute("id");
    8. highlight = highlight.nextSibling;
    9. }
    10. if (highlight) {
    11. highlight.setAttribute("id","LSHighlight");
    12. }
    13. if (!isIE) { event.preventDefault(); }
    14. }
    15. //KEY UP
    16. else if (event.keyCode == 38 ) {
    17. highlight = document.getElementById("LSHighlight");
    18. if (!highlight) {
    19. highlight = document.getElementById("LSResult").firstChild.firstChild.lastChild;
    20. }
    21. else {
    22. highlight.removeAttribute("id");
    23. highlight = highlight.previousSibling;
    24. }
    25. if (highlight) {
    26. highlight.setAttribute("id","LSHighlight");
    27. }
    28. if (!isIE) { event.preventDefault(); }
    29. }
    30. //ESC
    31. else if (event.keyCode == 27) {
    32. highlight = document.getElementById("LSHighlight");
    33. if (highlight) {
    34. highlight.removeAttribute("id");
    35. }
    36. document.getElementById("LSResult").style.display = "none";
    37. }
    38. }
    Alles anzeigen