- Android alkalmazások - szoftver kibeszélő topik
- CMF Buds Pro 2 - feltekerheted a hangerőt
- iPhone topik
- Samsung Galaxy Watch7 - kötelező kör
- Megjelent a Poco F7, eurós ára is van már
- Telekom mobilszolgáltatások
- One mobilszolgáltatások
- Vivo X200 Pro - a kétszázát!
- Mobil flották
- Okosóra és okoskiegészítő topik
Aktív témák
-
Deemer
csendes tag
Sikerült megoldanom a hibát .. pár +feltérellel kiegészítettem, és most már jó
-
Deemer
csendes tag
Sziasztok!
Egyik ismerősöm ajánlotta ezt az oldalt, és hát eddig csak pozitív dolgokat hallottam róla, így gondoltam megpróbálom én is :)
Nos akkor ... Olyat szeretnék csinálni a fórumomba, hogy ha a user volt a topicban, és ha érkezik új hozzászólás, akkor jelezze neki, hogy van a fórumon, és azon belül a megfelelő topicon belül új hsz az utolsó ottléte óta ...
Eddig a képek megvannak hozzá, meg meg is próbáltam írni magamtól, csak azaz igazság, hogy nem akar menni rendesen nekem , mert van amikor jelez a fórumnál, hogy új hsz van a fórumon belül, de egy topic se jelez, hogy azon belül lenne ...
Van nekem ilyenem, hogy:
SQL Tábla
CREATE TABLE `forum_visited` (
`username` VARCHAR(255) NOT NULL,
`forum` INT(11) NOT NULL,
`topic` INT(11) NOT NULL,
`replies` INT(11) NOT NULL,
`big_new` INT(11) NOT NULL DEFAULT '0',
`uid` INT(11) NOT NULL NULL,
`time` INT(11) NOT NULL NULL
) TYPE=InnoDB;
usernameba megy a felhasználó, fórumba a fórum idje, topicba a topic idje, repliesbe megy a megtekintés idején a topic kezdőhszére a válaszok száma( ezzel ellenőrzöm, hogy kell e jelölni, hogy új hsz, vagy sem ... ) a big_new az jelzi, hogy kint a fórumok listájánál jelezzen e, hogy van új hsz, vagy sem, uid a felhasználó id-je, és a time, pedig ha postolt, akkor annak az ideje, hogy mikor küldte el.
Ha belép a topicba, akkor beteszem a visited táblába az adatait, így ha lesz új hsz, akkor már neki fog jelezni .. legalábbis kéne neki :P
PHP Kód
if( isset( $_SESSION['user_logged_in'] )) {
$sql_uid = ''SELECT `id` FROM `users` WHERE `username`=''' . $_SESSION['username'] . ''''';
$query_uid = mysql_query( $sql_uid );
$fetch_uid = mysql_fetch_assoc( $query_uid );
$sql_visited = ''SELECT `big_new` FROM `forum_visited` WHERE `username`=''' . $_SESSION['username'] . ''' and `forum`='$req' and `topic`='$id' and `uid`='' . $fetch_uid['id'];
$query_visited = mysql_query( $sql_visited );
if(( mysql_num_rows( $query_visited ) == 1 )) {
$fetch_visited = mysql_fetch_assoc( $query_visited );
$sql_visited = ''UPDATE `forum_visited` SET `replies`='$visited_replies', `big_new`='0', `time`=''' . time() . ''' WHERE `username`=''' . $_SESSION['username'] . ''' and `forum`='$req' and `topic`='$id' and `uid`=''' . $fetch_uid['id'] . ''''';
mysql_query( $sql_visited );
}
else {
$sql_visited = ''REPLACE INTO `forum_visited`( `username`, `forum`, `topic`, `replies`, `big_new`, `uid`, `time` ) VALUES( ''' . $_SESSION['username'] . ''', '$req', '$id', '$visited_replies', 0, '' . $fetch_uid['id'] . '', ''' . time() . ''' )'';
mysql_query( $sql_visited );
}
};
Csak akkor csinálja, ha a user be van lépve ... lekérem a user idjét, összeteszem a visited táblából al ekérést, ha sikeres a lekérés, akkor updatelem a legfrisebb adatokkal és átteszem 0ra a big_newt, hogy ne jelezzen többet ebben a topicban és a fórum emiatt a topic miatt. Egyéb esetben valszeg most jön elsőnek a topicba, így beteszem a jelenlegi adatokat, big_new 0-val, így nem fog jelezni, csak ha később lesz benne új hsz.
Ha új témát nyit, vagy hozzászól, akkor beteszem a visited táblába big_new 1-el:
PHP Kód:
$sql_visited = ''SELECT `forum` FROM `forum_visited` WHERE `username`=''' . $_SESSION['username'] . ''' and `forum`='$req' and `topic`='$id' and `uid`='' . $fetch_uid['id'];
$query_visited = mysql_query( $sql_visited );
if( mysql_num_rows( $query_visited ) != 0 ) {
$sql_visited = ''UPDATE `forum_visited` SET `replies`='$visited_replies', `big_new`='1', `time`=''' . time() . ''' WHERE `username`=''' . $_SESSION['username'] . ''' and `forum`='$req' and `topic`='$id' and `uid`=''' . $fetch_uid['id'] . ''''';
mysql_query( $sql_visited );
}
else {
$sql_visited = ''REPLACE INTO `forum_visited`( `username`, `forum`, `topic`, `replies`, `big_new`, `uid`, `time` ) VALUES( ''' . $_SESSION['username'] . ''', '$req', '$id', '$visited_replies', 1, '' . $fetch_uid['id'] . '', ''' . time() . ''' )'';
mysql_query( $sql_visited );
}
Lényegét tekintve ua a kód, mint az előző, csak itt 1 lesz a big_new, hogy jelezzen a többieknek ...
Akkor asszem jöhet is a topicok listázása:
PHP Kód:
if( isset( $_SESSION['user_logged_in'] )) {
$sql_visited = ''SELECT `replies`, `time` FROM `forum_visited` WHERE `username`=''' . $_SESSION['username'] . ''' and `forum`='$id' and `topic`=''' . $cont['id'] . ''' and `uid`='' . $fetch_uid['id'];
$query_visited = mysql_query( $sql_visited );
if( mysql_num_rows( $query_visited ) == 1 ) {
$fetch_visited = mysql_fetch_assoc( $query_visited );
if( $fetch_visited['replies'] < $cont['replies'] ) {
$exp = explode( ''.'', $img );
$img = $exp[0] . ''_new.'' . $exp[1];
};
};
};
Lefut, ha user be van lépve. megnézem, hogy volt e már a user a topicban, ha volt, akkor lekérem a látogatása idejében a válaszok számát, ha ez kisebb, mint a jelenlegi, akkor jelölöm neki, hogy van új hsz.
És a fórumoknál is a jelölés:
PHP Kód:
if( isset( $_SESSION['user_logged_in'] )) {
$sql_uid = ''SELECT `id` FROM `users` WHERE `username`=''' . $_SESSION['username'] . ''''';
$query_uid = mysql_query( $sql_uid );
$fetch_uid = mysql_fetch_assoc( $query_uid );
$sql_visited = ''SELECT `big_new` FROM `forum_visited` WHERE `username`=''' . $_SESSION['username'] . ''' and `forum`=''' . $cont['id'] . ''' and `uid`='' . $fetch_uid['id'];
$query_visited = mysql_query( $sql_visited );
if( mysql_num_rows( $query_visited ) != 0 ) {
$fetch_visited = mysql_fetch_assoc( $query_visited );
if( $fetch_visited['big_new'] == 1 ) {
$exp = explode( ''.'', $img );
$img = $exp[0] . ''_new.'' . $exp[1];
};
};
};
Lefut, ha a user be van lépve. lekérem a user idjét. összeteszem a lekérést. ha a visszaadott sorok száma nem 0, akkor lekérem az adatokat, és ha a big_new az 1, akkor jelölöm, hogy új hsz van a témán belül.
Srry, hogy ilyen hosszú lett, csak szerepeltetni szerettem volna mindent. Remélem tudtok segíteni. lehet logikai felépítésében vna a gond, vagy nem tudom, de már itt töröm magam rajta egy hete, és nem akar sikerülni Ezért gondoltam, hogy hátha tudtok segíteni
Előre is köszönöm a segítségeteket! Laterz!
[Szerkesztve]
Aktív témák
- Vezetékes FEJhallgatók
- A Micron újszerű módszerrel javítja QLC-s SSD-jének sebességét
- Otthoni időjárás-állomás
- Dune Awakening - Máris túl az 1 millión
- Konzol Screenshot
- Mesterséges intelligencia topik
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Továbbfejlődött a Keychron egéralternatívája a Logitech MX Masterre
- További aktív témák...
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32 RAM RTX 5060Ti 16GB GAMER PC termékbeszámítással
- Csere-Beszámítás! RTX Számítógép játékra! I7 6700K / 32GB DDR4 / RTX 2060 / 500GB SSD
- Samsung Galaxy S25 Ultra 1TB, Kártyafüggetlen, 1 Év Garanciával
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest