Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Coś nie tak z zapytaniem
djair
post 9.03.2006, 10:02:04
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.08.2005

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


witam...mam maly problem....a mianowicie jest sobie formularz w ktorym sa 2 pola do wpisania i na podstawie wpisanych danych chce wyszukac dane z bazy...podaje kod...prosze o wskaznie w ktorym miejscu mam blad.

  1. <?php
  2.  
  3.  $numer=$HTTP_POST_VARS['n1'];
  4. $numer2=$HTTP_POST_VARS['n2'];
  5.  
  6. $zapytanie = "select * from wodomierze where wodomierze.numer like '%".$numer."%' and wodomierze.numer like '%".$numer2."%'";
  7.  
  8. ?>



jak wpisze jeden to wyswietla dobrze ale w przypadku dwoch wyswietla zero...
Go to the top of the page
+Quote Post
nospor
post 9.03.2006, 10:05:30
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




bo ty daleś and na jedno pole . jesli to pole zawiera jakis numer i jednoczesnie to pole zawiera inny numer. Tak ma byc? Najwyerazniej to pole nie zawiera jednoczenie dwoch numerow. moze chiales uzyc or ?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
krzyszbi
post 9.03.2006, 10:08:33
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


witam

  1. <?php
  2.  
  3.  $numer=$HTTP_POST_VARS['n1'];
  4. $numer2=$HTTP_POST_VARS['n2'];
  5.  
  6. $zapytanie = "select * from wodomierze where wodomierze.numer like '%".$numer."%' OR wodomierze.numer like '%".$numer2."%'";
  7.  
  8. ?>

pewnie o to chodziło
powinno śmigać
i poczytaj sobie o operatorach logicznych ( nie zaszkodzi a może pomóc) >> tutaj <<


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
djair
post 9.03.2006, 10:08:57
Post #4





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.08.2005

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


thx...ale gafe strzelilem;)) za duzo przed kompem chyba czasu spedzam ...pozdro:)


Mam jeszcze jedno pytanie....chce zrobi tak ze jezeli uzytkownik wpisze tylko jeden numer (a drugie pole zostawi wolne) to wtedy wykonuje sie zapytanie 1 a jezeli wpisze dwa numer(wypelni dwa pola w formularzu) wykonuje sie zapytanie o 2...

  1. <?
  2. if (isset($HTTP_POST_VARS['n1']) && isset($HTTP_POST_VARS['n2']))
  3. {
  4. $numer=$HTTP_POST_VARS['n1'];
  5. $numer2=$HTTP_POST_VARS['n2'];
  6.  
  7. $zapytanie = "select * from wodomierze where wodomierze.numer like '%".$numer."%' or wodomierze.numer like '%".$numer2."%'";
  8. include('wyniki.php');
  9. }
  10.  
  11. else
  12.  
  13. {
  14. $numer=$HTTP_POST_VARS['n1'];
  15. if (!$numer)
  16. {
  17.  echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.';
  18. echo '<p align="center"><a href="wyszukaj.php"><b>Wyszukaj Ponownie</b>';
  19.  exit;
  20. }
  21.  
  22. $zapytanie = "select * from wodomierze where wodomierze.numer like '%".$numer."%'";
  23. include('wyniki.php');}
  24.  
  25. ?>


dziala dla dwocha ale dla jednego wyswietla cala tabele z bazy sad.gif

Ten post edytował djair 9.03.2006, 10:26:28
Go to the top of the page
+Quote Post
nospor
post 9.03.2006, 10:43:51
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2.  
  3. $where = array();
  4. if (!empty($_POST['n1'])) $where[] = "wodomierze.numer like '%".$_POST['n1']."%'";
  5. if (!empty($_POST['n2'])) $where[] = "wodomierze.numer like '%".$_POST['n2']."%'";
  6.  
  7. $sql = 'select * from wodomierze ';
  8. if (!empty($where))
  9. $sql.=implode(' or ', $where);
  10.  
  11. ?>
smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
krzyszbi
post 9.03.2006, 10:44:42
Post #6





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


witam
pewnie chciałeś coś takiego osiągnąć
  1. <?
  2. if (!empty($_POST_['n1']) && !empty($_POST['n2']))
  3. {
  4. $zapytanie = "select * from wodomierze where wodomierze.numer like '%".$_POST['n1']."%' or wodomierze.numer like '%".$_POST['n2']."%'";
  5. }
  6.  
  7. elseif (!empty($_POST_['n1'])
  8. {
  9. $zapytanie = "select * from wodomierze where wodomierze.numer like '%".$_POST['n1']."%'";
  10. }
  11. else
  12. {
  13. {
  14.  echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.';
  15. echo '<p align="center"><a href="wyszukaj.php"><b>Wyszukaj Ponownie</b>';
  16.  exit;
  17. }
  18. }
  19. include('wyniki.php');}
  20. ?>

