Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]pobieranie i zapisywanie do bazy mysql.
Forum PHP.pl > Forum > Przedszkole
miras
Witam... mam pewien problem, a mianowicie muszę pobrać dane z tabeli ' druzyny' a dokladniej nazwy tych 'druzyn' (są 32 drużyny) i każda drużyna musi zostać wstawiona do komórki w tabeli 'wygrane' - trochę zacząłem, ale nie wiem jak to skończyć.. proszę o jakąś rade/pomoc - dzięki z góry!

  1. <?php
  2. $wynik = mysql_query("SELECT * FROM druzyny")
  3. or die('Błąd zapytania');
  4. if(mysql_num_rows($wynik) > 0) {
  5. while($r = mysql_fetch_assoc($wynik)) {
  6. $r['nazwa']
  7. mysql_query("INSERT INTO `wygrane` (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) VALUES('$1','$2','$3','$4','$5','$6','$7','$8','$9','$10','$11','$12','$13','$14','$15','$16','$17','$18','$19','$20','$21','$22','$23','$24','$25','$26','$27','$28','$29','$30','$31','$32')") or die("ERROR!");
  8. }
  9.  
  10. }
  11.  
  12. ?>
Axexis
Co chcesz osiągnąć? Określ się dokładniej, najlepiej na przykładzie.

ps. mysql_query w pętli while przy nawet 32 drużynach zabije Ci serwer.
miras
hm, to nie mam pojęcia jak już to zrobić, a chcę osiągnąć 'coś' takiego: mam 32 drużyny w tabeli drużyny i mam 32 puste komórki w tabeli 'wygrane' i wszystkie komórki z tabeli 'drużyny' chcę przenieść do komórek z tabeli 'wygrane'
troche nagmatwałem, ale mam nadzieje że ktoś zrozumie..
Axexis
pytanie pierwsze: SELECT * FROM druzyny (zakladam, ze nazwa druzyny odpowiada kolumnie o nazwie "nazwa" ;p)

  1. $query = "INSERT INTO `wygrane` (...) VALUES (";
  2. $i=0;
  3. while($druzyna = mysql_fetch_assoc($druzyny_query))
  4. {
  5. $i++;
  6. $query .= $druzyna['nazwa'];
  7. if($i<mysql_num_rows($druzyny))
  8. $query .= ",";
  9. }
  10. $query .= ");";
  11. mysql_query($query);


oczywiscie kod jest pisany troche skrotami myslowymi.
przy czym kod jest bardzo nieefektywny, zamiast tego szukałbym innego rozwiązania na Twoim miejscu.
miras
wykombinowałem jeszcze coś takiego, tylko, że przy uruchomieniu tego wywala właśnie ten opcjonalny 'ERROR' ale gdy wyświetlam dane z tej tablicy to jest wszystko ok, więc w czym tkwi problem? za duzo tego wszystkiego czy coś ?

  1. <?php
  2. $i=0;
  3. $wynik = mysql_query("SELECT * FROM druzyny")
  4. or die('Błąd zapytania');
  5. if(mysql_num_rows($wynik) > 0) {
  6. while($r = mysql_fetch_assoc($wynik)) {
  7. $i++;
  8. $losowanie[$i]=$r['nazwa'];
  9.  
  10.  
  11. }
  12.  
  13. }
  14. mysql_query("INSERT INTO `wygrane` (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
  15. VALUES('$losowanie[1]','$losowanie[2]','$losowanie[3]','$losowanie[4]','$losowanie[5]','$losowanie[6]','$losowanie[7]','$losowanie[8]','$losowanie[9]','$losowanie[10]','$losowanie[11]','$losowanie[12]','$losowanie[13]','$losowanie[14]','$losowanie[15]','$losowanie[16]','$losowanie[17]','$losowanie[18]','$losowanie[19]','$losowanie[20]','$losowanie[21]','$losowanie[22]','$losowanie[23]','$losowanie[24]','$losowanie[25]','$losowanie[26]','$losowanie[27]','$losowanie[28]','$losowanie[29]','$losowanie[30]','$losowanie[31]','$losowanie[32]')") or die("ERROR!");
  16. ?>

Axexis
... or die(mysql_error());
miras
no to jak mam to rozłożyć, żeby mi nie zabijało tego serwera?


@@@

Nawet jak robie tylko 8 zapytań to dalej mi go 'zabija'..

  1. <?php
  2.  
  3. mysql_query("INSERT INTO `wygrane` (1, 2, 3, 4, 5, 6, 7, 8) VALUES('$losowanie[1]','$losowanie[2]','$losowanie[3]','$losowanie[4]','$losowanie[5]','$losowanie[6]','$losowanie[7]','$losowanie[8]')") or die("ERROR!");
  4. ?>


@ REFRESH - Pomoże ktoś?

Może błąd jest w strukturze tabeli ?

  1. CREATE TABLE `wygrane` (
  2. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
  3. `1` VARCHAR( 32 ) NOT NULL ,
  4. `2` VARCHAR( 32 ) NOT NULL ,
  5. `3` VARCHAR( 32 ) NOT NULL ,
  6. `4` VARCHAR( 32 ) NOT NULL ,
  7. `5` VARCHAR( 32 ) NOT NULL ,
  8. `6` VARCHAR( 32 ) NOT NULL ,
  9. `7` VARCHAR( 32 ) NOT NULL ,
  10. `8` VARCHAR( 32 ) NOT NULL ,
  11. `9` VARCHAR( 32 ) NOT NULL ,
  12. `10` VARCHAR( 32 ) NOT NULL ,
  13. `11` VARCHAR( 32 ) NOT NULL ,
  14. `12` VARCHAR( 32 ) NOT NULL ,
  15. `13` VARCHAR( 32 ) NOT NULL ,
  16. `14` VARCHAR( 32 ) NOT NULL ,
  17. `15` VARCHAR( 32 ) NOT NULL ,
  18. `16` VARCHAR( 32 ) NOT NULL ,
  19. `17` VARCHAR( 32 ) NOT NULL ,
  20. `18` VARCHAR( 32 ) NOT NULL ,
  21. `19` VARCHAR( 32 ) NOT NULL ,
  22. `20` VARCHAR( 32 ) NOT NULL ,
  23. `21` VARCHAR( 32 ) NOT NULL ,
  24. `22` VARCHAR( 32 ) NOT NULL ,
  25. `23` VARCHAR( 32 ) NOT NULL ,
  26. `24` VARCHAR( 32 ) NOT NULL ,
  27. `25` VARCHAR( 32 ) NOT NULL ,
  28. `26` VARCHAR( 32 ) NOT NULL ,
  29. `27` VARCHAR( 32 ) NOT NULL ,
  30. `28` VARCHAR( 32 ) NOT NULL ,
  31. `29` VARCHAR( 32 ) NOT NULL ,
  32. `30` VARCHAR( 32 ) NOT NULL ,
  33. `31` VARCHAR( 32 ) NOT NULL ,
  34. `32` VARCHAR( 32 ) NOT NULL ,
  35. PRIMARY KEY ( `id` )
  36. );
nospor
Przecież ci napisano w poprzednim poście.....
nie: or die("ERROR!");
a: or die(mysql_error());
zobaczysz konkretny błąd a nie bzdurny ERRROR
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.