Puh, har suttit större delen av kvällen. Och nu funkar det.
Men grejjen kommer sedan till när jag ska skriva ut vilka kompisar jag har på min lista. För att i kompis-tabellen sparar jag mitt användarnamn och kompisarnas ID'n. Och då skrivs ju bara deras ID nummer ut, ser inte så skoj ut liksom.
Dina kompisar!
22
15
24
Hur fixar man det? Jag kan skriva in deras namn istället, MEN, om man väljer att kalla sig för "Bert Gregor" så kommer bara "Bert" in i databasen när man lägger till honom som polare. Kanske lättare att hitta en lösning på det?
Det fungerar inte för mig riktigt. Jag får inget felmeddelande, men inget skrivs ut. Och det finns poster i databasen som borde skrivas ut...
<?php
include("includes/connection.php");
$catch = mysql_db_query("rob","SELECT * FROM users, friends WHERE users.uUsername = friends.User");
while ($userRow = mysql_fetch_array ( $catch )) {
echo("".$userRow['friends.Friend']."<br>");
}
mysql_close($db);
?>
Jag förstår dock inte hur den här koden ska kunna hämta mina kompisars användarnamn eftersom att dom bara finns som namn i users databasen och bara som ID nummer i friends databasen.
Jag förstår dock inte hur den här koden ska kunna hämta mina kompisars användarnamn eftersom att dom bara finns som namn i users databasen och bara som ID nummer i friends databasen.
Självklart så måste du ha Id nummer i "users" också... eller användarnamn i "friends".
Ja, det är väl logiskt? I så fall så måste du ju ha ett fält som står för om man är inloggad eller ej, så att du sen kan göra en AND loggedIn = 1, typ... ?
Jag blir fan helt galen alltså! Jag får det inte att funka hur jag än gör!
Nu har jag skapat en session som sparar mitt ID nummer. Sedan jämför jag sessionens innehåll med kompisarnas fält "FriendID" där mitt ID nummer sparas. Koden ser ut så här:
<?php
include("includes/connection.php");
$catch = mysql_db_query("rob","SELECT users.id FROM users, friends WHERE $UserMyOwnID = friends.FriendID");
while ($userRow = mysql_fetch_array ( $catch )) {
echo("".$userRow['friends.Friend']."<br>");
}
mysql_close($db);
?>
Jag fick det att fungera! Jag fick göra om koden lite. Men ska nu testa om det går på ett annat sätt, vill ju inte öppna databasen två gånger. Skulle vara smidigare att lösa det med en session.
<?php
include("includes/connection.php");
// Skriv ut på sidan
$catch = mysql_db_query("rob","SELECT * FROM users WHERE uUsername = '$UserName'");
$userRow = mysql_fetch_array($catch);
$UserMyOwnID = "".$userRow['id']."";
mysql_close($db);
include("includes/connection.php");
$catch = mysql_db_query("rob","SELECT * FROM friends WHERE $UserMyOwnID = friends.FriendID");
while ($userRow = mysql_fetch_array($catch)) {
echo("".$userRow['Friend']."<br>");
}
mysql_close($db);
?>
Du har visst krånglat till det lite väl mycket för dig...
Eftersom du sparar användarnamn i "friends" så är det ju ingen mening att ha ett ID-nummer...
Så du behöver ju bara göra så här:
<?php
include("includes/connection.php");
$catch = mysql_db_query("rob","SELECT Friend FROM friends WHERE User = '$UserName'");
while ($userRow = mysql_fetch_row($catch)) {
echo("".$userRow[0]."<br>");
}
mysql_close($db);
?>
Vet inte om jag är något bra på att förklara men jag kan väl göra ett försök
PHP börjar inte räkna vid 1, utan vid 0, så den kodraden du undrar över säger helt enkelt att skriva ut innehållet som ligger i den första cellen i den rad du hämtat från databasen.
MVH Patrik
375 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a