narazie
sposób ~nospor-a jest lepszy (przyznaje) bo jest bardzo elastyczny w rozbudowie/przebudowie

Ten post edytował krzyszbi 9.03.2006, 10:51:20


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
djair
post 9.03.2006, 13:48:04
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.08.2005

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


ok...ladnie mi wyswietla nawet 10 roznych (czyli 30 wierszy bo z kazdego numeru sa 3 pomiary) ale teraz chcialbym z tego stworzyc RTF (wczesniej robilem to w taki sposob ze zapisywalem wynik do zmiennej sesji a pozniej korzystalem z szablonu stworzonego w rtf i podmieniaem dane) ...problem w tym jak zrobi zeby mi te wartosci zapisal do sesji

  1. <?php
  2. $wynik = mysql_query($zapytanie);
  3. $ile_znalezionych = mysql_num_rows($wynik);
  4.  
  5.  echo '<p>Ilość znalezionych pozycji: '.$ile_znalezionych.'</p>';
  6.  
  7.  echo' <table border = 1 width = 100% cellspacing =0>';
  8.  echo' <th bgcolor="#cccccc"><font size="2pt" color="navy">L.p.</th>';
  9.  echo' <th bgcolor="#cccccc"><font size="2pt" color="navy">Producent<br>typ<br>numer</font></th>';
  10.  echo' <th bgcolor="#cccccc"><font size="2pt" color="navy">Natężenie przepływu</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Wskaz. wodom. pocz.</font></th>';
  11.  echo' <th bgcolor="#cccccc"><font size="2pt" color="navy">Wskaz. wodom. kon.</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Wskaz. wodow. kon. H</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Cisn. inst. MPa</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Temp. pocz.</font></th>';
  12.  echo' <th bgcolor="#cccccc"><font size="2pt" color="navy">Temp. kon.</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Czas pomiaru</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Temp. średnia</font></th>';
  13.  echo' <th bgcolor="#cccccc"><font size="2pt" color="navy">Objetosc nominalna</th><th bgcolor="#cccccc"><font size="2pt" color="navy">Objetosc poprawna</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Strumien obj.</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Data</font></th><th bgcolor="#cccccc"><font size="2pt" color="navy">Błąd względny</font></th>';
  14.  echo' </tr>';
  15. for ($i=0; $i <$ile_znalezionych; $i++)
  16. {
  17.  $wiersz = mysql_fetch_array($wynik);
  18.  
  19.  <th bgcolor="#FFFFFF"><font size="2pt">'.($i+1).'
  20.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['producent'].'<br>'.$wiersz['typ'].'<br>'.$wiersz['numer'].'
  21.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['nat_przep_q'].'
  22.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['ws_p_wod'].'
  23.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['ws_k_wod'].'
  24.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['ws_wod_k'].'
  25.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['cisn'].'
  26.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['temp_p'].'
  27.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['temp_k'].'
  28.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['czas_pom'].'
  29.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['temp_s'].'
  30.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['obj_nomi'].'
  31.  <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['obj_pop_wz'].'
  32.  <th bgcolor="#FFFFFF"><font size="2pt">'.number_format($wiersz['str_obj'],2).'
  33. <th bgcolor="#FFFFFF"><font size="2pt">'.$wiersz['data'].'
  34.  <th bgcolor="#FFFF00"><font size="2pt">'.number_format($wiersz['blad_wz'],2). '
  35.  </th></font></tr>'; } ?>


prosze o pomoc
Go to the top of the page
+Quote Post
kszychu
post 9.03.2006, 14:33:53
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Na końcu pętli for dajesz $_SESSION[$i++] = $wiersz;
A, i przed pętlą zdefiniuj $i = 0;


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
djair
post 13.03.2006, 08:14:08
Post #9





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.08.2005

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


Cytat
  Na końcu pętli for dajesz $_SESSION[$i++] = $wiersz;
A, i przed pętlą zdefiniuj $i = 0;


witam...w jaki sposob wyswietlic teraz wszystkie elementy zapisane w sesji ? wyswietlam i tylko elementy z ostatniej petli!!!
Go to the top of the page
+Quote Post
nospor
post 13.03.2006, 08:17:05
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A w jakis posob ty je teraz wyswietlasz?
  1. <?php
  2.  
  3. foreach ($_SESSION as $i => $row){
  4. echo '<br />wiersz numer '.$i.':<br />';
  5. print_r($row);
  6. }
  7. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
djair
post 13.03.2006, 09:57:07
Post #11





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.08.2005

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


czesc...cos nie tak to chula...moze innaczej zapytam...potrzebuje stworzyc taki mechanizn poprzez ktory zadaje zapytanie z formularza, wyswietlaja mi sie wyniki z bazy, z ktorych generuje RTF(mam stworzony szablon) a nastepnie zapisuje do drugiej bazy...mozecie mi jakos pomoc exclamation.gif! ...pozdro

Ten post edytował djair 13.03.2006, 09:57:47
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: 14.06.2025 - 05:43