R E K L A M A
P O R E K L A M I E

Wieluń - forum,adresy, informacje, reklama, kluby, restauracje, komunikacja, pkp, pks, ogłoszenia, praca,mapa, firmy, radio




Wieluń - forum, informacje, ogłoszenia Strona Główna Wieluń - forum, informacje, ogłoszenia


FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum  Chat  DownloadDownload

Poprzedni temat :: Następny temat
[php + mysql] to ci dopiero kłopocik
Autor Wiadomość
rafalekjan 
W trakcie przeprowadzki do Wielunia


Pomógł: 13 razy
Dołączył: 26 Sie 2009
Posty: 1171
Skąd: Skąd?
Wysłany: 2010-03-17, 18:05   [php + mysql] to ci dopiero kłopocik

No to tak.. Otrzymuje pomiary z czujników przekazywane do bazy danych.
Mam napisać stronkę dla użytkownika, który może przeglądać rezultaty pomiarów "od kiedyś"-"do kiedyś".
W pierwszym kodzie mam pobrane możliwe daty z bazy. Wybieramy sobie początek i koniec czasu pomiarów:
Kod:

while ($data_tab2=mysql_fetch_array($data_sort2)){
$cid=$data_tab2['id_hub'];
$cdata=htmlspecialchars($data_tab2['time']);
echo "<option value='$cid'>$cdata</option>\n";
}


Ok, a teraz mamy przekierowanie do strony, która wyświetla nam wyniki. No i niestety nie działają mi ograniczenia, nawet dla opcji bez ograniczeń: t>0

Kod:

$where=" WHERE id_hub>'$cid'";
$pomiarki=@mysql_query("SELECT time, msrt FROM testowa ".$where);

while ($pomiary=mysql_fetch_array($pomiarki)){
echo "<tr valign='top'>\n";
$wysw_pomiar=htmlspecialchars($pomiary['msrt']);
echo "<td>$wysw_pomiar</td>\n";
echo "<tr>\n";
}

Jeśli ma ktoś pomysł to chętnie wysłucham.
Aha, no i jeszcze wygląd bazy:
Ostatnio zmieniony przez rafalekjan 2010-03-17, 22:39, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 
   
d@vid 
Ma stragan na targu



Pomógł: 15 razy
Dołączył: 06 Maj 2007
Posty: 659
Skąd: Wieluń
Wysłany: 2010-03-17, 19:27   

ograniczenie rozumiem że masz na myśli id_hub>'$cid'?
A pomiń ten warunek wyświetl bez warunku potem się nad nim pomyśli.
Postaw piwo autorowi tego posta
 
 
   
mqs 
Przejeżdżał przez Wieluń


Dołączył: 07 Maj 2008
Posty: 91
Skąd: Kraków
Wysłany: 2010-03-17, 19:30   

$where = " WHERE id_hub>".$cid;
Postaw piwo autorowi tego posta
 
   
d@vid 
Ma stragan na targu



Pomógł: 15 razy
Dołączył: 06 Maj 2007
Posty: 659
Skąd: Wieluń
Wysłany: 2010-03-17, 19:31   

A chwila moment to zapytanie w ogóle jest dobrze nie masz cudzysłowia zamkniętego. Jeśli chciałbyś umieścić cudzysłów w zmiennej $where musisz użyć slash \" albo zamknąć zapytanie po where.
Najpierw zmień na:
$pomiarki=@mysql_query("SELECT time, msrt FROM testowa ");
Postaw piwo autorowi tego posta
 
 
   
rafalekjan 
W trakcie przeprowadzki do Wielunia


Pomógł: 13 razy
Dołączył: 26 Sie 2009
Posty: 1171
Skąd: Skąd?
Wysłany: 2010-03-17, 19:42   

Wyrzucenie wszystkich zmiennych działa.
Przedtem w warunku było:

$where=" WHERE time>'$cid'";
$pomiarki=@mysql_query("SELECT time, msrt FROM testowa ".$where);

