Avatar billede mjl Nybegynder
23. april 2003 - 19:59 Der er 41 kommentarer og
2 løsninger

Vælge array...

Hej der...

Jeg henter et array fra en MySQL DB...

>>>mysql_fetch_array($hent_listen))<<<

Resultatet er en liste af navne...

Hvis jeg nu skal spørge; if navnene er lig med Helle, Hanne og Henning, altså hvis $noget er lig med de tre navne, hvordan gør jeg så det???

hilsen Conrad
Avatar billede mjl Nybegynder
23. april 2003 - 20:00 #1
Altså tjek om de 3 navne er det array'et består af - uden andre navne...
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:01 #2
Var det ikke nemmere at lave afgrænsningen i sql?
Avatar billede mjl Nybegynder
23. april 2003 - 20:04 #3
tjo...

resultatet er en liste af brugere - når det er præsis de 3 brugere der returneres i array'et vil jeg kunne echo noget bestemt...
Avatar billede schaefner Juniormester
23. april 2003 - 20:05 #4
"SELECT * FROM tabel WHERE navn IN ('helle','hanne,'henning')"
Avatar billede mjl Nybegynder
23. april 2003 - 20:08 #5
He he...ok:

$resultat = $hentet_liste["user_name"];

if ($resultat == Helle Hanne og Henning) {
echo "Nu er den der...";
}
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:09 #6
$ting = $og['sager'];
if ($ting=="Helle" || $ting=="Hanne" || $ting=="Henning")
  echo ("Hest");
Avatar billede mjl Nybegynder
23. april 2003 - 20:11 #7
$resultat er lig med en liste af navne;

bent børge henning helle o.s.v.

Når $resultat er lig med KUN Helle Hanne og Henning skal den echo noget...
Avatar billede schaefner Juniormester
23. april 2003 - 20:13 #8
Altså hvis de tre navne du hiver ud er lig med Helle Hanne og Henning, så skal den gøre noget?
Avatar billede mjl Nybegynder
23. april 2003 - 20:14 #9
Jeps
Avatar billede mjl Nybegynder
23. april 2003 - 20:21 #10
? nogen der kan hjælpe ?
Avatar billede schaefner Juniormester
23. april 2003 - 20:22 #11
Prøv lige at poste koden som du hive navnene ud med.
Avatar billede mjl Nybegynder
23. april 2003 - 20:27 #12
$hent_listen = mysql_query("SELECT * FROM user WHERE user_contact != '0'");
while ($hentet_liste = mysql_fetch_array($hent_listen)){
$resultat = $hentet_liste["user_name"];
}
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:31 #13
$resultat indeholder vel aldrig mere end et af navnene på en gang?
Avatar billede mjl Nybegynder
23. april 2003 - 20:34 #14
Ja da...
Avatar billede mjl Nybegynder
23. april 2003 - 20:34 #15
$resultat er jo = $hentet_liste["user_name"];
Avatar billede schaefner Juniormester
23. april 2003 - 20:35 #16
$hent_listen = mysql_query("SELECT * FROM user WHERE user_contact != '0' ORDER BY username DESC");
while ($hentet_liste = mysql_fetch_array($hent_listen)){
  $resultat .= $hentet_liste["user_name"];
}
if($resultat == "HanneHenningHelle") {
  echo "Heysan";
}
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:39 #17
Så bør dether også virke:

$resultat=$hentet_liste["user_name"];
if ($resultat=="Helle" || $resultat=="Hanne" || $resultat=="Henning")
{
  echo "Nu er den der...";
}
Avatar billede mjl Nybegynder
23. april 2003 - 20:42 #18
|| betyder "eller" (OR) det vil sige at det kan være 'en af dem alene, og ikke alle tre...
Avatar billede mjl Nybegynder
23. april 2003 - 20:42 #19
Virker ikke schaefner... :o(
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:43 #20
|| betyder "or", && betyder "and"
Avatar billede mjl Nybegynder
23. april 2003 - 20:45 #21
Nemlig...men det skal være && ikke OR (||)
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:49 #22
Nej, for det er jo ikke dem alle tre på en gang vel?
Avatar billede mjl Nybegynder
23. april 2003 - 20:51 #23
JO
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:56 #24
Ohh.. Så burde schaefner eksempel virke, hvis de ellers kommer i den rigtige rækkefølge
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:57 #25
schaefner:
L kommer før N  :)
Avatar billede a_eriksen Nybegynder
23. april 2003 - 20:57 #26
if($resultat == "HanneHelleHenning"){
Avatar billede schaefner Juniormester
23. april 2003 - 21:05 #27
korrekt ;)
Avatar billede schaefner Juniormester
23. april 2003 - 21:06 #28
gik lidt stærkt.
Avatar billede tipsen Nybegynder
23. april 2003 - 21:12 #29
Vær opmærksom på, at && ikke er _helt_ det samme som AND ligesom || heller ikke er _helt_ det samme som OR - dvs. det er ikke altid de kan udskiftes med samme resultat til følge!!!
Avatar billede a_eriksen Nybegynder
23. april 2003 - 21:17 #30
tipsen: Hvad snakker du om? I en almindelig boolsk evaluering er det da det samme.
Avatar billede tipsen Nybegynder
23. april 2003 - 22:25 #31
Ikke helt - && og AND har ikke samme præcedens, jvf http://dk.php.net/manual/en/language.operators.php#language.operators.precedence
Avatar billede a_eriksen Nybegynder
23. april 2003 - 22:31 #32
åh, på den måde. Jeg vidste faktisk ikke at AND og OR var gyldige php opratorer :)
Avatar billede krigsspil Nybegynder
24. april 2003 - 12:51 #33
Skal det være når de 3 navne optræder alene eller når de bare er til stede i resultatsættet??

