Avatar billede kongknabe Nybegynder
17. september 2009 - 01:47 Der er 9 kommentarer og
1 løsning

Lille Array problem.

Hejsa..

Sidder og roder med noget PHP og må erkende at jeg fatter hat af Arrays, og hvordan man tilgår dem i PHP.

Skal flytte data fra en tabel til en anden og har prøvet med koden her under. Problemet er selvfølgelig at den flytter den samme tabel-række (den første) hvergang, i stedet for at løbe rækkerne igennem i den tabel jeg henter fra...


Tænker det er let løst, men jeg forstår det ikke lige...

<?php

$sql = "SELECT * FROM klodsmajor";

$result = mysql_query($sql);

$count=mysql_num_rows($result);

$counter = 0;
$data = mysql_fetch_array( $result );

while( $counter < $count ){
   
    $cat_name = "" . $data['category'] . "";
   
    mysql_query("INSERT INTO ads (ad_cat_name) VALUES ('$cat_name')");

    $counter += 1;
}

?>
Avatar billede arne_v Ekspert
17. september 2009 - 02:04 #1
mysql_fetch_array kaldet skal nok ind i while løkken !
Avatar billede kongknabe Nybegynder
17. september 2009 - 02:09 #2
Det virker desværre heller ikke...
Avatar billede kongknabe Nybegynder
17. september 2009 - 02:30 #3
Hm.. tænker jeg måske skal over i følgende i stedet:

$data = array();
while ($rows = mysql_fetch_array ($result, MYSQL_ASSOC)) array_push ($data, $rows);

Men ved stadig ikke hvordan jeg så looper Arrayet igennem.
Avatar billede kongknabe Nybegynder
17. september 2009 - 02:34 #4
Fandt selv løsningen nu :)

<?php

$sql = "SELECT * FROM klodsmajor";

$result = mysql_query($sql);

$count=mysql_num_rows($result);

$counter = 0;
$shop_data = array();
while ($rows = mysql_fetch_array ($result, MYSQL_ASSOC)) array_push ($shop_data, $rows);
   
foreach( $shop_data as $key => $data){
   
    $cat_name = "" . $data['category'] . "";
   
    mysql_query("INSERT INTO ads (ad_cat_name) VALUES ('$cat_name')");

    $counter += 1;
}

?>
Avatar billede arne_v Ekspert
17. september 2009 - 02:47 #5
Du har da puttet mysql_fetch_array ind i while løkken !!
Avatar billede kongknabe Nybegynder
17. september 2009 - 02:54 #6
Tjaa.. Det har jeg måske.. Men har jo også tilføjet en foreach()... Men beklager hvis det var det du mente.. Forstod det ikke lige :)
Avatar billede arne_v Ekspert
17. september 2009 - 03:06 #7
Den foreach er ikke nødvendig.

Prøv:

<?php
$sql = "SELECT * FROM klodsmajor";
$result = mysql_query($sql);
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
    $cat_name = $row['category'];
    mysql_query("INSERT INTO ads (ad_cat_name) VALUES ('$cat_name')");
}
?>
Avatar billede kongknabe Nybegynder
17. september 2009 - 15:39 #8
Ahh nu er jeg med, og mange tak for hjælpen... Kan jeg komme til at give dig point selvom tråden egentlig er lukket?
Avatar billede arne_v Ekspert
17. september 2009 - 15:51 #9
Kun ved ar bruge teknikken i:
  http://www.eksperten.dk/faq#faq-5-3
Avatar billede kongknabe Nybegynder
17. september 2009 - 16:09 #10
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