I tu był błąd. Bo wartość odczytywana to było id pomiaru, a nie jego czas. Więc kod, który tam jest wklejony, jest poprawny.
Teraz muszę wymyślić jak to zrobić, żeby pokazywał mi się kalendarz i jak kliknę na jakiś dzień to będzie moje ograniczenie :D
Postaw piwo autorowi tego posta
 
   
d@vid 
Ma stragan na targu



Pomógł: 15 razy
Dołączył: 06 Maj 2007
Posty: 659
Skąd: Wieluń
Wysłany: 2010-03-17, 20:08   

No dobrze ale to where przecież masz poza zapytaniem:
$pomiarki=@mysql_query("SELECT time, msrt FROM testowa ".$where);
a nie np:
mysql_query("SELECT time, msrt FROM testowa WHERE `id`='$id'");

Albo już mi się myli bo ja nigdy nie operowałem na zmiennych w warunku WHERE, zawsze wstawiłem zmienną bezpośrednio WHERE `pole`='$zmienna'
Postaw piwo autorowi tego posta
 
 
   
rafalekjan 
W trakcie przeprowadzki do Wielunia


Pomógł: 13 razy
Dołączył: 26 Sie 2009
Posty: 1171
Skąd: Skąd?
Wysłany: 2010-03-17, 20:24   

d@vid napisał/a:
$pomiarki=@mysql_query("SELECT time, msrt FROM testowa ".$where);

Adres do zmiennej możesz umieścić w dwa sposoby, mój i Twój. Oba są poprawne, a dla mnie mój bardziej czytelny ;)
Postaw piwo autorowi tego posta
 
   
d@vid 
Ma stragan na targu



Pomógł: 15 razy
Dołączył: 06 Maj 2007
Posty: 659
Skąd: Wieluń
Wysłany: 2010-03-17, 20:31   

A no rzeczywiście, sory za zamieszanie nigdy nie robiłem tym sposobem. To teraz w zasadzie już nie wiem co chcesz osiągnąć bo warunek jest poprawny. A co przechowuje zmienna $cid i pola time? Jaki typ w bazie? Tak we fragmencie będzie w ogóle ciężko pomóc jak się nie ma całego kodu i bazy, ale być może jakaś niezgodność typów między zmienną $cid a typem pola w bazie.

Ogólnie z datami jest problem zobacz jaki ja musiałem niedawno myk robić żeby osiągnąć to co chciałem:
mysql_query("INSERT INTO `klienci` (`login`, `haslo`, `info`, `adres`, `wygasnie`, `dodany`) VALUES ('$login', '$haslo', '$info', '$adres', DATE_ADD(NOW(),INTERVAL ". (int)$wygasnie ." DAY), NOW())"

i
$sql2=mysql_query("SELECT `wygasnie` FROM `klienci` WHERE `id`='$id'");
$ile=mysql_fetch_row($sql2);
$sql3=mysql_query("UPDATE `klienci` SET `wygasnie`=DATE_ADD('".$ile[0]."',INTERVAL 30 DAY) WHERE `id`='$id'");

i oczywiście na polu typu DATE.
Postaw piwo autorowi tego posta
 
 
   
rafalekjan 
W trakcie przeprowadzki do Wielunia


Pomógł: 13 razy
Dołączył: 26 Sie 2009
Posty: 1171
Skąd: Skąd?
Wysłany: 2010-03-17, 20:51   

http://156.17.228.79/ogranicz.php

Zobacz :) Lata, aż miło. Z jednym wyjątkiem. Ustaw datę tylko na ograniczeniu 1... :/

[ Dodano: 2010-03-17, 21:00 ]
I chciałbym jeszcze, żeby daty w tym rozwijanym wyborze były ustawione wg kolejności dat.. Jakiś pomysł?:>
Postaw piwo autorowi tego posta
 
   
d@vid 
Ma stragan na targu



Pomógł: 15 razy
Dołączył: 06 Maj 2007
Posty: 659
Skąd: Wieluń
Wysłany: 2010-03-17, 21:13   

