Frage zu Rezepdatenbank

Begonnen von tomcom, 20 Februar 2004, 17:25:41

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

tomcom

Habe die, für VkPMX veränderte, Rezeptdatenbank installiert. Läuft auch Prima. Jetzt möchte ich aber für die Einträge Gummipunkte vergeben. Das geht über UserID oder Username. In die Datenbank wird aber der reelle Name des Users geschrieben. Was muss ich ändern, damit der Username da drin landet?

NeMeSiSX2LC

Also wegen denn Punkten das UID und Uname besagt nur was in der Tabelle des jeweiligen Modules stehen soll im Falle des Rezeptmodules müsste das dann so aussehen:

Rezept Punkte | recipes_recipes | contributer | submittime | 0 | 0 | 0

So müsste es eigentlich gehen. Wenn nicht muss mal genauer rein gucken hab mir eben nur die sql file angeguckt ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

tomcom

Ich hab einfach nachgesehen, was in der DB drinsteht.
Und unter "Contributor" steht der echte Name, und nicht der Username.
Ich hatte erst ID versucht, aber das ist nur eine fortlaufende Nummer und hat nichts mit der UserID zu tun.
Wenn aber unter "Contributor" der echte Name steht, kann das Modul natürlich nicht rechnen (so einfach ohne Anhaltspunkte...)!
Deshalb die Frage, wie man den Usernamen statt dessen da rein kriegt.

NeMeSiSX2LC

Hm muss morgen mal in die files rein sehen.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Dan

Hallo die beiden...

das ist eine gute Idee tomcom, ist mir auch schon gekommen...

@ NeMeSiSX2LC  
vielleicht kannst Du mir bei einer Sache einen Tipp geben... ich möchte gerne über der Ausgabe Grafik und unter den anklickbaren Buchstaben des Alphabets hätte ich gerne das man die versch. Kategorien auch zur Auswahl hätte... (da ich bereits in der Kategorie Getränke Cocktails & Longdrinks über 70 Stück habe).
Auch wäre es super wenn man bei den Kategorien noch Unterkategorien machen könnte... Kategorie Getränke, Unterkat. Bowlen, Cocktails, Longdrinks etc. - Ich hab mal ein Bildli gemacht... so wäre erste Sahne
 

Ich weiss, viele Wünsche, aber die hat halt ein gelernter Koch, die haben halt  andere Einteilungswünsche.
Vielleicht kannst Du mir einen Tipp geben ob man das überhaupt machen könnte?

NeMeSiSX2LC

jupps ich guck mal wird aber erst heute Nacht was ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Hallo !
Sinnvoll ist es immer, erst den Autor zu fragen. Dann geht es evt. schneller und andere müssen sich nicht extra einarbeiten.
In dem besagten Modul gibt es oben diesen Abschnitt :
 
Zitatif ($cookie[1] != "") {
   if ($Version_Num=="6.5") {
       $sql = "SELECT * FROM ".$user_prefix."_users WHERE username='$cookie[1]'";
       $result = sql_query($sql,$dbi);
       $row = sql_fetch_array($result,$dbi);
       if ($row['name'] != "") {
           $user_name = $row['name'];
       } else {
           $user_name = $row['username'];
       }
       $user_email = $row['user_email'];
   } else {
       $sql = "SELECT * FROM ".$user_prefix."_users WHERE uname='$cookie[1]'";
       $result = sql_query($sql,$dbi);
       $row = sql_fetch_array($result,$dbi);
       if ($row['name'] != "") {
           $user_name = $row['name'];
       } else {
           $user_name = $row['uname'];
       }
       $user_email = $row['email'];
   }
}
 
Wer VKPMX hast kann den Abschnitt komplett löschen.
Stattdessen mal dieses eintragen :
 
Zitatif(mxIsUser())
{
   $cookie = mxGetUserSession();
   $sql = "SELECT * FROM ".$user_prefix."_users WHERE username='$cookie[1]'";
   $result = sql_query($sql,$dbi);
   $row = sql_fetch_array($result,$dbi);
   $user_name = $row['uname'];
   $user_email = $row['email'];
}
damit sollte das Problem mit Real-Namen und User-Namen behoben sein.
Allerdings müssten dann bei schhon eingetragenen Rezepten noch die Real-Namen gegen die Usernamen geändert werden, sonst können die Autoren Ihre Rezepte nicht mehr ändern !
MfG
jubilee


[Editiert am 21/2/2004 von jubilee]

Dan

@ NeMeSiSX2LC  

Wenn Du mich meinst... das eilt ja nicht! War nur ein Vorschlag und Frage ob sowas überhaupt machbar ist. Vom Coden null Ahnung - vom Kochen etwas mehr  :cool:  

 jubilee
wie schon an  NeMeSiSX2LC bemerkt, das war eigentlich eine Frage obs machbar ist. Okay, wenn man den Aufwand nicht scheut ist (fast) alles machbar.
Wenn es geht würde ich an den Autor ne Email schicken oder gucken ob es andere Entwürfe einer Datenbank gibt in die man ev. auch Rezepte eingeben könnte.
Für ein 'nichtRezeptweb oder nichtKochseinWebmaster' ist das Programm sicher gut und reicht sicher aus.

