Avatar billede net-city Nybegynder
23. juni 2005 - 19:15 Der er 13 kommentarer

Tjekke arrays i databasen.

Hejsa.
Hvis jeg nu har
<?php
$brugernavne = array();
$brugernavne[0] = "test";
$brugernavne[1] = "exp";
?>

hvordan kan man så "tjekke" i databasen om "exp" findes?

Hvis den findes i databasen skal den udskrive echo "findes"; hvis ikke skal den udskrive "findes ikke"

Kan sige så meget at jeg ikke søger noget med mysql_num_rows eller ved udtræk "where brugernavn <> '$brugernavn[1]'

evt udskrive alle "$brugernavne" i databasen med en loop eller while


forstår i? :)
Avatar billede olebole Juniormester
23. juni 2005 - 19:19 #1
<ole>

Hvad er det, du søger? Hvad du søger, er nok ikke så interessant  :)

/mvh
</bole>
Avatar billede olebole Juniormester
23. juni 2005 - 19:20 #2
Hvad er det, du søger? Hvad du ikke søger, er nok ikke så interessant  :)
Avatar billede olebole Juniormester
23. juni 2005 - 19:22 #3
Du er jo nødt til at foretage en forespørgsel i tabellen. Hvordan havde du så tænkt dig at fortsætte, hvis ikke der må checkes på, hvormange rækker der er fundet?
Avatar billede net-city Nybegynder
23. juni 2005 - 19:30 #4
Den skal tjekke om alle $brugernavn array'sne findes i databasen "brugere" ved kolonnen "brugernavn"
Avatar billede olebole Juniormester
23. juni 2005 - 19:34 #5
Jamen, hvordan skal man det, hvis man ikke må bruge MySQL-forespørgsler?
Avatar billede net-city Nybegynder
23. juni 2005 - 19:35 #6
Må du gerne, mente bare det ikke virkede ved mig :)
Avatar billede olebole Juniormester
23. juni 2005 - 19:38 #7
Skal du checke, om alle brugernavnene er i DB'en - eller skal du checke hvert enkelt? Hvis det sidste er tilfældet, hvordan skal resultatet så returneres?
Avatar billede hmortensen Nybegynder
23. juni 2005 - 19:38 #8
foreach ($brugernavne AS $val)
{
  if (mysql_result(mysql_query("SELECT COUNT(*) FROM brugere WHERE brugernavn = '".$val."'"), 0) != 1)
    echo $val." findes ikke";
  else
    echo $val." findes";
}
Avatar billede olebole Juniormester
23. juni 2005 - 19:43 #9
hmortensen >> Hvis der kun skal checkes, om brugernavnet findes eller ej, skal der endelig sættes en 'LIMIT 1' i query'en - og så giver COUNT vel ikke megen mening  :)
Sætter man ikke en limit, tæsker den hele tabellen igennem ved hvert gennemløb i loop'et - og det er vildt spild af resourcer  :)
Avatar billede net-city Nybegynder
23. juni 2005 - 19:43 #10
Tak :)
Avatar billede net-city Nybegynder
23. juni 2005 - 19:44 #11
smid svar hmortensen
Avatar billede net-city Nybegynder
23. juni 2005 - 20:39 #12
hvad hvis den også skal tjekke $kodeord i arrays? kan det gøres sådan her? :\
foreach ($brugernavne AS $val AND $kodeorde AS $val2)
{
  if (mysql_result(mysql_query("SELECT COUNT(*) FROM brugere WHERE brugernavn = '".$val."' AND kodeord = '".$val2."'"), 0) != 1) ?
Avatar billede olebole Juniormester
24. juni 2005 - 09:54 #13
Nu har jeg igennem længere tid lagt mærke til dit projekt og jeg er lykkelig for, jeg ikke skal være i nærheden af dig, når du engang skal teste din 'chat' med et realistisk antal brugere.

Ikke på ét eneste tidpunkt har du ønsket at lytte til kompetente råd, der kan forbedre din applikations performance. Skal man bedømme den udfra de spørgsmål, du opretter - og de ting, du skriver i dem - er den stort set udelukkende bygget på dårlig kode ... eller kode, der med få ændringer kunne blive voldsomt meget bedre.

Personligt kan jeg være rystende ligeglad - hvad jeg så sandelig også er - men ikke desto mindre undrer du mig såre. Det virker lidt lemming-agtigt at insistere på kun at vælge en løsning, hvis du får at vide, den performer elendigt  :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester