Toon posts:

[php] querie probleempje?

Pagina: 1
Acties:

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
 verbind(); //verbinden

    // controle of de gebruikers naam al bestaat
    $sql = "SELECT * FROM lsmembers WHERE username LIKE '%$username%' ORDER BY id DESC";
    $sql2 = "SELECT * FROM lsbanned WHERE username LIKE '%$username%' ORDER BY id DESC";
    $resultaat = mysql_query($sql) or die(mysql_error());

    if ($row = mysql_fetch_object($resultaat)) {
        echo "sorry deze gebruikers naam bestaat al";
?>

Hoi ik wil kijken bij nieuwe members of hun naam in 'lsmembers' of lsbanned' voorkomt. Kheb het bovenstaande geprobeerd, maar hij controleerd alleen in lsmembers?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 25 oktober 2001 13:49 schreef loaded het volgende:
Hoi ik wil kijken bij nieuwe members of hun naam in 'lsmembers' of lsbanned' voorkomt. Kheb het bovenstaande geprobeerd, maar hij controleerd alleen in lsmembers?
je voert alleen $sql uit dus geen wonder dat hij alleen lsmembers controleert.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • pimlie
  • Registratie: November 2000
  • Laatst online: 19:08
en als je een mooie(re) query schrijft kan je dat gewoon zo laten ;)

Verwijderd

Topicstarter
Kvraag me dus af hoe ik een mooiere querie kan schrijven?
Ik kom er niet uit, heeft iemand een concretere oplossing?
:'(

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

code:
1
2
3
4
5
6
7
8
9
SELECT 
  count(lsmembers.username) 
FROM 
  lsmembers,
  lsbanned  
WHERE 
  lsmembers.username LIKE '%$username%' 
OR 
  lsbanned.username LIKE '%$username%'

Resultaat > 0 dan bestaat de naam al of hij is gebanned.
je kan ook een UNION doen op beide queries.. en dan kijken of de eerste resultaat > 0 is (dan bestaat ie al) of de tweede resultaat>0 is (dan is ie gebanned)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Ik zou in ieder geval het volgende veranderen:
PHP:
1
2
3
<?
$sql = "SELECT * FROM lsmembers WHERE username LIKE '%$username%' ORDER BY id DESC";
?>

in
[php$sql = "SELECT * FROM lsmembers WHERE username LIKE '$username' ORDER BY id DESC";[/php]
Want anders wanneer je de volgende usernames hebt

kees
kees12
superkees

En je zoekt op 'kee' dan vind hij al die anndere usernames omdat er kee instaat en dat lijkt mij neit de bedoeling.

  • Devil
  • Registratie: Oktober 2001
  • Niet online

Devil

King of morons

Ik zou het persoonlijk anders doen. Alles in 1 query, met een count.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<? 
  verbind(); //verbinden
  // controle of de gebruikers naam al bestaat 
  $sql = "SELECT (COUNT(lsmembers.username)+
            COUNT(lsbanned.username))
            FROM lsmembers,lsbanned
            WHERE ((lsmembers.username='$username')
            OR (lsbanned.username='$username'))"; 
  $resultaat = mysql_query($sql) or die(mysql_error());
  if (mysql_result($resultaat,0)!=0)
  {
    echo "sorry deze gebruikers naam bestaat al";
  }
?>

ps. Uit m'n hoofd geschreven, dus er kan hier en daar een klein foutje inzitten.

After all, we are nothing more or less than what we choose to reveal.


Verwijderd

Topicstarter
Op donderdag 25 oktober 2001 15:15 schreef NaOH het volgende:
Ik zou het persoonlijk anders doen. Alles in 1 query, met een count.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<? 
  verbind(); //verbinden
  // controle of de gebruikers naam al bestaat 
  $sql = "SELECT (COUNT(lsmembers.username)+
            COUNT(lsbanned.username))
            FROM lsmembers,lsbanned
            WHERE ((lsmembers.username='$username')
            OR (lsbanned.username='$username'))"; 
  $resultaat = mysql_query($sql) or die(mysql_error());
  if (mysql_result($resultaat,0)!=0)
  {
    echo "sorry deze gebruikers naam bestaat al";
  }
?>

ps. Uit m'n hoofd geschreven, dus er kan hier en daar een klein foutje inzitten.
Bedankt voor de hulp alleen hij checked nog steeds alleen in de tabel lsmembers, niet lsbanned???
Waar ligt het aan?!!!!!??? :? :?
Pagina: 1