Avatar billede sibbelone Nybegynder
31. januar 2007 - 21:25 Der er 6 kommentarer

explode array

Jeg skulle gerne opdater nogle værdier i database, formålet er at ændre rækkefølgen på en meny.
Men der et lille problem og det er at id_books ($b) får et 1 tal koblet på i enden så der istedet for id_books er 43 bliver det til 431 og dur jo ikke. er der nogen der har en ide til hvad der er galt.
Har indsat et output nedrest
Først php
<?

    include('function/conection.php');


$dan = $_POST["hiddenNodeIds"];
echo $dan."<br>";
$a = explode(',', $dan);

print_r($a) ;

$i = 1;
foreach ($a as $b)
{

echo "<br>". $sql =("UPDATE  lojstrup_books SET sort ='$i' WHERE id_books = $b");
    echo mysql_query($sql) ;

   
    $i = $i + 1;
}
?>

Og så output

46,47,44,45,50,48,53,43,49,51
Array ( [0] => 46 [1] => 47 [2] => 44 [3] => 45 [4] => 50 [5] => 48 [6] => 53 [7] => 43 [8] => 49 [9] => 51 )
UPDATE lojstrup_books SET sort ='2' WHERE id_books = 461
UPDATE lojstrup_books SET sort ='4' WHERE id_books = 471
UPDATE lojstrup_books SET sort ='6' WHERE id_books = 441
UPDATE lojstrup_books SET sort ='8' WHERE id_books = 451
UPDATE lojstrup_books SET sort ='10' WHERE id_books = 501
UPDATE lojstrup_books SET sort ='12' WHERE id_books = 481
UPDATE lojstrup_books SET sort ='14' WHERE id_books = 531
UPDATE lojstrup_books SET sort ='16' WHERE id_books = 431
UPDATE lojstrup_books SET sort ='18' WHERE id_books = 491
UPDATE lojstrup_books SET sort ='20' WHERE id_books = 511
Avatar billede sibbelone Nybegynder
31. januar 2007 - 21:27 #1
Ja og så prøver jeg lige med det rigtige oupput det andet var hvor jeg havde sat $i til 2 begge steder.
46,47,44,45,50,48,53,43,49,51
Array ( [0] => 46 [1] => 47 [2] => 44 [3] => 45 [4] => 50 [5] => 48 [6] => 53 [7] => 43 [8] => 49 [9] => 51 )
UPDATE lojstrup_books SET sort ='1' WHERE id_books = 461
UPDATE lojstrup_books SET sort ='2' WHERE id_books = 471
UPDATE lojstrup_books SET sort ='3' WHERE id_books = 441
UPDATE lojstrup_books SET sort ='4' WHERE id_books = 451
UPDATE lojstrup_books SET sort ='5' WHERE id_books = 501
UPDATE lojstrup_books SET sort ='6' WHERE id_books = 481
UPDATE lojstrup_books SET sort ='7' WHERE id_books = 531
UPDATE lojstrup_books SET sort ='8' WHERE id_books = 431
UPDATE lojstrup_books SET sort ='9' WHERE id_books = 491
UPDATE lojstrup_books SET sort ='10' WHERE id_books = 511
Avatar billede hmortensen Nybegynder
31. januar 2007 - 21:42 #2
Skriver den det rigtige i databasen?

For det ekstra 1-tal kunne være fordi du udskriver mysql_query() kaldet.
Avatar billede pidgeot Nybegynder
31. januar 2007 - 21:46 #3
Det er utvivlsomt derfor, da det passer med resultatet den kommer med når en query går igennem.
Avatar billede sibbelone Nybegynder
31. januar 2007 - 21:51 #4
echo "<br>". $sql =("UPDATE  lojstrup_books SET sort ='$i' WHERE id_books = '$b' ");

'$b' ");
Ændrede dette og nu virker det

smid et svar hvis i vil have nogle point hvis jeg kan finde ud af det
Avatar billede dcheng Novice
01. februar 2007 - 09:11 #5
Hej bare et ekstra input, jeg anbefaler du gør således:

echo "<br>". $sql =("UPDATE  lojstrup_books SET sort ='".$i."' WHERE id_books = ".$b."");

og

$i = $i++;

og

Brug også [0] i dit array!
Avatar billede dcheng Novice
01. februar 2007 - 09:12 #6
Sådan naturligvis:

echo "<br>". $sql =("UPDATE  lojstrup_books SET sort ='".$i."' WHERE id_books = '".$b."'");
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