PHP / MySQL soru [facebook ilgili]

1 Cevap php

Tamam ... Ben şu sorunu yaşıyorum - benim facebook uygulama ben insanların User_id, post_id ve tarih ile benim DB göndererek tırnak ekleyelim. Sonra insanlar mesajları görmek bir göz sayfa var - Şimdiye kadar, çok iyi. Ama sonra benim kullanıcıların kendi durumu gibi dedi mesajı ayarlamanızı sağlayan bir düğme ekleyin. Hala tüm iyi. Ben benim durumu, tek tek olarak DB tüm mesajları ayardır ne yaptığını düğmesine bastığınızda Ancak hepsi benim statülerde olarak yazdırmak kadar. Ben bütün mesajları yazdırmak ve db sadece belirli post_id tutarak, her sözü düğme eklemek için güçlü olmak için nasıl emin değilim çünkü ben çünkü ben kullanmak 'while' işlevi olduğundan eminim ve. _. '

Yani diğer bir deyişle, bir PHP / MySQL sorunu esas olarak, yani FBML aşina değilseniz bile, hala koduyla bana yardımcı olabilir ...

Mesajların listesi olarak düşünün ve her bir düğme şey yapıyor ve nedense sadece belirli yazılan bağlı olmak olmalıdır.

Kod şudur:

.... some code here ....

$query = 'SELECT * FROM tb_table ORDER BY `time` DESC';
$results = mysql_query($query);

---some other code---

while($line = mysql_fetch_assoc($results)) {
echo '<TABLE BORDER=0><TR VALIGN=TOP><TD>'; 
echo "<fb:profile-pic uid=".$line['userid']." size='square' facebook-logo='true'></fb:profile-pic></TD>";
echo "<TD>".$line['postid']."<br>"."<br>"."Posted by: ".$data['first_name'].$data['last_name']."<br>".date("F j, Y, g:i a", $line['fb_time'])."</TD>";
//Problems start from here
echo $facebook->api_client->users_setStatus($line['postid']) ; 

echo '<div id="statusdiv" style="display:<?=$visibility;?>;">   
    <form method="POST">   
           <input type="submit" value="change status" />   
    </form>   
</div>  ';
echo "</TR></TABLE><br>"; 

1 Cevap

Şimdi yapıyoruz şey daha sonra (her yineleme için) durumunu ayarlar users_setStatus işlevini çağırın mysql resultset'de aracılığıyla döngü her zaman.

Sen $line['postid'] ve sonra formun POST sonra users_setStatus çağrı içeren form gizli bir giriş alanı eklemek istiyorum. Bu şekilde sadece bir kez durumunuzu değiştirebilirsiniz.

Update

Remove the call to users_setStatus from the while loop. Change your form like this:

echo '<div id="statusdiv" style="display:<?=$visibility;?>;">   
    <form method="POST">   
           <input type="submit" value="change status" />
           <input type="hidden" name="line" value="'.$line['postid]'.'" />   
    </form>   
</div>  ';

Sonra göndererek üzerine POST değişkeni yakalamak. Ile gibi bir şey:

if (isset($_POST['line'])) {
echo $facebook->api_client->users_setStatus($_POST['line']) ;
}

http://www.w3schools.com/php/php_forms.asp daha fazla bilgi için bkz.