Nedenstående kan måske bruges: (NB - kode utestet - skrevet direkte fra hjernedump!)

$hanne_found = false;
$henning_found = false;
$helle_found = false;

$hent_listen = mysql_query("SELECT * FROM user WHERE user_contact != '0' ORDER BY username DESC");
while ($hentet_liste = mysql_fetch_array($hent_listen)){
    if($hentet_liste["user_name"] == "Hanne") {
        $hanne_found = true;
    }
    if($hentet_liste["user_name"] == "Henning") {
        $henning_found = true;
    }
    if($hentet_liste["user_name"] == "Helle") {
        $helle_found = true;
    }
}
if($hanne_found && $henning_found && $helle_found) {
    echo "Heysan";
}

Så skal de alle være fundet, men der kan sagtens være andre navne også.
Såfremt det kun er de tre der må se "Heysan" kan følgende anvendes.


$hanne_found = false;
$henning_found = false;
$helle_found = false;
$show = true;

$hent_listen = mysql_query("SELECT * FROM user WHERE user_contact != '0' ORDER BY username DESC");
while ($hentet_liste = mysql_fetch_array($hent_listen)){
    switch($hentet_liste["user_name"]) {
        case : 'Hanne' {
            $hanne_found = true;
            break;
        }
        case : 'Henning' {
            $henning_found = true;
            break;
        }
        case : 'Helle' {
            $helle_found = true;
            break;
        }
        default : {$show = false}
    }
}
if($show && $hanne_found && $henning_found && $helle_found ) {
    echo "Heysan";
}
Avatar billede mjl Nybegynder
24. april 2003 - 17:13 #34
Virker stadig ikke helt - men vi er nok tættere på...

går videre med Jeres forslag...

Hvis schaefner lægger et svar, hæver jeg til 60 p. så får i 20 hver for ulejligheden...

Og så lige 1000 tak for hjælpen!!!
Avatar billede krigsspil Nybegynder
24. april 2003 - 18:02 #35
Virker stadig ikke?? Hvad sker der? Hvad er det der ikke virker?
Avatar billede mjl Nybegynder
24. april 2003 - 19:15 #36
når jeg echo'er gi'r den HanneHelleHenning

Men den vil ikke kendes ved if ($resultat == 'HanneHelleHenning')
Avatar billede krigsspil Nybegynder
24. april 2003 - 19:26 #37
Har du prøvet mine forslag fra klokken 12:51?
De burde virke - men det ville være rart at vide præcist i hvilket tilfælde der skulle skrives noget ud....
Avatar billede mjl Nybegynder
24. april 2003 - 19:36 #38
Dine forslag duede heller ikke...

Jeg henter de navne, der er på lige nu - det kan være 1 men også 15 forskellige navne - nogen gange er det kun, Helle, Helene og Henning, og når det kun er de 3, skal den, ud over navnene også echo noget mere...

Altså kun når det er de 3 alene, ellers skal den bare lave listen over alle navne...(der er aktuelle lige nu)
Avatar billede a_eriksen Nybegynder
24. april 2003 - 20:04 #39
Prøv lige at ændre:
if ($resultat == 'HanneHelleHenning')
til
if ($resultat == "HanneHelleHenning")
Avatar billede a_eriksen Nybegynder
24. april 2003 - 20:07 #40
Nææ. Hov, min test var forkert.. Glem ovenstående.
Avatar billede mjl Nybegynder
25. april 2003 - 13:24 #41
schaefner: vil du ha' points?
Avatar billede mjl Nybegynder
25. april 2003 - 16:05 #42
schaefner: er du der - læg et svar, så deler i points...!!!
Avatar billede mjl Nybegynder
25. april 2003 - 16:22 #43
ok - tak for hjælpen - lukker!

(Sig lige til, cheaefner, hvis du gerne vil ha' lidt points :o)
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