SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.06.2007, 23:57:16
Desperado_11 Desperado_11 ist offline
Anfänger
 
Registriert seit: Nov 2006
Beiträge: 9
Tags (Schlagworte) in MySQL speichern und mit PHP vergleichen

Hi,

hab mal wieder ein ziemlich verzwicktes Problem.

Ich möchte Tags (in diesem Fall Hobbies) zu verschiedenen Personen in einer MySQL
Datenbank speichern, also nach folgenden Schema:

ID Name Tags
1 Max Mustermann Fußball, Basketball
2 Dagobert Duck Tennis, Fußball
3 Bill Gates Surfen, Federball, Angeln
4 James Bond Fußball, Basketball
...

Die Tags zu jeder Person sind jeweils in einer Zelle gespeichert,
jedoch per Komma getrennt. Nun wähle ich eine Person daraus aus,
z.B. Person 1 - Max Mustermann und möchte die Tags von ihm mit
den Tags der anderen Personen vergleichen. Und je mehr Übereinstimmungen
der Tags zwischen Max Mustermann und einer Person, desto höher soll diese
später im Ranking erscheinen. Also in diesem Fall:

Ranking Name
1 James Bond (hat genau die gleichen Tags wie Max Mustermann)
2 Dagobert Duck (hat einen gleichen Tag wie Max Mustermann)
3 Bill Gates (hat keinen gleichen Tag wie Max Mustermann)

Versteht ihr was ich meine? Ist etwas schwer zu beschreiben....

Ist das mit PHP möglich? Die Tags kann ich ja durch das Komma in Substrings umwandeln,
aber wie ist das mit dem vergleichen? Und dem Ranking? Geht das?

Gruß
Mit Zitat antworten
  #2  
Alt 11.06.2007, 00:16:34
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel eine Nachricht über ICQ schicken
AW: Tags (Schlagworte) in MySQL speichern und mit PHP vergleichen

Also gut.
Du hast es hier ja mathematisch gesehen damit zu tun zu ermitteln, wie viele Elemente die Schnittmenge von zwei Personen hat.
Ich hab keine Ahnung wie man einen Algorithmus zur Schnittmengenbestimmung aufstellen müsste, aber da kannst du dir mit Arrays und der Funktion array_intersect() behelfen.

Also speicherst du die Hobbies der einzelnen Personen in Arrays, bestimmst die Schnittmenge mit der zu vergleichenden Person und zählst dann die Elemente des Rückgabewerts.
Mit Zitat antworten
  #3  
Alt 11.06.2007, 02:59:01
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Tags (Schlagworte) in MySQL speichern und mit PHP vergleichen

Zitat:
Zitat von Desperado_11 Beitrag anzeigen
Ich möchte Tags (in diesem Fall Hobbies) zu verschiedenen Personen in einer MySQL Datenbank speichern, also nach folgenden Schema:
Warum verwendest Du für die "Hobby-Spalte" nicht den Typ SET? Da kannste in einer Spalte 64 Bits setzen. Jedem einzelnen Bit kannst Du beim CREATE TABLE einen eigenen Namen zuweisen. Die meist passende Suchfunktion heißt
Code:
SELECT <spaltenliste> FROM tabelle WHERE 
FIND_IN_SET('Fußball', bitspalte) > 0 OR
FIND_IN_SET('Basketball', bitspalte) > 0 OR
FIND_IN_SET('Tennis', bitspalte) > 0
Code:
SELECT bitspalte FROM tabelle WHERE name="mustermann"
Ergebnis:
PHP-Code:
echo $row['bitspalte']; 
Code:
Fußball,Basketball
Ich verwende diesen Datentyp zB. für die Userrechte.

Geändert von meikel (†) (11.06.2007 um 03:00:23 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Abfrage mit PHP ausgeben, wie? PHP-MySQL-Fan MySQLi/PDO/(MySQL) 5 22.05.2006 15:47:23
Probleme mit PHP und mySQL, Select xy as yz funktioniert nicht KickMuck MySQLi/PDO/(MySQL) 1 04.03.2006 13:24:31
datei auslesen und in mysql speichern kacel PHP für Fortgeschrittene und Experten 7 31.01.2005 10:57:49
suche PHP Counter mit IP Sperre & OHNE MySQL, Cookies, SSI Pfanni PHP Grundlagen 4 15.03.2002 11:28:55
PHP Server unter Windows mit DBM oder MySQL PartyHammerPipe PHP für Fortgeschrittene und Experten 0 19.02.2002 23:51:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:44:23 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt