php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.07.2005, 21:12  
Erfahrener Benutzer
 
Registriert seit: 21.07.2004
Beiträge: 377
juhuwoorps
Standard Gleiche Suchergebnisse ausschliessen

Hallo zusammen!

Ich habe mehrere DB anfragen hintereinander mit verschiedenen Kriterien.

Dabei können gleiche Suchergebnisse erzielt werden.

Nun möchte ich aber das das jeweilige ergebniss nur einmal erscheint.

Wenn z.B bei der ersten Abfrage "hallo" erscheint und in der zweiten oder dritten auch möchte ich, das nur das "hallo" der ersten abfrage erscheint und nicht das von der zweiten oder dritten.

Ich hab mir nun überlegt ein extra feld in der tabelle anzulegen und dort einzutragen ob schon gefunden oder nicht.

Aber das scheint mir doch sehr aufwendig zu sein.

Eine andere möglichkeit wäre die jeweiligen Ergebnisse in ein Array zu schreiben und dann zu vergleichen. Scheint mir aber auch nicht das wahre sein.

Bestünde denn die möglichkeit vielleicht die verschiedenen Abfragen in ein Query zu schreiben und gleichzeitig die doppelten ausschliessen, oder wie geh ich das am besten an?

Ich hoffe es ist einigermassen verständlich.

Danke schonmal für eure Hilfe
__________________
Und geht auch alles in die Binsen, immer heftig weiter grinsen!
juhuwoorps ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.07.2005, 21:15  
Gast
 
Beiträge: n/a
Standard

Ich frage mich eher, warum überhaupt mehrere Abfragen. Deine Beschreibung ist unzureichend, um eine vernünftige Lösung zu schreiben, wie sieht z.B. der Quellcode aus? Vielleicht suchst du auch Distinct, siehe dazu in der MySQL-Doku nach.

Gruß
phpfan
  Mit Zitat antworten
Alt 24.07.2005, 21:33  
Erfahrener Benutzer
 
Registriert seit: 21.07.2004
Beiträge: 377
juhuwoorps
Standard

PHP-Code:
<?php
$suche
="SELECT link FROM links WHERE link LIKE '%www.$_POST[searchtext].de' LIMIT 1";
$suche_query=mysql_query($suche);
while (
$row=mysql_fetch_object($suche_query)){
$link=$row->link;
echo 
$link."
"
;
$anzahl=$anzahl+1;
}
echo 
$anzahl."
<hr>"
;

$anzahl="0";
echo
"suche2:
"
;
$suche="SELECT link FROM links WHERE link LIKE '%www.$_POST[searchtext]%'";
$suche_query=mysql_query($suche);
while (
$row=mysql_fetch_object($suche_query)){
echo 
$row->link."
"
;
$anzahl=$anzahl+1;
}
echo 
$anzahl."
<hr>"
;

$anzahl="0";
echo
"suche3:
"
;
$suche="SELECT link FROM links WHERE link LIKE '%$_POST[searchtext]%/%'";
$suche_query=mysql_query($suche);
while (
$row=mysql_fetch_object($suche_query)){
echo 
$row->link."
"
;
$anzahl=$anzahl+1;
}
echo 
$anzahl."
<hr>"
;
?>
Das ganze soll eine Suchfunktion für eine Linkliste werden

In der ersten Abfrage soll nur nach http://www.das suchwort.de gesucht werden

Danach kommt die Abfrage in der mehr als nur das Suchwort steht (http://www.suchwort-info.de z.B)

Und so weiter. Dabei kommen natürlich doppelte Ausgaben!

Diese will ich herausfiltern
__________________
Und geht auch alles in die Binsen, immer heftig weiter grinsen!
juhuwoorps ist offline   Mit Zitat antworten
Alt 24.07.2005, 23:58  
Erfahrener Benutzer
 
Registriert seit: 15.07.2005
Beiträge: 230
zapate
Standard

warum machst du das ganze nicht mit einer einzigen abfrage? kannste anschließend mit regexp trennen.... man ich liebe diese Dinger

PHP-Code:
<?php
$anzahl
="0";
$suche="SELECT link FROM links WHERE link LIKE '%".$_POST[searchtext]."%' LIMIT 1";
$suche_query=mysql_query($suche);

while (
$row=mysql_fetch_object($suche_query))
{
    if     (
ereg(".*\.de$",$row->link))    {$link2[]=$row->link;}
    elseif         (
ereg("^www.*",$row->link))        {$link1[]=$row->link;}
    else                                     {
$link3[]=$row->link;}
        
    
$anzahl++;
}
echo 
$anzahl."
<hr>"
;
echo 
print_r($link1);
echo 
print_r($link2);
echo 
print_r($link3);
?>
ungetestet
zapate ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suchergebnisse über mehrere Seiten? HolgiB PHP-Fortgeschrittene 22 23.07.2008 15:10
Mich dem System ausschliessen Shyne PHP Tipps 2008 11 25.04.2008 14:01
Suchergebnisse fett anzeigen macros PHP-Fortgeschrittene 8 18.04.2006 18:28
[Erledigt] Datensätze auslesen (zählen) gleiche ausschliessen Datenbanken 1 09.01.2005 16:40
umlaute ausschliessen Promaetheus PHP Tipps 2004 3 19.10.2004 22:24
Suchergebnisse sortieren Datenbanken 6 07.10.2004 21:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
suchergebnisse ausschließen, query doppelte einträge ausschließen, mysql abfrage doppelte felder ausschließen, php google site link ausschliesen, google doppelte suchergebnisse ausschliessen, suchmaschinen doppelte suchergebnisse ausschliessen, php mehreren bedingungen gleichzeitig ausschließen, seite von suchergebnis aussschließen, php mysql dopprelte ausschließen, code ausschliessen php, php row gleichnamige, webseite von den suchergebnissen ausschließen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.