Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] kilka pól i LIKE
Cod
post
Post #1





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

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


Mój ojciec zaczął ostatnio używać do programowania w Visual Basicu bazy danych SQL. Poprosił mnie, żebym zapytał na forum o taką rzecz:

- w tabeli znajduje się dużo pól, dajmy na to 20, mają one różne nazwy, np.: aaa, bbb, ccc, itd.,
- tata chce zrobić wyszukiwanie w swojej bazie, korzystające z LIKE.

Czy jest jakieś zapytanie, gdzie po przecinku wypisywałoby się pola, które chce się przeszukać, a działałoby ono, jak LIKE?

Takie coś: "aaa LIKE 'xxx' OR bbb LIKE 'xxx' OR ccc LIKE 'xxx'" zupełnie mu nie pasuje. Chciałby to jakoś wszystko uporządkować. Proszę pomóżcie! Bo stary nie daje mi spokoju (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) .
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wankster
post
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 0
Dołączył: 19.04.2003

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


W php byś musiał użyć funkcji explode...
[php:1:cb968f3898]<?php

$gdzie_szukac = 'aaa, bbb, ccc, ddd, eee';
$co_szukac = 'jakaś fraza';

$where = explode( ', ', $gdzie_szukac );

$where_clouse = '';
$i = 0;

foreach( $where AS $field )
{
$spacer = $i == ( count( $where ) - 1 ) ? '' : ' || ';
$where_clouse .= $field . ' LIKE '%' . $co_szukac . '%'' . $spacer;

$i++;
}

$sql = 'SELECT *
FROM nazwa_tabeli
WHERE ( ' . $where_clouse . ' )
ORDER BY aaa ASC
LIMIT 10';

$r = mysql_query( $sql );

while( $row = mysql_fetch_array( $r ) )
{
echo 'aaa : ' . $row['aaa'] . '<br />';
}
?>[/php:1:cb968f3898]
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 06:24