art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 28.06.2002, 03:26   #1
TP-Senior
 
Benutzerbild von querelle
 
Registriert seit: Jun 2001
Ort: Frankfurt am Main
querelle macht alles soweit korrekt

Newsskript mit mehrfacher Kategoriezuordnung ausstatten


Hi, ich habe ein fabelhaftes News-Skript ("Rose") im Einsatz - mit einem kleinen Manko. Ich möchte gern manche Dokumente mehreren Kategorien gleichzeitig zuordnen.

1. Frage: Geht das in MySQL überhaupt, dass in eine Tabellenspalte mehrere Werte eingetragen werden

2. Frage: Wie? Ich weiß, es ist etwas viel verlangt, aber vielleicht wirft mal einer einen Blick drauf, am Ende ist es ganz einfach (?)

Hier ist mal das Codestück, wo die Kategorieauswahl im Eingabeformular erfolgt (ich habe es einfach mal an der passenden Stelle mit "multiple" versucht, das wird zwar angezeigt, aber nicht in die DB übernommen)

/////////////////////////////////////////////////////////////////////////////////

function make_cat_dropdown($field, $selected, $secure) {
global $variable;
global $userinfo;
dbconnect();

if ($secure == '1') {
# first, get this users permissions
$link = "U" . $userinfo[userid];
$query2 = "SELECT * From $variable[permissionstable] where (permissionlink = '$link')";
$result2 = mysql($variable[dbname], $query2);
$permissions = mysql_fetch_array($result2);
$arraysplit = split("`", $permissions[permissionarray]);
$cat_total = count ($arraysplit);
# this bit sets the array index so its equal to the user id
$p = 0;
while ($p < $cat_total) :
$catid_value = $arraysplit[$p];
$new_array[$catid_value] = $catid_value;
$p++;
endwhile;
}

$query2 = "SELECT * From $variable[cattable] ORDER by $variable[cattable].catname ASC";
$result = mysql($variable[dbname], $query2);
$num = mysql_numrows($result);
if ($num == '0') {Print "Error - No Categories. Go add one now!";}
else {
print "<select name=\"$field\">";
$i = 0;
while ($i < $num) :
$catid = mysql_result($result,$i,"catid");
$catname = mysql_result($result,$i,"catname");

if ($secure == '1') {
if (($new_array[$catid] == $catid) OR ($userinfo[userlevel] == '99')) {
print "<option value=\"$catid\" ";
if ($catid == $selected) { print " SELECTED ";}
print ">$catname</option>\n";
}
}
else {
print "<option value=\"$catid\" ";
if ($catid == $selected) { print " SELECTED ";}
print ">$catname</option>\n";
}

///////////////////////////////////////////////////////////////////////////

Gruß, querelle
querelle ist offline   Mit Zitat antworten


Alt 28.06.2002, 17:39   #2
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
ohne auf den code zu schauen, kann ich dir sagen, dass dein ansinnen nicht so einfach ist.

ansicht versuchst du hier eine 1:n datenbankbeziehung in eine m:n datenbankbeziehung umzuwandeln.
dafür benötigt man eine zwischentabelle, die diese beziehung auflöst.

zur erklärung:
1:n = eindeutige beziehung einer tabelle zur anderen 1 artikel ist genau einer kathegorie zugeordnet (1) und 1 kathegorie kann viele artikel haben (n)

m:n = mehrfache beziehung zwischen den beziehungen.
1 artikel kann mehreren kathegorieen zugeordnet werden (m) und eine kathegorie kann mehere artikel haben (n)

um eine m:n beziehung via SQL ansprechen zu können bearf es einer zwischentabelle, die dir diese beziehung in zwei 1:n beziehungen auflöst. und da das nicht soo einfach ist, findet man relativ selten news-scripts, die das von hausaus können.


codemässig wirst du da wohl nicht viel machen können. hier ist db-changing angesagt.


lf
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 28.06.2002, 17:58   #3
TP-Senior
 
Benutzerbild von querelle
 
Registriert seit: Jun 2001
Ort: Frankfurt am Main
querelle macht alles soweit korrekt

Hab ich befürchtet


Dann bleibt es halt wie's ist. Das Script an sich ist ja schon sehr schön, mit vielen Features und sehr flexibel. Habe ich lange nach gesucht. Wen es interessiert - hier gibt es das:

http://www.jinxm.co.uk/index.php?category=3

Vielen Dank für die Antwort, Gruß
querelle
querelle ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Newsskript mit mehrfacher Kategoriezuordnung ausstatten Newsskript mit mehrfacher Kategoriezuordnung ausstatten
« Java mit php | Formmail mit PHP »

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

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:57 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67