Tak, dodaj w zapytaniu: ORDER by`nazwa_pola` [ASC | DESC]

Nie widzę w tym kodzie co napisałeś tego zapytania co wyświetla daty więc podam Ci przykład ze swojego:
mysql_query("SELECT `login`, `haslo`, `adres`, `wygasnie`, `id` FROM `klienci` ORDER by `wygasnie` ")

i ASC jest deafult (rosnąco), niekonieczne do wpisania
Postaw piwo autorowi tego posta
 
 
   
rafalekjan 
W trakcie przeprowadzki do Wielunia


Pomógł: 13 razy
Dołączył: 26 Sie 2009
Posty: 1171
Skąd: Skąd?
Wysłany: 2010-03-17, 21:53   

Ok, działa. Tylko nadal jest jakiś problem z tymi ograniczeniami. Pobaw się troszkę, to zobaczysz o co mi chodzi...
Postaw piwo autorowi tego posta
 
   
d@vid 
Ma stragan na targu



Pomógł: 15 razy
Dołączył: 06 Maj 2007
Posty: 659
Skąd: Wieluń
Wysłany: 2010-03-17, 23:01   

Rafał tylko ja tak w zasadzie nie wiem co Ty chcesz konkretnie osiągnąć?
Wybieramy datę od do i potem z tego zakresu mają się wyświetlić pola z msrt?
A tak w ogóle to wy to macie jakieś obowiązkowe na studiach czy tak to robisz? Bo powiem Ci szczerze że są to dość prymitywne skrypty, na początek nauki w technikum informatycznym...
Ale pewnie zależy od kierunku studiów :)
Postaw piwo autorowi tego posta
 
 
   
rafalekjan 
W trakcie przeprowadzki do Wielunia


Pomógł: 13 razy
Dołączył: 26 Sie 2009
Posty: 1171
Skąd: Skąd?
Wysłany: 2010-03-17, 23:47   

czujniki <=> matryca avr <=> modbus <=> RS232 <=> C++ <=> mysql <=> C++ <=> mysql <=> php

To tak w skrócie ;)
Postaw piwo autorowi tego posta
 
   
d@vid 
Ma stragan na targu



Pomógł: 15 razy
Dołączył: 06 Maj 2007
Posty: 659
Skąd: Wieluń
Wysłany: 2010-03-17, 23:48   

Tak w skrócie jakie zadanie ma skrypt o który pytasz a nie skąd dane w bazie...
Postaw piwo autorowi tego posta
 
 
   
rafalekjan 
W trakcie przeprowadzki do Wielunia


Pomógł: 13 razy
Dołączył: 26 Sie 2009
Posty: 1171
Skąd: Skąd?
Wysłany: 2010-03-17, 23:53   

Ogólnie ma być to projekt inżynierski na zastosowanie złożonych systemów programowania [;
Podstawą jest php, który ma wszystkim sterować, więc jest najważniejszy, a tym zajmuje się ja ;) reszta przekazuje sobie tylko impulsy, wartości pomiarowe lub rozkazy. Nigdy wcześniej nie miałem do czynienia z php czy mysql, więc uczę się od podstaw.

[ Dodano: 2010-03-17, 23:55 ]
Skrypt ma wyselekcjonować odpowiednie pomiary wykonane wcześniej przez czujniki i przefiltrowane przez program w C.
Czyli wybór czujników, częstotliwość pomiarowa, wykaz pomiarów, aproksymacja wyników.
Postaw piwo autorowi tego posta
 
   
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Template Acid v 0.4 modified by Nasedo.


Wieluń Forum dyskusyjne
Kontakt z Administracją Forum | Kontakt z właścicielem domeny
Stomatolog Wieluń Sprawdzenie przebiegu BMW | Iris Trade Łódź Montaż instalacji gazowych | Skracanie linków | Klinika BMW | Notariusz Włochy BMW SPRAWDZENIE PRZEBIEGU,HISTORIA SERWISOWA BMW