login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoeken leden in ledensysteem..

Offline Scythen - 11/02/2007 14:52
Avatar van ScythenPHP gevorderde Goeiendag,

ik wou graag een zoek optie maken, zodat mensen elkaars usernames kunnen zoeken en daarna zeg maar erop kunnen klikken, en hun profiel kunnen bekijken.. maar hoe maak ik dit zodat ze elkaar kunnen zoeken? Ik wil dat als ze bijv alleen maar de eerste letter in typen.. in mijn geval de 'S' dat ze alleen de eerste 35 usernames krijgen met de 'S' aan het begin..en dat als ze de hele (correcte) naam invullen gewoon de naam te zien krijgen.

18 antwoorden

Gesponsorde links
Offline Rik - 11/02/2007 15:02
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ja dat kan, met ajax:
Je maakt een input met een onkeyup erop, die roept een javascript functie aan, die functie maakt een met ajax een request naar de server.
Bv: namen.php?beginletter=%veldinput%

In namen.php haal je met sql alle namen die met die beginletter beginnen uit de database en echo je ze. Het antwoord van de server dat je ook met ajax terugkrijgt stop je in een veld met de gevonden namen.

Ik weet niet of je ervaren bent met ajax, maar hier op sima zijn tutorials en voorbeeld scripts te vinden. Hier heb je een voorbeeld van w3schools.com:
http://www.w3sc...uggest.asp

Succs ermee!
Offline Anoniem - 11/02/2007 15:03
Avatar van Anoniem PHP gevorderde Meer uitleg a.u.b... Gebruik je een MySQL-database, enz, enz...
Offline Stefan14 - 11/02/2007 15:03
Avatar van Stefan14 PHP gevorderde Deze kun je gebruiken voor de eerste letter
  1. <?php
  2. $query = "SELECT naam FROM leden WHERE naam LIKE '".$letter."%'";
  3. ?>


en of je die ook kunt gebruiken voor de hele naam weet ik niet, denk het eigenlijk wel, maar anders moet deze query daarvoor gebruiken
  1. <?php
  2. $query = "SELECT naam FROM leden WHERE naam LIKE '%".$naam."%'";
  3. ?>
Offline Scythen - 11/02/2007 15:05 (laatste wijziging 11/02/2007 15:10)
Avatar van Scythen PHP gevorderde Ja gebruik mysql.. heb al een beetje zitten knutselen, een moment.. zal ff wat aanpassen via deze topic.

@ boukefalos, ben helemaaal nie bekend met ajax,.. lijkt me ook niet handig om daar nu zo plotseling aan te beginnen als ik nog niet echt helemaal bekend ben met PHP.. dankjewel alsnog.

Heb nu dit:
  1. <?
  2. $login =$_SESSION['login'];
  3. $memberid= $_SESSION['id'];
  4.  
  5. if(isset($_POST['find'])){
  6.  
  7. $player =$_POST['player'];
  8.  
  9. $query2 = ("SELECT username FROM login WHERE username LIKE '".$player."%'");
  10. $result = mysql_query($query2) or die("Could not run query.");
  11. $a_zoek = mysql_num_rows($result);
  12.  
  13.  
  14.  
  15. if($a_zoek == "0"){
  16. echo "<p align='center'>Geen onderwerpen</p>";
  17. }
  18. while ($zoek = mysql_fetch_assoc($result)) {
  19. echo $zoek['username'];
  20. echo '<br />';
  21.  
  22. }
  23. }
  24.  
  25. ?>


werkt nu wel.. alleenn.. is er nog wat op aan te merken of?
Offline Nanon - 11/02/2007 15:11 (laatste wijziging 11/02/2007 15:12)
Avatar van Nanon PHP interesse Je wilt ook nog dat je zometeen op hun namen kan klikken, handig is dan om het ID op te halen van de user.
Offline Scythen - 11/02/2007 15:14 (laatste wijziging 11/02/2007 15:14)
Avatar van Scythen PHP gevorderde Ja inderdaad, en dit kan door middel van?

select id from login where '$player'

?zoiets
Offline Rik - 11/02/2007 15:14
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ik dacht dat je wilde dat er vanzelf werd gezocht!  

Je code lijkt me goed, alleen mis ik een session_start() en je zou mysql_num_rows ook gelijk in je if-statement kunnen zetten.

Eigenlijk nix mis mee lijkt me!  
Offline Scythen - 11/02/2007 15:15
Avatar van Scythen PHP gevorderde Session start heb ik nog ergens anders in mijn code, dit is alleen een gedeelte;). Alleen nu moet ik nog de ID's enzo, zoals nanon al zei.
Offline Nanon - 11/02/2007 15:16 (laatste wijziging 11/02/2007 15:18)
Avatar van Nanon PHP interesse Edit:

Zoiets: http://www.plaatscode.be/4175/
Offline Rik - 11/02/2007 15:18
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
@ Nanon
"profiel&" ==> "profiel.php?"  
Offline Scythen - 11/02/2007 15:18
Avatar van Scythen PHP gevorderde Perfect! Muchos gracias.. Alleen nog even de puntjes op de i zetten, en hij werkt perfect.
Offline Nanon - 11/02/2007 15:20
Avatar van Nanon PHP interesse @ Boukefalos

Ik zag het foutje al ;) Kom omdat ik meestal met ?p=profiel etc werk, dus ben het .php niet zo gewend ;)
Offline Scythen - 11/02/2007 15:28
Avatar van Scythen PHP gevorderde Oke, dankjulliewel.

En nu.. wat zet ik in profiel.php ?
Offline Nanon - 11/02/2007 15:35
Avatar van Nanon PHP interesse Dat was zeg maar een voorbeeld. Ik neem aan dat je een pagina hebt waar je het profiel van een lid kan bekijken. Bijvoorbeeld profiel.php. Maar dat moet je even veranderen hoe die pagina bij jouw heet =)
Offline Rik - 11/02/2007 15:38
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Citaat:
hun profiel kunnen bekijken
We gingen er vannuit dat je al een profiel pagina had gemaakt!  
Offline Scythen - 11/02/2007 15:39 (laatste wijziging 11/02/2007 15:59)
Avatar van Scythen PHP gevorderde Nou, nee.. eigenlijk niet 

Wat te doen nu?:P

nu heb ik al een profile.php inelkaar geknutseld, alleen nu krijg ik geen profiel.php?id= etc te zien op mijn scherm.. komt dit misschien doordat ik met frames werk?
Offline Rik - 11/02/2007 16:04
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Als het goed is krijg je met de code die Nanon aanpaste een hyperlink naar profiel.php?id=***, met als tekst de naam van die gebruiker. Dan zie je die url atuurlijk niet in je browser.

Kijk eens wat het script om te namen te zoeken voor output geeft.
Offline Nanon - 11/02/2007 16:05
Avatar van Nanon PHP interesse profiel.php?id=1

id is een $_GET, dus deze kan je gebruiken om informatie uit de database te halen.

Klein voorbeeldje:

  1. <?php
  2.  
  3. $sql = "SELECT id,username FROM users WHERE id = '".$_GET['id']."' LIMIT 1";
  4. $query = mysql_query( $sql ) or die( mysql_error() );
  5.  
  6. $row = mysql_fetch_array( $query, MYSQL_ASSOC );
  7.  
  8. echo $row['id'];
  9.  
  10. ?>


Het is maar een voorbeeld, ik weet niet hoe je tabellen heten e.d.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.236s