Jag tycker att du har tänkt lite galet när du har gjort din databasstruktur.
Istället för att ha en kolumn för varje användare med dennes vänner, så tycker jag att du ska ha en separat tabell för vänskapsrelationer mellan olika användare. Det kommer underlätta väldigt mycket för dig tror jag.
Hej
jag har tidigare varit här med lite fel i samma system jag har kodat men nu så här jag hållit på med att man ska ge användarna möjligheterna att ta bort sina vänner som man inte vill ha kvar. men nu e det så att jag inte löser vad som e felet i detta. den vill inte ta bort att man e vänner länge
vad e felet
if ($_POST["request"] == "removeFriendship") {
$mem1 = preg_replace('#[^0-9]#i', '', $_POST['mem1']); // Person doing the friendship remove
$mem2 = preg_replace('#[^0-9]#i', '', $_POST['mem2']); // Person being removed
//
if (!$mem1 || !$mem2 || !$thisWipit) {
echo 'Error: Missing data';
exit();
}
//
$decryptedID = base64_decode($_SESSION['id']);
$id_array = explode("p3h9xfn8sq03hs2234", $decryptedID);
$mem1SessIDX = $id_array[1];
if ($mem1SessIDX != $mem1) {
exit();
}
// Query mem1 and mem2 friend_array out of DB
$sql_frnd_arry_mem1 = mysql_query("SELECT friend_array FROM user WHERE id='$mem1' LIMIT 1");
$sql_frnd_arry_mem2 = mysql_query("SELECT friend_array FROM user WHERE id='$mem2' LIMIT 1");
while($row=mysql_fetch_array($sql_frnd_arry_mem1)) { $frnd_arry_mem1 = $row["friend_array"]; }
while($row=mysql_fetch_array($sql_frnd_arry_mem2)) { $frnd_arry_mem2 = $row["friend_array"]; }
// Check to see they are in fact each other's friends
$frndArryMem1 = explode(",", $frnd_arry_mem1);
$frndArryMem2 = explode(",", $frnd_arry_mem2);
if (!in_array($mem2, $frndArryMem1)) { echo 'This member is not in your list'; exit(); }
if (!in_array($mem1, $frndArryMem2)) { echo 'This member is not in your list'; exit(); }
// Here we remove them from each other's arrays using "unset" on the key where the value is found
foreach ($frndArryMem1 as $key => $value) {
if ($value == $mem2) {
unset($frndArryMem1[$key]);
}
}
foreach ($frndArryMem2 as $key => $value) {
if ($value == $mem1) {
unset($frndArryMem2[$key]);
}
}
// Now implode the adjusted arrays to make them strings again before going into the database
$newStringForMem1 = implode(",", $frndArryMem1);
$newStringForMem2 = implode(",", $frndArryMem2);
// And now update their database fields
$sql = mysql_query("UPDATE user SET friend_array='$newStringForMem1' WHERE id='$mem1'");
$sql = mysql_query("UPDATE user SET friend_array='$newStringForMem2' WHERE id='$mem2'");
echo 'You are no longer friends with this member.';
exit();
}
denna php funktion eller vad man nu ska kalla det anropas av lite java eller JQery vet inte riktigt skillnaden mellan dem (A) och javan elelr vad det nu e anropas av php kod.
phjp koden ser ut
<div class="interactContainers" id="remove_friend">
<div align="right">
<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers('remove_friend');">Stäng</a>
</div>
Är du säker på att du vill ta bort <?php print $username; ?> som vän?
<a href="#" onclick="return false" onmousedown="javascript:removeAsFriend(<?php echo $_SESSION['id']; ?>, <?php echo $id; ?>);">Ja</a>
<span id="remove_friend_loader"><img src="images/loading.gif" width="28" height="10" alt="Loading" /></span>
</div>
och detta e javan eller jQuery
// Friend removal stuff
function removeAsFriend(a,b) {
$("#remove_friend_loader").show();
$.post(friendRequestURL,{ request: "removeFriendship", mem1: a, mem2: b, thisWipit: thisRandNum } ,function(data) {
$("#remove_friend").html(data).show().fadeOut(12000);
});
}
Snälla hjälp mig med detta (A)
förvirrad nybörjade på php (A)
/Robin k
BTw vill ni följa min utveckling kolla på in www.blabster.nu inte helt färdig men det utvecklas så fort som det går man måste ju förstå vad man kodar:)
// Robin K
