Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Zakres danych do bazy
Forum PHP.pl > Forum > Przedszkole
marck
Serdecznie witam.
Potrzebuję pilnie pomocy przy tym prostym ćwieku którego sobie zabiłem. Otóż w formularzu mam dwa pola $p(początek nr) i $k (koniec nr).

Otóż nie mam pomysłu jak zrobić, by wszystkie numery zaczynające się od $p a kończą się na $k. Ma ktoś jakiś pomysł na inserta?

Proszę o pomoc bo temin strasznie mnie goni, a ja niespodziewałem się że będę miał kłopot z taką pierdołą.
nospor
Cytat
jak zrobić, by wszystkie numery zaczynające się od $p a kończą się na $k
Wyobraź sobie osobę, która nie jest toba. Zgadniesz po tym zdaniu, ktore zacytowalem, oco biega? winksmiley.jpg
kefirek
Może tak questionmark.gif

  1. <?php
  2. $p = 3;
  3. $k = 10;
  4. $liczby = range($p, $k);
  5. $wynik = implode(",", $liczby);
  6. $result = mysql_query("INSERT INTO tabela (liczby) VALUES ('".$wynik."')");
  7. ?>
marck
Wielkie dzięki za pomoc, a temu co się tak wymądrza, życzę by także znalazł życzliwą osobę która mu pomoże, gdy ta pomoc będzie mu potrzebna. Jak to jest być bufonem?
Zawsze rozwalają mnie posty typu wejdź sobie na google i znajdź - A co jak właśnie google mnie tu skierowało? Więc albo chcesz pomóc, albo strugaj psorka w dziale dla wtajemniczonych. Mam nadzieję, iż jako moderator potrafisz wyczuć sarkazm.
nospor
Cytat
, a temu co się tak wymądrza, życzę by także znalazł życzliwą osobę która mu pomoże, gdy ta pomoc będzie mu potrzebna. Jak to jest być bufonem?
Dziecko drogie... Ja sie nie wymadrzam, tylko grzecznie ci napisalem ze nic nie kumam z tego co napisales. Moj post mial byc prosba, bys opisal jasniej oco ci chodzi. Ale widze ostatnio na forum wpada masa dzieciakow, ktorych jak powiesz ze nie piszą po ludzku to już sie burmuszą jakby lizaka i mama zabrala... zalamka.
marck
No widzisz- teraz wiem o co ci chodzi a za błąd przepraszam, jednak kefirek się domyślił. Czasem brakuje kawałka układanki w głowie i trzeba się zwrócić o pomoc, w myśl zasady - kto pyta nie błądzi. Szczególnie gdy czas goni. A dzieckiem byłem 30 i parę wiosen temu.
nospor
Cytat
Szczególnie gdy czas goni
Tym bardziej powinno sie opisywac problem dokladnie. Bo jak źle opiszesz to bedziesz dluzej czekal lub wogole sie nie doczekasz. Teraz miales farta bo kefirek mądry chlopak i na wrozbiarstwo chodzil. Niestety nie kazdego stac na takie kursy winksmiley.jpg

na przyszlosc tez nie jedź po ludziach jak cos ci sie umysli...

Cytat
A dzieckiem byłem 30 i parę wiosen temu
no coz, jak sie zachowujesz tak cię piszą winksmiley.jpg
marck
Nie wiem czemu ale gdy z formularza wyssałem:
$p=1
$k=8
do bazy mi trafiło tylko:
2
2
1
może gdzieś zobaczycie błąd?
CODE




include('conect.php');
if($_GET['ok']=='ok'){
$p=$_GET['pocz'];
$k=$_GET['kon'];

$liczby = range($p, $k);
$wynik = implode(",", $liczby);
$result = mysql_query("INSERT INTO przyk(nr) VALUES ('".$wynik."')");

}
?>
<form action='index.php'>
<legend>zakres danych</legend>
<input type='text' name='pocz'><br>
<input type='text' name='kon'><br><input type='submit' name='ok' value='ok'>
</form>
</body>
</html>


dodam dla jasności, że chciałbym aby do bazy trafiły wszystkie wpisy z zakresu pomiędzy $p i $k. Próbowałem wykombinować coś z inkrementacją, ale wielka lipa mi wychodzi
nospor
uzywaj wlasciwego bbcode

  1. <?php
  2. $p=$_GET['pocz'];
  3. $k=$_GET['kon'];
  4.  
  5. $liczby = range($p, $k);
  6. print_r($liczby);
  7. $wynik = implode(",", $liczby);
  8. $sql= "INSERT INTO przyk(nr) VALUES ('".$wynik."')";
  9. echo $sql;
  10. ?>

Co ci wyswietlilo?
marck
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 ) INSERT INTO przyk(nr) VALUES ('1,2,3,4,5,6,7,8,9,10')

Tylko to ale wciąż nie dodaje do bazy tych 10 rekordów. Nie wiem jak zmusić by w bazie powstało tych 10 rekordów. W bazie mam 2 pola: id(autoinc), oraz nr. Poprzednio wstawiało tylko pierwszy rekord zamiast 10 kolejnych. To ma być do wprowadzania nr beczek. Proszę sobie wyobrazić ludka, który będzie musiał wklepać 150 nr i się nie machnąć
nospor
no to moze masz blad zapytania z jakiegos powodu:
  1. <?php
  2. $result = mysql_query("INSERT INTO przyk(nr) VALUES ('".$wynik."')") or die(mysql_error());
  3. ?>
marck
Niestety, błąd musi tkwić w samym zapytaniu INSERT, gdyż nawet jeśli bezpośrednio w phpMyAdminie dam to zapytanie:
INSERT INTO przyk(nr) VALUES ('1,2,3,4,5,6,7,8,9,10')

to wstawia mi tylko pierwszą wartość - czyli 1. Niewiarygodne? Proszę wkleić to zapytanie w tabelkę z 2 kolumnami:
id(auto),nr(int), chętnie poznam opinię, bo jeśli będzie działać to znaczyłoby, że baza jest uwalona. Myślę, że winę tu ponosi indeksowane pole id.

Mówiłem, że to straszny zonk
erix
Ale jak ma wstawiać inne wartości, skoro w deklaracji pól podajesz tylko jedną kolumnę...?

Podstawy SQL. tongue.gif
marck
No to jak mam wstawić zakres do bazy gdy id jest autoinc? masz pomysł? mi po głowie chodzi jakaś pętla - albo na szyję albo w php. Chciałbym, aby do zmiennej startowej np 1, automatycznie dodawało się +1 aż nie osiągnie zmiennej końcowej. Czy to takie trudne?

Potrzebuję coś jak to:
CREATE PROCEDURE dorepeat(p1 INT)
-> BEGIN
-> SET @x = 0;
-> REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT;
-> END

tylko po ludzku.
nospor
Cytat
INSERT INTO przyk(nr) VALUES ('1,2,3,4,5,6,7,8,9,10')
hehe
Tym zapytaniem wkladasz jeden rekord, ktory jest tekstem o treci: '1,2,3,4,5,6,7,8,9,10'. winksmiley.jpg
To zapytanie powinno wygladac tak:
  1. INSERT INTO przyk(nr) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)

Poradzisz juz sobie sam?
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.