Such Code funktioniert nicht. Was mache ich falsch?

Alt 28.06.2011, 13:09   # 61
ddimi1
Threadstarter
 
Registriert seit: 16.03.2009
Beiträge: 47
So ist richtig.

---------- Doppelpost zusammengeführt ----------

Die Frage ist nur, wie kann ich den Tag in archiv.php prüfen?

Ich brauche deine Hilfe.
  Mit Zitat antworten
Alt 28.06.2011, 14:32   # 62
Arthur Spooner
Halb Mensch, halb Admin
 
Benutzerbild von Arthur Spooner
 
Registriert seit: 10.05.2006
Beiträge: 3.899
OK für single.php brauchst du das:
PHP-Code:
<?php
        
if (have_posts()) : while (have_posts()) : the_post(); 
                
mysql_connect("localhost""web123""123456") or die(mysql_error());  
                
mysql_select_db("usr_web112_3") or die(mysql_error());
                
        
$sWhere "sterm LIKE '%" mysql_real_escape_string(get_the_title()) . "%'"// Hier die variable mit dem ähnlichen Suchbegriff eintragen!!
        
        
$query  "SELECT sterm AS sterm FROM wp_mysearchterms WHERE " $sWhere " GROUP BY (sterm) LIMIT 5";
        
$result mysql_query($query); 
        if (
$result) { 
            while (
$state mysql_fetch_array($result)) {  
                echo 
"<div>" $state['sterm'] . "</div>";  
            } 
        } 
        else 
        { 
            die(
'Ungültige Abfrage: ' mysql_error()); 
        } 
    endwhile; endif;  
?>
Und für archive.php
PHP-Code:
<?php
        
if (is_tag())
                {
                    
mysql_connect("localhost""web123""123456") or die(mysql_error());  
                    
mysql_select_db("usr_web112_3") or die(mysql_error());
                    
                    
$sWhere "sterm LIKE '%" mysql_real_escape_string(single_tag_title(''false)) . "%'"// Hier die variable mit dem ähnlichen Suchbegriff eintragen!!
                    
                    
$query  "SELECT sterm AS sterm FROM wp_mysearchterms WHERE " $sWhere " GROUP BY (sterm) LIMIT 5";
                    
$result mysql_query($query); 
                    if (
$result) { 
                            while (
$state mysql_fetch_array($result)) {  
                                    echo 
"<div>" $state['sterm'] . "</div>";  
                            } 
                    } 
                    else 
                    { 
                            die(
'Ungültige Abfrage: ' mysql_error()); 
                    }
                }
?>
Ist ungetestet aber sollte gehen.

Grüße
  Mit Zitat antworten
Alt 28.06.2011, 16:56   # 63
ddimi1
Threadstarter
 
Registriert seit: 16.03.2009
Beiträge: 47
Danke Arthur
  Mit Zitat antworten
Alt 28.06.2011, 17:27   # 64
Arthur Spooner
Halb Mensch, halb Admin
 
Benutzerbild von Arthur Spooner
 
Registriert seit: 10.05.2006
Beiträge: 3.899
Klappt das jetzt, wie du es haben wolltest?

Gott sei Dank
  Mit Zitat antworten
Alt 28.06.2011, 21:24   # 65
ddimi1
Threadstarter
 
Registriert seit: 16.03.2009
Beiträge: 47
Ja, aber ich würde dir später noch ein paar Fragen stellen!

Deswegen, bis gleich.
  Mit Zitat antworten
Alt 18.07.2011, 17:16   # 66
ddimi1
Threadstarter
 
Registriert seit: 16.03.2009
Beiträge: 47
Hi Arthur, ich muss den alten Code für mein Forum etwas anpassen.



PHP-Code:
<?php
        
        mysql_connect
("localhost""web123""123456") or die(mysql_error());  
                
mysql_select_db("usr_web123") or die(mysql_error());
        
         
$sWhere "topic_title LIKE '%" mysql_real_escape_string(single_tag_title(''false)) . "%'"// Hier die variable mit dem ähnlichen Suchbegriff eintragen!! 
         
        
$query  "SELECT topic_title AS topic_title, MATCH(topic_title) AGAINST('" $sWhere "') AS matchrank FROM bb_topics WHERE MATCH(topic_title) AGAINST('" $sWhere "') GROUP BY (topic_title) ORDER BY matchrank DESC LIMIT 5";  
        
$result mysql_query($query); 
        if (
$result) {  
                            while (
$state mysql_fetch_array($result)) {   
                                    echo 
" " $state['topic_title'] . ",";   
                            }  
                    }  
                    else  
                    {  
                            die(
'Ungültige Abfrage: ' mysql_error());  
                    } 
             
?>
Leider zum Tag: "aal angeln video" kommt dieser Fehler raus:

PHP-Code:
Ung�ltige AbfrageYou have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'angeln video%'') AS matchrank FROM bb_topics WHERE MATCH(topic_title) AGAINST('t' at line 1 
Was soll ich machen?
  Mit Zitat antworten
