Avatar billede over-clocking.tk Nybegynder
25. februar 2003 - 22:55 Der er 7 kommentarer og
2 løsninger

Noget array haløjsa!!

Jeg har denne stump kode til at splitte et array op, som ser f.eks. sådan ud: 1:5:15:3

Med denne kode deler jeg det op:

include("connect.php");
$result = mysql_query("SELECT adressebog FROM profiler WHERE id = '$id'");
while($adresser = mysql_fetch_array($result)){

$data[navn] = $adresser[0];
$liste = explode(":", $data[id]);

foreach($liste as $navn) {
$result2 = mysql_query("SELECT * FROM profiler WHERE id = '$navn'");
while($profilinfo = mysql_fetch_array($result2)){

}

Nu vil jeg bare gerne have den til at tjekke om det der står i et tekstfelt, er det samme nummer som en af de jeg har i mit array, hvordan gør jeg??
Avatar billede over-clocking.tk Nybegynder
25. februar 2003 - 22:57 #1
ups, der var en fejl...

$data[navn] = $adresser[0];
$liste = explode(":", $data[navn]);
Avatar billede swaxi Nybegynder
25. februar 2003 - 23:00 #2
<?php
include("connect.php");
$result = mysql_query("SELECT adressebog FROM profiler WHERE id = '$id'");

while($adresser = mysql_fetch_array($result)){
    $liste = explode(":", $data[id]);
    $test=false;
    foreach($liste as $navn)
        if($navn==$_POST['textfelt']) $test=true;
    if ($test) echo "den er fin<br>";
}
?>
<form method="POST">
<input type="text" name="textfelt" />
<input type="submit" />
</form>
Avatar billede Slettet bruger
25. februar 2003 - 23:09 #3
foreach($liste as $navn)
        if($navn==$_POST['textfelt']) $test=true;
    if ($test) echo "den er fin<br>";

Hurtigere, bedre og simplere:
if(in_array($_POST['textfelt'], $liste))
{
    echo "Den er fin<br>";
}
Avatar billede over-clocking.tk Nybegynder
25. februar 2003 - 23:09 #4
hmm, kan ikke få det til at virke...

Vi prøver lige noget andet, hvis jeg skal have sådan at den kommer med en fejl hvis taller 2 er i databasen i forvejen, hvad gør jeg så?
Avatar billede over-clocking.tk Nybegynder
25. februar 2003 - 23:14 #5
hmm, har løst problemet.....

Jeg har bare et til :-)

Nu vil jeg fjerne et tal fra databasen, som er magen til 2.

Dvs. et array der indeholder: 2:6:9:20 skal blive til 6:9:20
Avatar billede Slettet bruger
25. februar 2003 - 23:29 #6
$string = "2:6:9:20";
$list = explode(":", $string);
foreach($list as $value)
{
    if($value != 2)
    {
        $newarray[] = $value;
    }
}
echo implode(":",$newarray);
Avatar billede over-clocking.tk Nybegynder
25. februar 2003 - 23:31 #7
kan du forklare det lidt, kan ikke lige se hvordan det fungerer!
Avatar billede Slettet bruger
25. februar 2003 - 23:39 #8
$string = "2:6:9:20";//den streng du har hentet fra databasen!?
$list = explode(":", $string);//Laver arrayet!
foreach($list as $value)//Kører alle poster i arrayet igennem!
{
    if($value != 2)//Så længe posten ikke er lig to
    {
        $newarray[] = $value;//Smid i nyt array!
    }
}
//$newarray indeholder nu alle poster i $list på nær hvor posten==2
echo implode(":",$newarray);//udskriv $newarray på $string formen!
Avatar billede over-clocking.tk Nybegynder
25. februar 2003 - 23:40 #9
har fundet ud af det...

takker mange gange
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