Thread Author: Kevin
Thread ID: 2461
Thread Info
Es gibt 24 Beiträge zu diesem Thema, und es wurde 4411 mal angesehen.
Wer ist hier? 1 Gäste

 Thema drucken
Poke Status in Profile anzeigen
Kevin
Hallo alle zusammen,

es gibt ja bei euch das Poke System zum download also wo man ein Mitglied kuscheln bzw Poken kann.

Nun hab ich mir mal gedanken gemacht und habe mir gedacht das es ja eine Super sache wäre das man im Profil ein Feld integriert was dann aus der Datenbank den Status liest wie oft der User gepoket wurde und dann dort steht

Gekuschelt: Du wurdest XY mal gekuschelt

zum Beispiel. Nun habe ich in die Datenbank geschaut und bin auch fündig gewurden und zwar speichert er die Poke ID Wer gepoket hat sowie die Anzahl ab in dem Fall "poked"für die Anzahl.

Nun zu meiner Frage kann ich dieses Feld als Profilfeld auslesen lassen und dann als Profilfeld machen ?

Vielen Dank schon mal

LG Kevin
Bearbeitet von Kevin am 25.02.2010 um 16:07
 
SC-Ad-Bot
 
emblinux
Ja, das kannst du auch als Profilfeld machen.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Kevin
Okay und gibt es da was bestimmtes zu beachten ?

Hast du eine Idee welches Profilfeld ich mir da als Beispiel nehmen kann was so ähnlich aufgebaut ist ?

Danke schon ma
 
emblinux
Als Vorlage kannst di eigentlich fast jedes Profilfeld benutzen. Am besten nimm das Profilfeld für den Wohnort (Location)

Zu beachten gibt es da auch nicht viel, lediglich, das du nur die Ausgabe (output) brauchst und nicht die Eingabe, Einfügen oder Aktualisieren (input,validate_insert, validate_update)
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Kevin
Also statt input .... output nehmen und die Daten aus der Datenbank lessen also wo die Abfrage statt findet das sf_poke ersetzen ? ....

Ich versuch das mal.Sollte klappen Smile

Vielen Dank Smile wenn es noch was gibt melde ich mich
 
emblinux
In den meisten Profilfeldern gibt es 4 Zustände (input,output,validate_insert, validate_update) Du lässt einfach die IF-Zweige für die nicht notwendigen Zustände leer und machst nur die Ausgabe (output)

Du brauchst auch kein extra Profilfeld dafür anlegen.

Schau dir einfach mal alles in Ruhe an, dann verstehst du acuh, wie was funktioniert.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Kevin
Okay gut super danke Smile

Das Feld Ort wo finde ich das ? Finde nur das Feld Country aber das ja wiederum völlig was anderes was ich mache oder nicht ? Dickeslachen
 
emblinux
Das Profilfeld, welches ich meinte, ist in Fusion bereits enthalten. Du brauchst dir also nicht extra was herunterladen.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Kevin
Okay habe sie gefunden.

Folgender Code müsste es sein:

Code 

if (!defined("IN_FUSION")) { die("Access Denied"); }

if ($profile_method == "input") {
   echo "<tr>\n";
   echo "<td class='tbl'>".$locale['uf_location'].":</td>\n";
   echo "<td class='tbl'><input type='text' name='user_location' value='".(isset($user_data['user_location']) ? $user_data['user_location'] : "")."' maxlength='50' class='textbox' style='width:200px;' /></td>\n";
   echo "</tr>\n";
} elseif ($profile_method == "display") {
   if ($user_data['user_location']) {
      echo "<tr>\n";
      echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_location']."</td>\n";
      echo "<td align='right' class='tbl1'>".$user_data['user_location']."</td>\n";
      echo "</tr>\n";
   }
} elseif ($profile_method == "validate_insert") {
   $db_fields .= ", user_location";
   $db_values .= ", '".(isset($_POST['user_location']) ? stripinput(trim($_POST['user_location'])) : "")."'";
} elseif ($profile_method == "validate_update") {
   $db_values .= ", user_location='".(isset($_POST['user_location']) ? stripinput(trim($_POST['user_location'])) : "")."'";
}
?>



Richtig oder ?
 
emblinux
Jep, und für dich ist eigentlcih nur der Bereich display wichtig. Die anderen Bereiche können leer bleiben.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Kevin
Okay vielen vielen dank Smile Ich werde mich jetzt mal ran setzen.heißt alles andere außer Display kann so bleiben wie es ist ?

Und Profilfeld muss ich natürlich anderen Namen geben sowie neuen Pfad.Smile

Ob ich das hin bekomme Smile Ich bezweifel es aber ich versuch es mal Smile
Bearbeitet von Kevin am 25.02.2010 um 17:03
 
emblinux
Die anderen Bereiche nicht so lassen, sondern leeren.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Kevin
Was meinst du mit leeren ?

Sorry bin denk ich ma die totale Niete was Profilfelder angeht Dickeslachen ....
 
emblinux
Das die IF-Verzweigungen leer sind, das dort nichts mehr steht.

