Avatar billede ulle55 Nybegynder
17. februar 2005 - 14:59 Der er 13 kommentarer og
1 løsning

explode problem

$foresp = mysql_query("SELECT * FROM medlemsliste WHERE medlem_som LIKE 'Leder'");
  while ($data = mysql_fetch_array($foresp)) {
    $klasser = explode(",", $data["leder_for"]);
      if (in_array("test",$klasser)) {
    echo     "<tr>";
    echo        "<td width=125 border=1>$data[navn]</td>";
    echo        "<td width=150 border=1>$data[addresse]</td>";
    echo        "<td width=115 border=1>$data[postnr]</td>";
    echo        "<td width=75 border=1>$data[tlfnr]</td>";
    echo        "<td width=100 border=1>$data[email]</td>";
    echo    "</tr>";
      }
      else
      { echo " ingen<br> "; }
}

Er der nogle der kan sige mig hvorfor ovenstående kode ikke virker?
Jeg har noget kode der ligner meget, og som virker.
Det eneste jeg får ud, er "ingen"...
Avatar billede coderdk Praktikant
17. februar 2005 - 16:47 #1
Fordi "test" ikke er i $klasser array'et ;)
Avatar billede ulle55 Nybegynder
18. februar 2005 - 12:26 #2
Det er den.
Avatar billede ulle55 Nybegynder
18. februar 2005 - 13:02 #3
Jeg kan også spørge på en anden måde.
Jeg har en tabel hvor der står flere ord, som er komma sepereret.
Nu vil jeg gerne have fundet alle dem hvor et af ordene er test.
Hvordan gør jeg det???
Avatar billede coderdk Praktikant
18. februar 2005 - 16:34 #4
Hvi test var i $klasser ville den jo komme ind i din if() :)
Prøv lige efter:

$klasser = explode(",", $data["leder_for"]);

at skrive:

echo "<pre>"; var_dump( $klasser ); echo "</pre>";

For at se hvad der er i...

Mht at finde test i et kommasepareret felt:

SELECT * FROM medlemsliste WHERE medlem_som LIKE 'Leder' AND INSTR( ',test,', CONCAT( ',', leder_for, ',' ) > 0
Avatar billede ulle55 Nybegynder
23. februar 2005 - 17:15 #5
Der kommer følgende
array(3) {
  [0]=>
  string(10) "2. Tumling"
  [1]=>
  string(7) "1. Pilt"
  [2]=>
  string(7) "2. Pilt"
}

Ved godt at der ikke er en der hedder test, men jeg har skiftet ordet med 1. Pilt
Avatar billede ulle55 Nybegynder
23. februar 2005 - 17:21 #6
Der kommer en fejl når jeg bruger
SELECT * FROM medlemsliste WHERE medlem_som LIKE 'Leder' AND INSTR( ',test,', CONCAT( ',', leder_for, ',' ) > 0
Avatar billede ulle55 Nybegynder
01. marts 2005 - 08:05 #7
ingen der har en ide???
Avatar billede coderdk Praktikant
01. marts 2005 - 17:15 #8
Hvis du vil finde "1. Pilt" i en kommasepareret liste:

SELECT * FROM medlemsliste WHERE medlem_som LIKE 'Leder' AND INSTR( ',1. Pilt,', CONCAT( ',', leder_for, ',' ) ) > 0
Avatar billede ulle55 Nybegynder
02. marts 2005 - 08:24 #9
Når jeg bruger den sql sætning, kommer der inger resultater, og der skulle minst komme 2.
Avatar billede coderdk Praktikant
02. marts 2005 - 11:54 #10
Så må der være formatteringsfejl i dit leder_for felt, har du måske mellemrum efter , ?
For så skal du bruge:

SELECT * FROM medlemsliste WHERE medlem_som LIKE 'Leder' AND INSTR( ', 1. Pilt,', CONCAT( ', ', leder_for, ',' ) ) > 0
Avatar billede ulle55 Nybegynder
02. marts 2005 - 13:35 #11
det står som følgende
2. Tumling,1. Pilt,2. Pilt
Avatar billede coderdk Praktikant
02. marts 2005 - 13:41 #12
Lyder underligt, for så burde min kommentar fra 1/03-2005 17:15:28 virke...
Avatar billede ulle55 Nybegynder
02. marts 2005 - 13:51 #13
hvad gør "> 0" som står i enden?
Avatar billede ulle55 Nybegynder
08. marts 2005 - 09:07 #14
Fandt en anden løsning
Select *
From MyTabel
Where MyField  LIKE '%1. Pilt%'
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