hi leute hab ein kleines prob.
hab zwei tabellen,
1. stehen die kategorien drinnen
2. stehen die provisionen für kategorien / pro user
die provisionen für kategorien schreibe ich beim erstellen von user in die zweite tabelle,
das problem ist wenn ich jetzt eine neue kategorie hinzufuge, dann muss ich fur diese neue kategorie fur jeden user eine provision eintragen, also alle user bearbeiten durchchecken ob provision eingetragen ist oder nicht.
ich krieg das aber nicht hin habs mit left joins versucht aber das WHERE am ende macht s unmöglich ,
einer villeicht ne idee wie ich das lösen kann???
Code: In Zwischenablage kopieren (nur IE)
Antworten
Zitat:
die provisionen für kategorien schreibe ich beim erstellen von user in die zweite tabelle,
das problem ist wenn ich jetzt eine neue kategorie hinzufuge, dann muss ich fur diese neue kategorie fur jeden user eine provision eintragen, also alle user bearbeiten durchchecken ob provision eingetragen ist oder nicht.
Keine Ahnung, was du uns damit sagen willst.... Poste mal deinen Tabellenstruktur (die kennt kein Mensch) und beschreib das Problem nochmal klar und deutlich. Also keinen Roman, sondern so, dass man statt "wenn" nur noch ein "if" setzen muss......
2.
ja ich weiß auch nicht wie ich das beschreiben soll.
hiermal tabellen str.
tab1.: $pref._kategori
id | name | preis
ta2. $pref_provision
id| kat_id|provision|user_id
also im tab2 speichere ich fur jede benutzer die provisionen pro kategorie, zb wenn ich 2 kategorien habe dann steht im tab2 folgendes.
user_id:1
kat_id 1 = birne
kat_id 2 = apfel
tab2:
1|1|15%|1
2|2|12%|1
sagen wir das hab ich vor zwei monaten eingetragen heute fuge ich eine neue kategori hinzu also hab ich jetzt kat_id 3= kirsche , jetzt fehlt mir im tabelle zwei fur user_id 1 der eintrag fur kategori 3.
jetzt wenn ich auf user ändern gehe, dann sollte folgendes dort stehen
birne = 15%
apfel=12%
kirsche=0
dann ändre ich diesen 0 mit einem wert speichere es ab und kirsche + provision wird in die tab2 eingetragen.
dann sollte unser neuer tab2. so aussehen:
tab2:
1|1|15%|1
2|2|12%|1
3|3|10%|1
ich hoff diesmal wars bissle klarer thx im voraus.....
3.
Ah jetzt ja. Also entweder du ermittelst dir mit SELECT MAX(id) FROM tab1 die letzte eingefügte Nummer für die Kategorie und machst anschließend die INSERT's für jeden einzelnen USER in tab2 oder du machst das ganze mit last_insert_id (wirf mal einen Blick in die DOKU von mysql)......
Oder du versuchst deine oberste Abfrage noch mit einer NOT EXISTS-Bedingung auf die Tabelle tab1 zu verknüpfen.....
4.
hm mit mysql_insert_id gehts mal nid da dort ja auch andre werte drin stehen von andren benutzern.
und das mit non exists gibt ne fehlermeldung
Code: In Zwischenablage kopieren (nur IE)
was mach ich denn da falsch
5.
hi habs so gelöst wollt noch fragen ob ich das alles in einem query machen kann?
oder ist das so ok.
Code: In Zwischenablage kopieren (nur IE)
6.
hab mich gestern doch zu fruh gefreut
es geht jetzt nur wenn ich garkeine eintrage von einer kategori im tab2 habe, sobald ich fur einen user die fehlenden werte eintrage kommt beim nächsten user wieder nichts.
kann mir bitte jemand helfennnnnn
7.
Du könntest:
Code: In Zwischenablage kopieren (nur IE)
versuchen.
8.
[quote]
Gary posteteDu könntest:
Code: In Zwischenablage kopieren (nur IE)
versuchen.[/quote] leider das geht auch nicht, da krieg ich bei diesen usern bei denen es passt nochmal die felder zuruck mit leeren einträgen, und bei denen des nicht passt krieg ich die fehlenden nicht.