Probier einfach erst mal etwas rum....
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Mytelion
Ich weis es gibt schon eine Thread dafür aber da hir gerade viel geschrieben wirdWink
Ich habe überal geschaut aber nix gefunden wo bitte sehr muß ich diesen code einfügen?

an die stelle wo der Poke Button auftauchen soll diesen code setzen (grafik links bitte anpassen)

Sry kann keine Code einfügen da das
Zitat - SICHERHEITS ALARM -


an ist und Blockiert.

ich hoffe ihr wiest aber was ich meine mit den Pocke!?
 
Kevin
Sorry das ich noch mal Störe.

Kannst du mir an Hand der ersten If Abfrage sagen wie du es meinst damit ich ca weiss was ich machen muss ?

Wäre Super...

Danke Dirk schon ma ...
 
emblinux
So sollte es ungefähr aussehen. Natürlich musst du da jetzt noch die Abfrage und so einbauen.

Code 

if (!defined("IN_FUSION")) { die("Access Denied"); }

if ($profile_method == "input") {
} elseif ($profile_method == "display") {
   if (iMEMBER)
    {
      SELECT ANFRAGE, wo du die Anzahl der Pokes ermittelst für den entsprechenden User
      $poke_count ........ ist dann die Variable, die die Anzahl enthält
      echo "<tr>\n";
      echo "<td width='1%' class='tbl1' style='white-space:nowrap'>Wie oft wurde ich gepoked:</td>\n";
      echo "<td align='right' class='tbl1'>".$poke_count."</td>\n";
      echo "</tr>\n";
    }
} elseif ($profile_method == "validate_insert") {
} elseif ($profile_method == "validate_update") {
}
?>


Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Kevin
Suuuuuper danke Smile Nun weiss ich auch wie es gedacht ist. Vielen Vielen Dank Dirk.

Das Feld muss ich ja auch statt user_location_include.php in user_poke_include.php und dann noch eine user_poke_include_var.php die die Position usw enthält.

Danke und LG
 
Kevin
Hallo alle zusammen,

das Thema ist lange her aber ich rufe es hiermit noch einmal auf. Da ich es einfach nicht hinbekomme anzuzeigen wie oft jemand insgesamt gepoked wurde.

Hier zur Verdeutlichung ein kleiner auszug aus der DB so wie es bei mir ca ausschaut.

euer-portal.net/poken_db.JPG

EDIT: Anscheinend sind die Zahlen in der BD vordefiniert da sich nichts in der DB verändert wenn jemand wiederum gepoked wurde. Heißt wohl das der Stand wie oft ein user gepoked wurde gar nicht gespeichert wird. Geht das trotzdem irgendwie ?

Angezeigt werden soll nicht wer wenn gepoked hat sondern es soll nur zusammen gezählt werden Beispiel: User ID 1 von User ID 22 5 steht da z.B. .... Dann müssen alle von denen man gepoked wurde zusammen gerechnet werden in diesem Beispiel wurde ich ja nur von der Id 22 5 mal gepoked ... also Du wurdest 5 mal gepoked. Wenn dich die ID 2 4 ma gepoked hat würde da stehen du wurdest 9 mal gepoked.

Hoffe es is so verständlich.

Über Hilfe bin ich sehr dankbar.

LG
Bearbeitet von Kevin am 09.03.2010 um 21:40
 
emblinux
Für mich sieht das mehr danach aus, als wenn die 1. Spalte eine fortlaufende ID ist, also nicht mit einem User zutun hat. Die 2. Spalte ist die User ID, der den User mit der ID aus der 3. Spalte poked.

Um also herauszu bekommen, wie oft der User mit der ID 3 (1 Zeile ,3. Spalte) gepoked wurde, musst du nur zählen, wie oft dort die Zahl 3 (ID des Users) auftaucht. Hier ein kleines Beispiel.

Code 

SELECT count(poked) as cnt FROM poketabelle WHERE poked=3


Das gibt dir dann die Anzahl zurück, wie oft dieser User gepoked wurde. In deiner PHP-Datei könnte das z.B. so aussehen:

Code 

$sql = "SELECT count(poked) as cnt FROM ".DB_POKETABELLE." WHERE poked='".$udata[user_id]."'";
$res = dbquery($sql);
$data = dbarray($res);
echo $data['cnt'];



Wie gesagt, ist nur ein Beispiel, nicht so übernehmen. Ich hoffe du hast dadurch verstanden, wie es funktioniert.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 

Springe ins Forum:

 Ähnliche Themen 

TEST
Thema Forum Antworten Letzter Beitrag
User Status Allgemeine Support Fragen 2 21.09.2015 um 11:27
Profile Allgemeine Support Fragen 2 05.02.2015 um 17:58
TS Status Allgemeine Support Fragen 9 26.02.2014 um 12:05
birthday_today_panel Gesperrte & Deaktivierte User nicht anzeigen Allgemeine Support Fragen 1 21.09.2013 um 14:34
Panels für profile.php ausblenden - nur wie? Allgemeine Support Fragen 8 16.03.2013 um 00:55
Gr@n@dE