tomcom

Habe da so abgeändert.
Aber da hat sich bei Dir ein Flüchtigkeitsfehler eingeschlichen!
Statt

$sql = "SELECT * FROM ".$user_prefix."_users WHERE username='$cookie[1]'";

sollte stehen

$sql = "SELECT * FROM ".$user_prefix."_users WHERE uname='$cookie[1]'";

"username" gibts nämlich nicht. Nach Abänderung dieser Zeile kommen keine Fehlermeldungen mehr

NeMeSiSX2LC

Tomcom funzt das wenigtens jetzt??
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

tomcom

Jau, soweit ja, es werden die richtigen Daten eingetragen.
Aber GP verteilt immer noch keine Punkte. Und das kann jetzt eigentlich nur noch mit dem Zeitformat zusammenhängen.
In der DB steht das Datum im amerikanischen Format (040221), in der EBoard DB z.B. als Unix-Timestamp (funktioniert), in der DVD-Datenbank 2004-02-21 14:39:32 (funktioniert auch).
Also müsste jetzt das Datumsformat noch angepasst werden.
Deshalb @jubilee:
Wie geht das???

Ria

Hi,

darf ich mal nachfragen ob dieses Modul auch als Glossar mißbraucht werden kann?

Es hört sich so an, als ob User hier auch eigene (in diesem Fall) Rezepte einsenden können?

So was kann die Encyclopedia ja nicht.

Oder ist das ganze zu fachspezifisch angelegt?

Gruss Ria

jubilee

Hallo !
@tomcom: Richtig, ein kleiner Flüchtigkeitsfehler. Hab das heut sozusagen zwischen Tür und Angel getippt.
@Ria:Im Prinzip kannst Du das Teil missbrauchen wofür du willst. Wenn du dir die Ein/Ausgaben (Design) entsprechend anpasst, sollte es auch als Glossar funktionieren.
@tomcom:Um das Datenbankformat der Rezeptdatenbank umzustellen, gibs 2 möglichkeiten. Script umschreiben so das ein Unix-Timestamp verwendet wird anstatt ein MySQL-Timestamp oder den MySQl-Timestamp vor dem Eintragen in die GP umwandeln --> $UnixTimestamp=strtotime($MySQL-Timestamp). Keine Ahnung ob man das im GP-Modul machen kann ??
MfG
jubilee

tomcom

@jubilee
Ist es denn sehr aufwendig, das Datum gleich im Unix-Format abzulegen?
Denn ich denke, dass das die einfachere Sache sein wird. Es geht ja eigentlich nur darum, den entsprechenden Teil im Script abzuändern, und das kann doch eigentlich nicht viel sein.
Das bei GP zu machen ist wohl schwieriger! GP liest doch jedesmal zur Berechnung die Datenbanken aus. Und da  wäre das Ganze dann wohl eher eine Aufgabe für den GP-Progger. Ist denn das SQL-Format so weit verbreitet? Was müsste geändert werden, um das per Unix zu erledigen? Kann man die Umrechnungsformel nicht "einfach" in das Script aufnehmen, kurz bevor die DB geschrieben wird? Ist die dritte Möglichkeit wie in der DVD-Datenbank nicht praktikabel oder zu umständlich???
Jaja, man müsste mehr Zeit haben, sich mit PHP zu beschäftigen!!!!
NUR IN DIESEM FALL: Sch.... Job

NeMeSiSX2LC

Mal was anderes so am Rande für was braucht das GP Module überhaupt das datum??? könnte doch auch einfach nur durch zählen wie oft der nick vorkommt oda??
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

tomcom

Das kann ich Dir nun wirklich genau sagen:
1.) Kann man als Admin das Datum eingeben, ab wann gezählt wird
2.) Kann man die DB regelmässig (also z.B. Am Monatsanfang) auf Null setzen.
Und alleine für diese beiden Funktionen braucht man wirklich ein Datum!!!!

NeMeSiSX2LC

Hm zu
1 das stimmt geht auch schon zu 2 habn ich noch nicht geweusst das das geht
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Hallo !
 
ZitatKann man die Umrechnungsformel nicht "einfach" in das Script aufnehmen, kurz bevor die DB geschrieben wird?
Gegenfrage: Kann man die Umrechnungsformel nicht in das GP übernehmen, kurz bevor die Datenbank ausgelesen wird ?.
Wenn Du das Modul (GP)  liegen hast, dann schick mir das mal per Mail.
Ich schau mal ob man das einfach einsetzen kann. Und richtig: das hätte der GP-Progger voerausehen müssen, das ihm auch MySQL-Timestamp als Datumsformat begegnen wird. Aber evt. kann ich das schnell mit einbauen.
Wie gesagt, das Modul bitte am meine E-mail Adresse.
MfG
jubilee

tomcom


tomcom

Habe die Lösung durch Zufall selber gefunden. Ist so primitiv, dass man sich nur noch am Kopf kratzen kann...
Über phpmyadmin folgendes ändern:
Im table "mx_recipes_recipes" den Typ von "submittime" einfach in "date" abändern! Schon eingetragene Daten werden automatisch umgerechnet und die Gummipunkte haben kein Problem mehr