webForumDet fria alternativet

Kompislista!

8 svar · 281 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 184 inlägg
#1

Nu vill jag ha en kompislista på mitt community. Men hur ska jag göra det? Jag har redan en databas där man sparar alla användare och lite uppgifter om dom etc. Sedan kanske det är bäst att skapa en ny databas där varje användare får spara sina polare? Men hur går detta till? Om man har en till databas med kompisarna i, hur länkar man dom samman med användardatabasen då (den med användaruppgifterna i)?

Mycket oklart i mina ögon :)

ThACRoWMedlem sedan dec. 2001314 inlägg
#2

Jag har en idé... men jag måste åka i väg snart...
När jag kommer hem så ska jag förklara :)

Fredde MannenMedlem sedan nov. 20013 498 inlägg
#3

Onödigt med två databasar!

Det räcker att använda en databas, det är bara att skapa yttligare en tabell som du kan kalla kompisar:

I tabelln räcker det att det finns en ID samt en som du kan kalla pid, kid eller något

ID blir självaste IDet i tabellen
pid sparar ID på användaren
uid sparar ID från dig själv.

<?

include("includes/dbconn.php");
// Skapandet av tabellen.

mysql_query("CREATE TABLE kompisar(
id int auto_increment primary key not null,
pid int not null,
uid int not null
") OR DIE("FEEEEL");

?>

Hur man lägger in dem i tabellen

<?

include("includes/dbconn.php");

mysql_query("INSERT into kompisar(pid, uid) Values('".$pid."','".$uid."') OR DIE("Kunde inte adda");

och så vidare...
?>

Så här visar du dem:

<?

include("includes/dbconn.php");

mysql_query("SELECT * from kompisar WHERE uid='$uid'") OR DIE("Kunde inte plocka ut polare");

och så loopar du ut dem...

?>

Något sådant, obs! Detta är ju bara en bråkdel av vad koden, endast SQLn. Sedan är det bara att plocka ut namnet på dem och så vidare... Men du kan ju istället för att spara deras id från användartabellen, spara deras användarnamn.

då är det ju bara att använda
Select * from kompisar WHERE usr='$usrname'

Polare kan givetvis innehålla fler kolumner som ex. typ av vänskap, träffat dem, figur...

Behöver du mer hjälp, maila bara!

streetrobbanMedlem sedan jan. 20011 184 inlägg
#4

Sjyrre byrre! Jag ska försöka lösa det när jag kommer hem. Tack för svaren!

ThACRoWMedlem sedan dec. 2001314 inlägg
#5

Problemet med Fredde Mannens förslag är ju då att det blir en j*vla massa rader ifall alla användare är kompisar med alla och sådär. Så egentligen så borde du lösa det genom att bara ha en rad för varje medlem där alla användare sparas.

T.ex. att du har en kolumn som är unikt för varje användare (användarnamn / ID), sen den andra kolumnen är för användarens kompisar, och i den sistnämda så sparar du alla användare med ett komma tecken som avgränsare eller liknande.

Det blir ju lite krångligt om man ska lägga till nya/ta bort... men det finns smidiga funktioner för det. Jag har färdig kod för jobbet om du är intresserad.

streetrobbanMedlem sedan jan. 20011 184 inlägg
#6

Vilket dilemma. Sant som du säger Crow. Men för att lägga till och ta bort med , så där vet jag inte hur man gör, och jag vill försöka göra det själv. Det är det som är kruxet :)

SPiNMedlem sedan mars 20005 832 inlägg
#7

Det är bättre att ha flera rader i databasen, istället för att ha en rad med en kolumn där det separeras med kommatecken. Gör som Fredde Mannen föreslog.

streetrobbanMedlem sedan jan. 20011 184 inlägg
#8

Okay, jag gör sin SPiN säger. Han brukar ha rätt :)'

Förresten... varför skriver vi olika?

SPiN -> echo "Hej " . $userRow[ 'uUsername' ] . "";
jag -> echo("Hej ".$userRow['uUsername']."");

Är något bättre än det andra?

SPiNMedlem sedan mars 20005 832 inlägg
#9

Det ena är inte bättre än det andra, men echo är ingen funktion - alltså ska den inte anropas med parenteser. print (), printf (), m.fl är däremot funktion ( De returnerar något ) och ska användas ihop med parenteser. Gör som du vill, med eller utan parenteser. :)

Genererad på 364 ms · cache AV · v20260730165559-full.f96bc7eb