login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Select query probleem (Opgelost)

Offline ArcanA - 12/02/2011 23:14 (laatste wijziging 13/02/2011 16:18)
Avatar van ArcanAPHP beginner Hallo,

Ik zit vast met een query, ik hoop dat jullie me kunnen helpen.

Ik heb een pagina op mijn site waar je alle 'vrienden' kunt bekijken van de user, gelinkt aan een GET. vb: (alle_vrienden.php?id=24)

Voorbeeld tabel (vrienden) bestaat uit:
- ID
- OWNER_ID
- FRIEND_ID

Nu link ik OWNER_ID aan de GET en maak er een while van om FRIEND_ID op te halen. Bij het ophalen gebruik ik simpelweg een functie getUsername($sWhile['friend_id']) om de naam weer te geven en niet de id.

Op dezelfde pagina zou ik graag een search gebruiken, en dit op de naam van een eventuele vriend. Nu zit ik met het probleem dat ik een id gebruik in mijn tabel en niet een username, dat maakt volgens mij zoeken onmogelijk. Ik heb geprobeerd een functie te maken op de input om de username om te zetten naar een id en dan WHERE partner_id LIKE GetIDbyUsername(SEARCH INPUT) .. te gebruiken. Maar stel dat mijn username 'Niels' is, wil ik ook gezocht worden op 'Niel', en dat is dan niet mogelijk.

Is er een manier om partner_id om te zetten tot username die in mijn tabel 'users' staat zonder telkens per vriend een aparte while aan te maken voor de tabel users?

De code: http://plaatscode.be/140681/

Sorry voor de langdradige uitleg,
Ik dank u 
Niels

2 antwoorden

Gesponsorde links
Offline Martijn2008 - 12/02/2011 23:24 (laatste wijziging 12/02/2011 23:24)
Avatar van Martijn2008 PHP beginner Waarschijnlijk zoek je iets in de volgende trant.

  1. SELECT *
  2. FROM partners
  3. WHERE owner = '".antisql($_GET['id'])."'
  4. AND status = 'partner'
  5. AND partner_id LIKE
  6. (
  7. SELECT UserID
  8. FROM users
  9. WHERE Username LIKE '".antisql($_POST['search'])."%'"
  10. )
  11. ORDER BY date DESC

Bedankt door: ArcanA
Offline ArcanA - 12/02/2011 23:35 (laatste wijziging 13/02/2011 17:50)
Avatar van ArcanA PHP beginner Bedankt, ik wist niet eens dat dit mogelijk was, ik denk nogal simpel wat betreft het maken van query's. Alleen is dit nog steeds een probleem, aangezien het met een subquery niet mogelijk is om meerdere rows op te halen. Stel dat ik 'N' intyp en ik heb 3000 users met een username dat begint met een N, is dat dan niet een probleem?

Ik heb er op dit moment 2 en dan krijg ik:

"Subquery returns more than 1 row"

Als ik gewoon mijn naam half intypt, vind hij wel maar 1row dat overeen komt en dan werkt het wel.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.216s