Alt 18.07.2011, 18:29   # 67
Arthur Spooner
Halb Mensch, halb Admin
 
Benutzerbild von Arthur Spooner
 
Registriert seit: 10.05.2006
Beiträge: 3.899
Oh nein, jetzt geht das schon wieder los

Deine Abfrage ist verkehrt. Du versuchst ein LIKE und ein MATCH zu kombinieren, was in dieser Form falsch ist.

Nimm mal die hier:
$sWhere = mysql_real_escape_string(single_tag_title('', false)); // Hier die variable mit dem ähnlichen Suchbegriff eintragen!!
  Mit Zitat antworten
Alt 18.07.2011, 19:26   # 68
ddimi1
Threadstarter
 
Registriert seit: 16.03.2009
Beiträge: 47
Kommt das:

Ungültige Abfrage: Can't find FULLTEXT index matching the column list
  Mit Zitat antworten
Alt 19.07.2011, 07:51   # 69
Arthur Spooner
Halb Mensch, halb Admin
 
Benutzerbild von Arthur Spooner
 
Registriert seit: 10.05.2006
Beiträge: 3.899
Ach ne, du wolltest ja ein LIKE nutzen, das MATCH hat ja damals schlechte Ergebnisse geliefert.

Das hier sollte klappen:

PHP-Code:
<?php
        
        mysql_connect
("localhost""web123""123456") or die(mysql_error());  
                
mysql_select_db("usr_web123") or die(mysql_error());
        
         
$sWhere mysql_real_escape_string(single_tag_title(''false)); // Hier die variable mit dem ähnlichen Suchbegriff eintragen!! 
         
        
$query  "SELECT topic_title AS topic_title FROM bb_topics WHERE topic_title LIKE '%" $sWhere "%' GROUP BY (topic_title) LIMIT 5";  
        
$result mysql_query($query); 
        if (
$result) {  
                            while (
$state mysql_fetch_array($result)) {   
                                    echo 
" " $state['topic_title'] . ",";   
                            }  
                    }  
                    else  
                    {  
                            die(
'Ungültige Abfrage: ' mysql_error());  
                    } 
             
?>
  Mit Zitat antworten
Alt 19.07.2011, 08:31   # 70
ddimi1
Threadstarter
 
Registriert seit: 16.03.2009
Beiträge: 47
Nein, ich habe für Forum extra statt LIKE MATCH genommen. Weil LIKE sucht nacht Reinfolge und MATCH splitert die Worte.

MATCH soll zum Tag: "aal angeln video" im Forum nach "aal" oder "angeln" "video" suchen. Deswegen MATCH für den Fall viel besser.
  Mit Zitat antworten
Alt 19.07.2011, 08:42   # 71
Arthur Spooner
Halb Mensch, halb Admin
 
Benutzerbild von Arthur Spooner
 
Registriert seit: 10.05.2006
Beiträge: 3.899
Ah ok, dann nimm die Query von gestern.

Bei dir fehlt derzeit nur ein KEY auf der bb_topics Tabelle. Führe mal bitte folgende Query händisch aus:

PHP-Code:
ALTER TABLE bb_topics ADD FULLTEXT KEY `ftk_topic_title` (`topic_title`); 
  Mit Zitat antworten
Alt 19.07.2011, 09:11   # 72
ddimi1
Threadstarter
 
Registriert seit: 16.03.2009
Beiträge: 47
Suche funktioniert.

Jetzt im Ergebnis Topic-Titel zusehen. Ich muss noch diese ausgegebene Titels mit Links zu Forum versehen.

Mit diesem Code funktioniert es nicht.
PHP-Code:
echo "<div><a href='http://domain.de/topic/" $state['topic_slug'] . "' target='_blank'>http://domain.de/topic/" $state['topic_slug'] ."</a></div>"
Wie kann ich aus der Spalte: "topic_slug" Links richtig machen?
  Mit Zitat antworten
Alt 19.07.2011, 09:27   # 73
Arthur Spooner
Halb Mensch, halb Admin
 
Benutzerbild von Arthur Spooner
 
Registriert seit: 10.05.2006
Beiträge: 3.899
Da kann ich dir leider nicht helfen, da ich das PHPBB (ist doch eins?) nicht kenne. Lass dir einfach mal alle Felder aus der Datenbank ausgeben und versuche herauszufinden, wie die URLs aufgebaut sind.

Ich bin an der Stelle leider raus aber mach gerne einen neuen Thread auf, vielleicht kennt das System ja jemand und kann dir helfen.

Grüße
Dima
  Mit Zitat antworten
Alt 19.07.2011, 10:02   # 74
ddimi1
Threadstarter
 
Registriert seit: 16.03.2009
Beiträge: 47
Ok, danke dir Arthur!
  Mit Zitat antworten

Alt 28.05.2012, 21:08 # --
News Flash
 
Benutzerbild von News Flash
 
 
 
   
Antwort
Themen-Optionen



Alle Zeitangaben in WEZ +2. Es ist jetzt 21:08 Uhr.