Avatar billede alexanderss Nybegynder
08. juni 2006 - 18:28 Der er 9 kommentarer og
1 løsning

Tagwall funktion

Hej..
I min tagwall havde jeg tænkt mig, at man med "kommandoen" /smid kan smide nogle af sine point, f.eks. /smid 1234.
Derefter kommer der et link, hvor man kan samle dem op. Og hvis de er samlet op én gang, så kan man ikke mere.
Hvordan laver jeg det?
Avatar billede jakobdo Ekspert
08. juni 2006 - 20:04 #1
Jeg tror nu nok hellere jeg ville lave det som et lille input felt ved siden af beskeden, hvor du så lavede:

SMID POINT: <input type="text" value="point">
Det gemmer du så i en database, f.eks. skal du jo gemme ID på brugeren, hvor mange point der er tale om, og evt en modtager af pointene.
Hvis point endnu ikke er taget, kunne modtager ID var = NULL.
Hvis modtager ID = 27, så har bruger med ID 27 tager pointene, og der er ikke et link til at tage dem længere.
Avatar billede alexanderss Nybegynder
08. juni 2006 - 21:37 #2
Det nederste du skriver er en ganske udmærket idé! Men hvordan laver jeg /smid og så antal point "kommandoen"?
Avatar billede jakobdo Ekspert
08. juni 2006 - 21:39 #3
Du har vel allerede en funktion som smider noget data i en database ikke?
Der skal din form så udbygges med et ekstra felt, som jeg skrev før: SMID POINT: <input type="text" value="point">
Og så er det blot at oprette en ekstra tabel til at varetage pointene.
Avatar billede alexanderss Nybegynder
08. juni 2006 - 21:46 #4
Ja, men det måden man skal smide pointene, jeg er interesseret i et script, der forstår /smid og antal point, og ikke en tekstboks.
Avatar billede jakobdo Ekspert
08. juni 2006 - 21:56 #5
Så kan du evt bruge:

if(preg_match('/\/smid\\s(\\d+)/i', $tagwall_tekst, $match))
{
    $point = $match[1];
}
Avatar billede alexanderss Nybegynder
09. juni 2006 - 13:11 #6
Jeg har prøvet mig lidt frem:

<?php $q3 = mysql_query("select * from community_brugere where brugernavn = '$_SESSION[Brugernavn]'");
$bruger = mysql_fetch_array($q3);

$point_con = mysql_query("SELECT * FROM community_post WHERE id = id = '". $_GET['id'] ."'");
$point = mysql_fetch_array($point_con); ?>

<?php if($_GET['smid'] == "ja"){
if($point['status'] == "inaktiv"){
print "Pointene er samlet op!";
if($point['status'] == "aktiv"){
mysql_query("UPDATE community_poing SET status = 'inaktiv', modtager = '$_SESSION[Brugernavn] WHERE id = '". $_GET['id'] ."'");
print "Du har nu samlet pointene op!";
}
}}


<?php
if(preg_match('/\/smid\\s(\\d+)/i', htmlentities($tagwall['besked']), $match)){
$point = $match[1];
if($bruger[point] < $point) {
print "<b class=\"red\">Du har ikke nok point!</b>";
}else{
$monter = $bruger[point];
$minus = $monter-$point;
mysql_query("UPDATE community_brugere SET point = '$minus' WHERE brugernavn = '$_SESSION[Brugernavn]'"); // Sætter de point der er tilbage ind..
mysql_query("INSERT INTO community_point SET afsender = '$_SESSION[Brugernavn]', point = '$point', status = 'aktiv'"); // De point, der er smidt bliver sendt ind i db..
$robot_con = mysql_query("SELECT * FROM community_point WHERE afsender = '$_SESSION[Brugernavn]'"); // Henter id'et...
$robot = mysql_fetch_array($robot_con);
mysql_query("insert into tagwall set
navn = '<b>Information</b> (Bot)',
besked = '$_SESSION[Brugernavn] har smidt $point point, for at samle dem op, <a href=\"?smid=ja&id=$robot[id]\">klik her</a>',
afsender = 'Information',
modtager = '',
rang = 'Robot',
dato = '$dato'");
}}
?>
Avatar billede jakobdo Ekspert
09. juni 2006 - 13:45 #7
Jeg kan vel næsten gætte det ikke virker endnu, siden du poster din kode her?
Avatar billede alexanderss Nybegynder
09. juni 2006 - 13:48 #8
Ja, det er korrekt. Hver gang jeg går ind under tagwall mister jeg det antal point jeg smed, og bot oplysninger kommer ikke ind i db'en..
Avatar billede alexanderss Nybegynder
09. juni 2006 - 22:46 #9
Nå, jeg lukker, jeg prøver med nogle flere point...
Avatar billede jakobdo Ekspert
09. juni 2006 - 22:54 #10
Du er da godt nok utålmodig...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester