Gå til innhold

søkefunksjon som lager linker


Anbefalte innlegg

Jeg har et script som henter ut brukernavn og ID fra en database, lager ei liste over brukernavn og ID og lager klikkbare linker av brukernavnene som blir listet ut.

Scriptet funker så langt, men jeg trenger noen hint om hva jeg må lære mer om for å få til følgende scenario:

 

1) Forestill deg et nettsted hvor alle brukerne har hver sin profilside.

2) Du er en av brukerne og gjør et søk på andre brukere.

3) Du får opp ei liste over brukernavn-linker og klikker på en av dem, slik at du havner på denne brukeren sin profilside.

 

Jeg trenger ikke nødvendigvis kode-eksempler selv om det hadde vært fint. Det jeg er ute etter er hint på hva som er virkemåten for scenarioet jeg beskriver ovenfor, og hva jeg eventuelt må lære innen php for å få det til.

 

Scriptet jeg bruker for å få ut listen med klikkbare linker over id/brukernavn ser slik ut:

 

$sql = "SELECT id,username FROM users";

$result = mysql_query($sql);

$link = "<a href='profile.php?id=$row[id]'>";

 

$td = "<td>";

$el = "</a>";

echo "<table border=0 cellspacing=0 cellpadding=2 width=200>";

echo "<tr><td>ID<td>Username";

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {

echo "<tr><td>";

printf ("%s $td $link %s $el", $row[0], $row["username"]);

}

Lenke til kommentar
Videoannonse
Annonse

Fårsto egentlig ikke spørsmålet ditt.

Men hvis det er noe galt med den koden du allerede har her. kan jeg skrive den på nytt til deg.

 

PHP

echo "<fieldset><legend>Finn bruker:</legend>

 <form action=' ' method='GET'>

 <label><input type='text' name='q'>Brukernavn</label>

 <input type='submit' value='Søk' name='submit'>

 </form>

 </fieldset>

 ";

 

 

if(isset($_GET['submit']) && !empty($_GET['q'])){

 $inputUsername = $_GET['q'];

 

 $sql = "SELECT id, username FROM users WHERE username LIKE $inputUsername";

 $result = mysql_query($sql);

 if(mysql_num_rows($result) != 0{

 //skriver ut tabellen

 echo "Du søkte etter: $inputUsername";

 echo "<table border='0' cellspacing='0' cellpadding='2' width='200'>"; 

 echo "<tr><td>ID</td><td>Username</td></tr>";

 

 while($row = mysql_fetch_array($result)){

 echo "<tr><td><a href='profile.php?id=$row[0]'>$row[1]</a></td></tr>";

 }

 echo "</table>";

 }

 else{

 echo "Fant ingen brukere med det navnet";

 }

}

else{

 echo "Du må skrive inn et navn!";

}

 

Har ikke testet dette, men mener det skal fungere.

 

EDIT: Tror kanskje jeg forsto nå :D

Endret av kikkazz
Lenke til kommentar

Jeg skal prøve scriptet ditt og se nærmere på det, takk for det :-)

 

Den funksjonen jeg er ute etter er det samme som du finner på blink.no og nettby.no

Her kan du søke etter andre brukere og få opp brukernavnene som søket gir deg i form av linker. Hvis du klikker på en av linkene, så havner du på denne brukeren sin profilside. Hvis du holder musepekeren over linken og tar en titt på statuslinja i nettleseren, så ser du hvor linken peker på.

Med det scriptet jeg bruker nå, så ser jeg hvor linken peker til, men id'en mangler. det jeg er ute etter er å få noen hint til å lære mer om hvordan dette funker.

 

Det scriptet du kom med er ikke helt det jeg var ute etter, men jeg kan bruke det uansett siden jeg i tillegg må ha en søkefunksjon hvor brukeren vet hvilket brukernavn han eller hun skal søke etter.

Endret av emtor
Lenke til kommentar

Jeg tror dette skal funke til å finne brukere ved å bruke søkefunksjonen som jeg laget uten å vite det komplette brukernavnet.

Du kan også skrive om den funksjonen for å søke etter for eksempel e-post adresser ol. uten serlig store problemer.

 

Det betinger selvsagt at du har alt lagret i den samme tabellen i databasen da ;)

Lenke til kommentar
Jeg prøvde skriptet og får error: syntax error, unexpected '{'  . . . .

 

if(mysql_num_rows($result) != 0{

. . . det er den røde klammeparentesen php ikke liker.

8564001[/snapback]

 

 

den liker { godt, men ikke der. du har glemt en )

 

if(mysql_num_rows($result) > 0) {

 

}

Lenke til kommentar

Det stemte . . . ) fikset feilen. Jeg fant en annen feil også,-det manglet enkelt-apostrofer rundt $inputUsername

 

Jeg er helt newbie på dette her, men noen ganger finner til og med jeg feil i script. :w00t:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...