Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapisywanie do bazy liczb po przecinku
Maciek316
post 26.06.2012, 20:31:58
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 31.03.2012

Ostrzeżenie: (0%)
-----


Witam jak zapisać do bazy danych liczby po przecinku?
Chcę żeby było np 1,1,1,1.
Mam takie zapytanie żeby mi pobierało z bazy danych 4 rekordy, a potem chce je wgrać do drugiej tabeli.
  1. $liberty= mysql_query("select * from liberty ORDER BY RAND() LIMIT 0,4");

Pobiera mi 4 rekordy, ale potem nie mam pojęcia jak to zapisać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
pitu
post 27.06.2012, 01:10:00
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

Ostrzeżenie: (0%)
-----


  1.  
  2. if ($liberty) {
  3. while ($dane = mysql_fetch_array($liberty)) {
  4. $wynik .=$dane["nazwa_kolumny"].','; //nazwa kolumny = nazwa kolumny, z której chcesz dane
  5. }
  6. $wynik = substr($wynik, 0, -1);
  7.  
  8. mysql_query("INSERT INTO nazwa_tabeli (nazwa_kolumny) VALUES ($wynik);");
  9. }
  10.  


Ten post edytował pitu120 27.06.2012, 01:11:38


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
Maciek316
post 27.06.2012, 08:08:37
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 31.03.2012

Ostrzeżenie: (0%)
-----


Niestety wyskoczył mi błąd (zapytanie nie działało więc dałem mysql_error):
  1. Column count doesn't match value count at row 1

Poczytałem o tym, i pisało że błąd wyskakuje wtedy, gdy wymieniłem więcej kolumn niż mam danych.
Ale przecież ja wymieniłem 1 do 1.

  1. mysql_query("INSERT INTO users (gra) VALUES ($wynik)")or die (mysql_error());

Go to the top of the page
+Quote Post
phpion
post 27.06.2012, 08:29:08
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Dodaj '. Teraz zapewne ciąg 1,1,1 traktowany jest jako 3 osobne wartości, a wstawiasz je do 1 kolumny.
  1. mysql_query("INSERT INTO users (gra) VALUES ('$wynik')")or die (mysql_error());
Go to the top of the page
+Quote Post
Maciek316
post 27.06.2012, 08:50:36
Post #5





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 31.03.2012

Ostrzeżenie: (0%)
-----


Hmm, czyli dobrze myślałem biggrin.gif
Jednak, gdy to zrobiłem wyskoczył kolejny błąd:
  1. Duplicate entry '' for key 'email'

Go to the top of the page
+Quote Post
pitu
post 27.06.2012, 18:57:37
Post #6





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

Ostrzeżenie: (0%)
-----


Na kolumnę email masz pewnie założony unikalny klucz. Każdy rekord musi posiadać unikalną wartość. W twoim przypadku próbujesz dodać rekord z pustą wartością, która za pewne występuje w innym rekordzie.


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
Maciek316
post 27.06.2012, 19:14:45
Post #7





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 31.03.2012

Ostrzeżenie: (0%)
-----


czyli mam każdej tabelce nadać unikalną wartość?
Go to the top of the page
+Quote Post
mmmmmmm
post 27.06.2012, 21:05:50
Post #8





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


  1. INSERT INTO nowa_tabela(pole) SELECT GROUP_CONCAT(pole) FROM (SELECT pole FROM tabela ORDER BY Rand() LIMIT 4) X
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 18:16