|
Poke Status in Profile anzeigen
|
| Kevin |
Geschrieben am 25. Februar 2010 16:06:29
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
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
Editiert von Kevin am 25. Februar 2010 16:07:38 |
 |
|
|
|
|
| emblinux |
Geschrieben am 25. Februar 2010 16:26:09
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|
|
|
|
| Kevin |
Geschrieben am 25. Februar 2010 16:29:03
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
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 |
Geschrieben am 25. Februar 2010 16:33:29
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|
|
|
|
| Kevin |
Geschrieben am 25. Februar 2010 16:36:40
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
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 
Vielen Dank wenn es noch was gibt melde ich mich |
 |
|
|
|
|
| emblinux |
Geschrieben am 25. Februar 2010 16:41:12
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|
|
|
|
| Kevin |
Geschrieben am 25. Februar 2010 16:45:51
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
Okay gut super danke 
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 ?  |
 |
|
|
|
|
| emblinux |
Geschrieben am 25. Februar 2010 16:47:15
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|
|
|
|
| Kevin |
Geschrieben am 25. Februar 2010 16:54:48
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
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 |
Geschrieben am 25. Februar 2010 16:57:33
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|
|
|
|
| Kevin |
Geschrieben am 25. Februar 2010 17:00:16
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
Okay vielen vielen dank 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.
Ob ich das hin bekomme Ich bezweifel es aber ich versuch es mal
Editiert von Kevin am 25. Februar 2010 17:03:49 |
 |
|
|
|
|
| emblinux |
Geschrieben am 25. Februar 2010 17:04:37
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|
|
|
|
| Kevin |
Geschrieben am 25. Februar 2010 17:07:06
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
Was meinst du mit leeren ?
Sorry bin denk ich ma die totale Niete was Profilfelder angeht .... |
 |
|
|
|
|
| emblinux |
Geschrieben am 25. Februar 2010 17:09:25
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|
|
|
|
| Mytelion |
Geschrieben am 25. Februar 2010 18:17:49
|
Stammgast

Posts: 93
Registriert seit: 03.01.10
Verwarnstatus:    
|
Ich weis es gibt schon eine Thread dafür aber da hir gerade viel geschrieben wird
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 - SICHERHEITS ALARM -
an ist und Blockiert.
ich hoffe ihr wiest aber was ich meine mit den Pocke!? |
 |
|
|
|
|
| Kevin |
Geschrieben am 25. Februar 2010 20:45:07
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
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 |
Geschrieben am 25. Februar 2010 20:51:07
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|
|
|
|
| Kevin |
Geschrieben am 25. Februar 2010 20:54:25
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
Suuuuuper danke 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 |
Geschrieben am 09. März 2010 21:32:44
|

Stammgast

Posts: 152
Registriert seit: 06.10.08
Verwarnstatus:    
|
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.

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
Editiert von Kevin am 09. März 2010 21:40:42 |
 |
|
|
|
|
| emblinux |
Geschrieben am 10. März 2010 07:54:53
|


Posts: 2617
Registriert seit: 04.10.08
|
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 !
 |
 |
|