Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PDO] like
prolam
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 7.07.2006

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


Witam,
Mam problem w LIKE w pdo, zreszta nei bede sie produkowal, tylko lepiej wstawie kod, bedzie lepiej obrazowal cala sprawe

  1. <?php
  2. public function wyciagnij()
  3.  {
  4. global $pdo, $lang;
  5.  
  6. $tryb = ( (!isset($_GET['data'])) || (empty($_GET['data'])) ) ? 1 : 0;
  7. $dane = array();
  8.  
  9. try {
  10.  if ($tryb)
  11.  {
  12. $zap = $pdo->prepare('SELECT * FROM '.PREFIX.'imprezy WHERE data >= CURDATE()');
  13.  }
  14.  else
  15.  {
  16. $d = explode('-',$_GET['data']);
  17. $zap = $pdo->prepare("SELECT * FROM ".PREFIX."imprezy WHERE data like :rok+'-'+:miesiac+'-__'");
  18. $zap->bindValue(':rok',$d[0],PDO::PARAM_INT);
  19. $zap->bindValue(':miesiac',$d[1],PDO::PARAM_INT);
  20.  
  21.  }
  22.  $zap->execute();
  23.  $dane = $zap->fetchall(PDO::FETCH_ASSOC);
  24.  $zap->closeCursor();
  25.  unset($zap);
  26. }
  27. catch(PDOException $e)
  28. {
  29.  die($lang['blad']['baza'] .' w pliku: '. $e->getFile() .' , w lini: '.$e->getLine());
  30. }
  31.  
  32. return $dane;
  33.  }
  34. ?>


i ... wyswietla wszystki rekordy zamiast wybranych.

Prosze o pomoc, z gory dzieki
Go to the top of the page
+Quote Post
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Nie wiem czy jest mozliwosc takiego zbindowaina w PDO ale jak juz laczysz string to przez ||
Go to the top of the page
+Quote Post
prolam
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 7.07.2006

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


motyla noga, szkoda:/ dzieki za rade
Go to the top of the page
+Quote Post
splatch
post
Post #4





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


W standardzie MySQL jest funkcja CONCAT - możesz skorzystać z niej.
Go to the top of the page
+Quote Post
NuLL
post
Post #5





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Maly tip i OT jesli moge - lepiej zapisac do postaci INT- calosc bedzie dzialac szybciej - LIKE jest z jednym z wolniejszych f-cji MySQL.
Go to the top of the page
+Quote Post
Ace
post
Post #6





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

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


hm, a moze po prostu zle podchodzisz do rzeczy?

data like :rok+'-'+:miesiac+'-__'

data w formacie rrrr-mm-dd, wiec po co kombibnowac, mozesz skorzystac z funkcji mysql,a i dac kilka warunkow gdzie miesiac(data) = :miesiac i gdzie rok(data) = :rok ... musisz tylko znalezc funckje ktore wyciagaja z daty miesiac i rok - nie znam ich nazw na pamiec.
Go to the top of the page
+Quote Post
SongoQ
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@Ace Hehe dokladnie to samo mialem pisac. Najprosztsze rozwiazanie jest najlepsze.

@NuLL Oczywiscie ze tak jest ale w przypadku tej struktury to operacja na takim czy takim typie nic nie da.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 11.10.2025 - 09:10