Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jakie zapytanie do MySQL zeby pobrac pierwsze 200 znakow...
zuku
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 17.04.2002
Skąd: Jastrzębie Zdrój

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


Jakie zapytanie do MySQL zeby pobrac pierwsze 200 znakow z tabeli?

Znalazlem:

LEFT(str,len)
Returns the leftmost len characters from the string str:
mysql> SELECT LEFT('foobarbar', 5);
-> 'fooba'


Ale nie wiem jak sformulowac pytanie :/

Przeszukalem kilkadziesiat juz stron na forum.php.pl ale nic konkretnego.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Nie wiem jak to wpływa na wydajność (ale raczej znikomy wpływ (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) ale radze używać aliasów, np. tak:
[sql:1:273b286486]SELECT SUBSTRING(pole,1,200) AS fragment FROM tabela[/sql:1:273b286486]
ponieważ potem w php jest łatwiej się odwoływać i uniezależniamy się od ilości pól - zawsze będziemy się tak samo odwoływać.

Przykłąd:
[php:1:273b286486]<?php
$q=mysql_query("SELECT SUBSTRING(pole,1,200) AS fragment FROM tabela");

/*
** Bez aliasu
*/

$t=mysql_fetch_array($q);
echo $t["SUBSTRING(pole,1,200)"];

// lub

$t=mysql_fetch_row($q);
echo $t[0];

/*
** Z aliasem
*/

$t=mysql_fetch_array($q);
echo $t["fragment"];
?>[/php:1:273b286486]

Teraz jeżeli dołożymy do powyższego zapytania jedno pole przed tą funkcję, to środkowy przykłąd zwróci co innego niż oczekujemy.
Dlatego warto stosowaś " AS costam":
- skracamy sobie zapis
- uniezależniamy się od ilości pobranych kolumn i wartości w funkcjach
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: 9.10.2025 - 00:07