ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
279
279
EMPFEHLEN
-
Hey,
ich bastel zur Zeit an einem script für eine php/ mysql Suche.
Ich stehe nur vor folgenden Problemen:
1. werden Datensätze teilweise doppelt ausgegeben
2. Es soll nach einer art bestem Ergebnis gefiltert bzw. sortiert werden. (absteigend natürlich)
Ich habe noch nicht allzuviel in PHP gemacht, daher weiss ich nicht genau ob mein Script korrekt ist einen kleinen Teil der Ausgabe sehr ihr hier:
Es wäre günstig, wenn euch ein paar Tipps oder Verbesserungen einfallen ; ]PHP-Code:while($row = mysql_fetch_array($result))
{
if($row['newstitle'] == true OR $row['newscontent']== true )
{
echo"<br />$row[newstitle]<br /><br />$row[newscontent] <br />";
}
if($row['articletitle'] == true Or $row['articlecontent'] ==true )
{
echo"<br />$row[articletitle]<br /><br />$row[articlecontent] <br />";
}
}
mfg
-
Bitte poste die SELECT Anweisung, dann können wir dir auch helfen!
Gruß Steusi
Sollte dir ein Tipp von mir geholfen haben, freue ich mich auch über eine kleine Bewertung.
Und wenn ein Problem gelöst ist, markiere deinen Beitrag bitte als erledigt.
PHP-Code:$fehler = "dummer Tippfehler";
echo("Und ist das Programm noch so klein, es passt immer noch ein ".$fehler". rein!");
-
Okay, Hier ist die Select Anweisung:
PHP-Code:$select = "Select newsdb.newstitle, newsdb.newsid,
newsdb.newscontent, articledb.articleid,
articledb.articletitle, articledb.articlecontent,
tutorialdb.tutid, tutorialdb.tuttitle,
tutorialdb.tutcontent
FROM
articledb, newsdb, tutorialdb
WHERE
newsdb.newstitle LIKE '%".$suche."%' OR
newsdb.newscontent LIKE '%".$suche."%' OR
articledb.articletitle LIKE '%".$suche."%' OR
articledb.articlecontent LIKE '%".$suche."%' OR
tutorialdb.tuttitle LIKE '%".$suche."%' OR
tutorialdb.tutcontent LIKE '%".$suche."%' " ;
-
Mir fällt spontan auf, dass du auf $row["articletitle"] zugreifst aber in der Abfrage "articledb.articletitle" abfragst. So auch bei den anderen Werten.
Schreibe an den Anfang von deinem Skript einmal:
und schau dir die Fehlermeldungen an.PHP-Code:error_reporting(E_ALL);
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Ist das nicht richtig Zodiac?
Ich habe die Codezeile eingefügt aber das einzige was error report ausgibt ist :
*******
und damit kann ich nichts anfangen .
-
Oha. Gerade getestet und doch klappt anscheinend. Sah nur sehr ungewohnt aus.
Ich auch nicht, da dies eine unübliche Ausgabe ist. Vielleicht steht ja im Quelltext der ausgegebenen Seite mehr.
Zu deinem zweiten Anliegen:
Jeden Eintrag könnte man auf mehrere Kriterien prüfen und dafür "Punkte" geben, z.B. :- Anzahl der Fundstellen
- Aktualität
- Zugriffe nach der Suchmaske
- Schlagwörter
- etc.
Dies in einem neuen Array speichern (Key: "Punkte", Value: Array mit dem Eintrag), sortieren lassen mit ksort() und demnach ausgeben.
Nur eine von vielen Möglichkeiten.
Das mit dem Fundstellen zählen oder andere Kriterien bilden, geht sicherlich auch schon direkt in SQL.
http://dev.mysql.com/doc/refman/5.1/en/string-functions.htmlGeändert von ZodiacXP (13.07.09 um 13:44 Uhr)
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
ähm ich verstehe nicht so ganz wie das funktioniert ...
Sehr nett wäre ein kleines Beispiel .
mfg
progAfrog
-
In dem Post siehst du einen Link, den du unter anderem lesen kannst.
Da endlos viele Beispiele / Kombinationen möglich sind hier nur einmal die Anzahl der Fundstellen über PHP.
$row["topic"] ist jeweils der Titel,
$row["content"] ist jeweils der Inhalt,
$search ist jeweils der gesuchte String,
$a ist unser neues Array,
das folgende ist eingefasst in eine while-Schleife zum lesen der SQL-Daten
Nun hat das Array ungefähr den AufbauPHP-Code:$a[ substr_count( $row["content"], $search) ][] = array(
"topic" => $row["topic"],
"content" => $row["content"]
);
[Anzahl Fundstellen] => Array( ... Einzelne Einträge ... )
Dazu lässt sich krsort verwenden, da es absteigend die Schlüssel (hier: Anzahl Fundstellen) sortiert.
Beachte: Je mehr du machst umso mehr muss dein Server rumrechnen.PHP-Code:krsort($a);
// Nacheinander Fundstellen-Anzahl-Blöcke auslesen
foreach ($a as $sub_a)
{
// Beiträge einzeln auslesen
foreach ($sub_a as $entry)
{
// nun ist der Titel in $entry["topic"]
// und der Inhalt in $entry["content"]
}
}
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Okay, danke für die Hilfe ich werde mir das heute mal ein wenig angucken

ich würde dann mal sagen "erledigt".
Ähnliche Themen
-
Suchmaschine
Von MaxivB im Forum PHPAntworten: 15Letzter Beitrag: 07.10.08, 13:51 -
Suchmaschine ?
Von Nohh im Forum Delphi, Kylix, PascalAntworten: 3Letzter Beitrag: 09.10.06, 03:44 -
Suchmaschine: <p> ver. <div>
Von online im Forum HTML & XHTMLAntworten: 12Letzter Beitrag: 05.02.05, 20:29 -
PHP-Suchmaschine
Von Experience1986 im Forum PHPAntworten: 7Letzter Beitrag: 17.02.03, 20:18 -
Suchmaschine
Von Daniel im Forum Sonstige SprachenAntworten: 5Letzter Beitrag: 29.11.00, 00:21





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren