15. februar 2007 - 00:15Der er
20 kommentarer og 1 løsning
mysql_query med dobbelt udtræk
Hejsa Eksperter.
Ved ikke om overskriften er rigtig, men håber i kan hjælpe.
Jeg har en tabel i mysql hvor ALT din profil info står, blandt andet hvilket køn man er.
og så har jeg en anden tabel i mysql hvor dit userId, brugernavn, lastAction. hvis lastAction ikke er sat til 0 er man online.
Men lige nu er jeg ved at lave en søge function at hvis du er af kønnet mand og hvis lastAction ikke er sat til 0 skal den vise det.
Det har jeg så prøvet sådan her.
$kon = mysql_query("SELECT userId, kon FROM profiler WHERE kon='mand'"); $kontjek = mysql_fetch_array($kon);
og så har jeg en der hedder:
$onlinemand = mysql_query("SELECT userId, brugernavn, lastAction FROM brugere WHERE lastAction!='0', AND WHERE userId=".$kontjek[userId]." "); $kontjek = mysql_fetch_array($kon);
Det der så er mit problem er at jeg får en mysql_fetch fejl.
Jeg er godt klar over det er den AND ting der gør det, men hvordan kan jeg så få den til at gøre det hvis man ikke kan gøre sådan ? :S
Håber nogen forstår spørgsmålet og eventuelt kan hjælpe :)
problemet er din 2. SQL $onlinemand = mysql_query("SELECT userId, brugernavn, lastAction FROM brugere WHERE lastAction!='0', AND WHERE userId=".$kontjek[userId]." ");
den skal være $onlinemand = mysql_query("SELECT userId, brugernavn, lastAction FROM brugere WHERE lastAction!='0', AND userId=".$kontjek[userId]." ");
Her er en SQL som henter alle af hankøn hvor lastAction ikke er 0
"SELECT * FROM profiler WHERE brugere.lastAction != 0 AND kon LIKE 'mand'"
$onlinemand = mysql_query("SELECT brugere.*, profiler.kon FROM brugere, profiler WHERE brugere.lastAction = 1 AND profiler.kon = 'mand'") or die (mysql_error());
Ja okay jeg kan få det til at virke lidt med showsources ting. Bortset fra at den laver dobbelt :S Altså hvis jeg er logget ind er jeg angiveligt logget ind 2 gange :S
Hvilken MySQL version er det ? er ikke 100% sikker på min select virker i <5
Hvis det ikke er 5 så kan du prøve
SELECT brugere.userId, brugere.brugernavn, brugere.lastAction FROM brugere, profiler WHERE brugere.lastAction != 0 AND brugere.userId = profiler.userId AND profiler.kon LIKE 'mand'
Hmm okay det virker SLET ikke. Så virkede det andet lidt bedre bortset fra den ikke fandt ud af hvem der var offline og ikke skulle ha været med på listen. Nu har den slet ikke fundet de rigtige ids heller :S
Hmm okay nu har jeg da fået den til at finde det rigtige bortset fra den laver DOBBELT :S Jeg er logget ind 2 gange i følge den her og en bruger jeg har lavet der hedder test er også logget ind 2 gange :S mystisk
Hmm kan du ikke lige forklare mig en ting angående den nye mysql ? :S Hvis jeg har en tabel der hedder profilTekst som er longtext så først kommer den ud med den skal ha en standard værdi det har jeg så sat til Null. men når jeg så udfylder nået i den skriver den at den er for lang ? Hva kan jeg bruge istedet så ? :S så man kan skrive en lang profil tekst hvis det er ?
Nå jeg har fået det til at virke. kunne sQ ikke få jeres til at virke :) Men tak fordi i prøvede :) Jeg lukker nu
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.