Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Dificuldade em ações para amigos (IDs separados por vírgulas, explode,

$
0
0

Olá, mestres do PHP...!

 

Eu estou fazendo um teste para ver se vão funcionar ações de adição e deleção de amigos por usuários, antes eu já havia feito algum material para adição e deleção de amigos, porém, era quando eu usava outra tabela para guardar os dados de amizade com usuários, e depois pensei se isso tornasse uma bagunça, cheia de rows, então resolvi tornar-lôs em apenas uma coluna dentro da tabela onde permanecem os dados dos usuários, "friends", nessa coluna estariam IDs dos usuários amigos, todos separados por vírgulas:

 

ID-do-usuário,ID-do-usuário,ID-do-usuário,ID-do-usuário,ID-do-usuário,ID-do-usuário,ID-do-usuário, etc.

 

Depois são transformados em arrays no PHP, assim, com a função explode...

 

Agora aqui está o código fonte do que eu estava fazendo ontem...

	else if ($_GET['action'] == "add_friend" && $_GET['usr_id'] != $selfdata['id']) {
		$selfUserFriendsArray = explode(',', $selfdata['friends']);
		$selfUserFriendsArraysCounted = count($selfUserFriendsArray);
		if (isset($_GET['usr_id'])) {
			$checkIfUserExistsInQuery = $conn->prepare("SELECT id FROM hydss WHERE id=". $_GET['usr_id']);
			$checkIfUserExistsInQuery->execute();
			$checkIfUserExistsInRows = $checkIfUserExistsInQuery->rowCount();
			if ($checkIfUserExistsInRows > 0) {
				for ($i = 0; $i < $selfUserFriendsArraysCounted; $i++) {
					if ($selfUserFriendsArray[$i] == $_GET['usr_id']) {
						unset($selfUserFriendsArray[$i]);
						for ($tz = -1; $tz < $selfUserFriendsArraysCounted-1; $tz++) {
						if ($tz == $selfUserFriendsArraysCounted-1) { $commaOnIt=""; } else { $commaOnIt=","; }
						$friendOutSelfUsrFriendsList = $friendOutSelfUsrFriendsList . $selfUserFriendsArray[$tz] . $commaOnIt;
						}
						echo "It works...<br><br>". $friendOutSelfUsrFriendsList;
                                                //"It works...", ou seja, ele funciona...
						break;
					} else {
						
					}
				}
			} else {
				echo "The user you choosen does not exists.";
			}
		} else {
			header("Location: ". $websiteurl);
		}
	}

No código acima há uma verificação, caso o usuário selecionado para adição não exista, ele não será adicionado, porém ainda não adicionei a linha de update, é apenas um teste para eu ter certeza de que irei conseguir fazer isso.

 

Okay, então, quando vou fazer o teste, o PHP dá um print dessa forma:

 

--------------------

It works...

,,5,76,61,64,93,

--------------------

 

Poxa! Acho que entenderam.

Eu quero remover essas duas primeiras vírgulas e a última vírgula. Apenas isso... já procurei por remover o primeiro caractere, mas... :/

 

Então, se alguém puder me ajudar, sou grato!

 

(http://handoncloud.zz.mu/action?action=add_friend&usr_id=4, apenas conectado para testar);


Viewing all articles
Browse latest Browse all 14190

Trending Articles